summaryrefslogtreecommitdiff
path: root/chromium/net/http/http_network_transaction.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/http/http_network_transaction.h')
-rw-r--r--chromium/net/http/http_network_transaction.h34
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);
};