diff options
Diffstat (limited to 'chromium/net/http/http_network_transaction.h')
-rw-r--r-- | chromium/net/http/http_network_transaction.h | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/chromium/net/http/http_network_transaction.h b/chromium/net/http/http_network_transaction.h index 64f4ee8fc70..9f3e95e28ee 100644 --- a/chromium/net/http/http_network_transaction.h +++ b/chromium/net/http/http_network_transaction.h @@ -17,15 +17,15 @@ #include "crypto/ec_private_key.h" #include "net/base/net_error_details.h" #include "net/base/net_export.h" -#include "net/base/network_throttle_manager.h" #include "net/base/request_priority.h" #include "net/http/http_auth.h" #include "net/http/http_request_headers.h" #include "net/http/http_response_info.h" #include "net/http/http_stream_factory.h" +#include "net/http/http_stream_request.h" #include "net/http/http_transaction.h" #include "net/log/net_log_with_source.h" -#include "net/proxy_resolution/proxy_service.h" +#include "net/proxy_resolution/proxy_resolution_service.h" #include "net/socket/connection_attempts.h" #include "net/ssl/channel_id_service.h" #include "net/ssl/ssl_config_service.h" @@ -41,7 +41,6 @@ class BidirectionalStreamImpl; class HttpAuthController; class HttpNetworkSession; class HttpStream; -class HttpStreamRequest; class IOBuffer; class ProxyInfo; class SSLPrivateKey; @@ -49,8 +48,7 @@ struct HttpRequestInfo; class NET_EXPORT_PRIVATE HttpNetworkTransaction : public HttpTransaction, - public HttpStreamRequest::Delegate, - public NetworkThrottleManager::ThrottleDelegate { + public HttpStreamRequest::Delegate { public: HttpNetworkTransaction(RequestPriority priority, HttpNetworkSession* session); @@ -127,11 +125,10 @@ class NET_EXPORT_PRIVATE HttpNetworkTransaction void OnQuicBroken() override; void GetConnectionAttempts(ConnectionAttempts* out) const override; - // NetworkThrottleManager::Delegate methods: - void OnThrottleUnblocked(NetworkThrottleManager::Throttle* throttle) override; - private: FRIEND_TEST_ALL_PREFIXES(HttpNetworkTransactionTest, ResetStateForRestart); + FRIEND_TEST_ALL_PREFIXES(HttpNetworkTransactionTest, + CreateWebSocketHandshakeStream); FRIEND_TEST_ALL_PREFIXES(SpdyNetworkTransactionTest, WindowUpdateReceived); FRIEND_TEST_ALL_PREFIXES(SpdyNetworkTransactionTest, WindowUpdateSent); FRIEND_TEST_ALL_PREFIXES(SpdyNetworkTransactionTest, WindowUpdateOverflow); @@ -142,8 +139,6 @@ class NET_EXPORT_PRIVATE HttpNetworkTransaction FlowControlNegativeSendWindowSize); enum State { - STATE_THROTTLE, - STATE_THROTTLE_COMPLETE, STATE_NOTIFY_BEFORE_CREATE_STREAM, STATE_CREATE_STREAM, STATE_CREATE_STREAM_COMPLETE, @@ -190,8 +185,6 @@ class NET_EXPORT_PRIVATE HttpNetworkTransaction // argument receive the result from the previous state. If a method returns // ERR_IO_PENDING, then the result from OnIOComplete will be passed to the // next state method as the result arg. - int DoThrottle(); - int DoThrottleComplete(); int DoNotifyBeforeCreateStream(); int DoCreateStream(); int DoCreateStreamComplete(int result); @@ -300,8 +293,6 @@ class NET_EXPORT_PRIVATE HttpNetworkTransaction // Returns true if this transaction is for a WebSocket handshake bool ForWebSocketHandshake() const; - void SetStream(HttpStream* stream); - void CopyConnectionAttemptsFromStreamRequest(); // Returns true if response "Content-Encoding" headers respect @@ -347,6 +338,13 @@ class NET_EXPORT_PRIVATE HttpNetworkTransaction // SSLClientAuthCache, rather than provided externally by the caller. bool server_ssl_client_cert_was_cached_; + // SSL configuration used for the server and proxy, respectively. Note + // |server_ssl_config_| may be updated from the HttpStreamFactory, which will + // be applied on retry. + // + // TODO(davidben): Mutating it is weird and relies on HttpStreamFactory + // modifications being idempotent. Address this as part of other work to make + // sense of SSLConfig (related to https://crbug.com/488043). SSLConfig server_ssl_config_; SSLConfig proxy_ssl_config_; @@ -414,10 +412,6 @@ class NET_EXPORT_PRIVATE HttpNetworkTransaction // Network error details for this transaction. NetErrorDetails net_error_details_; - // Communicate lifetime of transaction to the throttler, and - // throttled state to the transaction. - std::unique_ptr<NetworkThrottleManager::Throttle> throttle_; - // Number of retries made for network errors like ERR_SPDY_PING_FAILED, // ERR_SPDY_SERVER_REFUSED_STREAM, ERR_QUIC_HANDSHAKE_FAILED and // ERR_QUIC_PROTOCOL_ERROR. Currently we stop after 3 tries @@ -430,6 +424,10 @@ class NET_EXPORT_PRIVATE HttpNetworkTransaction // Number of times the transaction was restarted via a RestartWith* call. size_t num_restarts_; + // The net::Error which triggered a TLS 1.3 version interference probe, or OK + // if none was triggered. + int ssl_version_interference_error_; + DISALLOW_COPY_AND_ASSIGN(HttpNetworkTransaction); }; |