Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: chrome/browser/io_thread.h

Issue 869393005: Perform ClientHello padding if the field trial is enabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@net_connection_error_uma
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | net/socket/ssl_client_socket_openssl.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_IO_THREAD_H_ 5 #ifndef CHROME_BROWSER_IO_THREAD_H_
6 #define CHROME_BROWSER_IO_THREAD_H_ 6 #define CHROME_BROWSER_IO_THREAD_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 class HostMappingRules; 52 class HostMappingRules;
53 class HostResolver; 53 class HostResolver;
54 class HttpAuthHandlerFactory; 54 class HttpAuthHandlerFactory;
55 class HttpServerProperties; 55 class HttpServerProperties;
56 class HttpTransactionFactory; 56 class HttpTransactionFactory;
57 class HttpUserAgentSettings; 57 class HttpUserAgentSettings;
58 class NetworkDelegate; 58 class NetworkDelegate;
59 class ProxyConfigService; 59 class ProxyConfigService;
60 class ProxyService; 60 class ProxyService;
61 class SSLConfigService; 61 class SSLConfigService;
62 class SSLSocketConfigService;
62 class TransportSecurityState; 63 class TransportSecurityState;
63 class URLRequestContext; 64 class URLRequestContext;
64 class URLRequestContextGetter; 65 class URLRequestContextGetter;
65 class URLRequestJobFactory; 66 class URLRequestJobFactory;
66 class URLRequestThrottlerManager; 67 class URLRequestThrottlerManager;
67 class URLSecurityManager; 68 class URLSecurityManager;
68 } // namespace net 69 } // namespace net
69 70
70 namespace policy { 71 namespace policy {
71 class PolicyService; 72 class PolicyService;
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 Optional<size_t> quic_max_packet_length; 192 Optional<size_t> quic_max_packet_length;
192 net::QuicTagVector quic_connection_options; 193 net::QuicTagVector quic_connection_options;
193 Optional<std::string> quic_user_agent_id; 194 Optional<std::string> quic_user_agent_id;
194 Optional<net::QuicVersionVector> quic_supported_versions; 195 Optional<net::QuicVersionVector> quic_supported_versions;
195 Optional<net::HostPortPair> origin_to_force_quic_on; 196 Optional<net::HostPortPair> origin_to_force_quic_on;
196 bool enable_user_alternate_protocol_ports; 197 bool enable_user_alternate_protocol_ports;
197 // NetErrorTabHelper uses |dns_probe_service| to send DNS probes when a 198 // NetErrorTabHelper uses |dns_probe_service| to send DNS probes when a
198 // main frame load fails with a DNS error in order to provide more useful 199 // main frame load fails with a DNS error in order to provide more useful
199 // information to the renderer so it can show a more specific error page. 200 // information to the renderer so it can show a more specific error page.
200 scoped_ptr<chrome_browser_net::DnsProbeService> dns_probe_service; 201 scoped_ptr<chrome_browser_net::DnsProbeService> dns_probe_service;
202 scoped_ptr<net::SSLSocketConfigService> ssl_socket_config_service;
201 }; 203 };
202 204
203 // |net_log| must either outlive the IOThread or be NULL. 205 // |net_log| must either outlive the IOThread or be NULL.
204 IOThread(PrefService* local_state, 206 IOThread(PrefService* local_state,
205 policy::PolicyService* policy_service, 207 policy::PolicyService* policy_service,
206 ChromeNetLog* net_log, 208 ChromeNetLog* net_log,
207 extensions::EventRouterForwarder* extension_event_router_forwarder); 209 extensions::EventRouterForwarder* extension_event_router_forwarder);
208 210
209 ~IOThread() override; 211 ~IOThread() override;
210 212
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 net::SSLConfigService* GetSSLConfigService(); 303 net::SSLConfigService* GetSSLConfigService();
302 304
303 void ChangedToOnTheRecordOnIOThread(); 305 void ChangedToOnTheRecordOnIOThread();
304 306
305 void UpdateDnsClientEnabled(); 307 void UpdateDnsClientEnabled();
306 308
307 // Configures QUIC options based on the flags in |command_line| as 309 // Configures QUIC options based on the flags in |command_line| as
308 // well as the QUIC field trial group. 310 // well as the QUIC field trial group.
309 void ConfigureQuic(const base::CommandLine& command_line); 311 void ConfigureQuic(const base::CommandLine& command_line);
310 312
313 // Configures SSLSocketConfigService based on the flags in |command_line| as
314 // well as the ClientHello field trial group.
315 void ConfigureSSLSocketConfigService(const base::CommandLine& command_line);
316
311 extensions::EventRouterForwarder* extension_event_router_forwarder() { 317 extensions::EventRouterForwarder* extension_event_router_forwarder() {
312 #if defined(ENABLE_EXTENSIONS) 318 #if defined(ENABLE_EXTENSIONS)
313 return extension_event_router_forwarder_; 319 return extension_event_router_forwarder_;
314 #else 320 #else
315 return NULL; 321 return NULL;
316 #endif 322 #endif
317 } 323 }
318 // Configures QUIC options in |globals| based on the flags in |command_line| 324 // Configures QUIC options in |globals| based on the flags in |command_line|
319 // as well as the QUIC field trial group and parameters. 325 // as well as the QUIC field trial group and parameters.
320 static void ConfigureQuicGlobals( 326 static void ConfigureQuicGlobals(
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 static net::QuicTagVector GetQuicConnectionOptions( 395 static net::QuicTagVector GetQuicConnectionOptions(
390 const base::CommandLine& command_line, 396 const base::CommandLine& command_line,
391 const VariationParameters& quic_trial_params); 397 const VariationParameters& quic_trial_params);
392 398
393 // Returns the alternate protocol probability threshold specified by 399 // Returns the alternate protocol probability threshold specified by
394 // any flags in |command_line| or |quic_trial_params|. 400 // any flags in |command_line| or |quic_trial_params|.
395 static double GetAlternateProtocolProbabilityThreshold( 401 static double GetAlternateProtocolProbabilityThreshold(
396 const base::CommandLine& command_line, 402 const base::CommandLine& command_line,
397 const VariationParameters& quic_trial_params); 403 const VariationParameters& quic_trial_params);
398 404
405 // Configures the SSLSocketConfigService in |globals| based on the flags in
406 // |command_line| as well as the ClientHello field trial group.
407 static void ConfigureSSLSocketConfigServiceGlobals(
408 const base::CommandLine& command_line,
409 base::StringPiece client_hello_trial_group,
410 Globals* globals);
411
399 // The NetLog is owned by the browser process, to allow logging from other 412 // The NetLog is owned by the browser process, to allow logging from other
400 // threads during shutdown, but is used most frequently on the IOThread. 413 // threads during shutdown, but is used most frequently on the IOThread.
401 ChromeNetLog* net_log_; 414 ChromeNetLog* net_log_;
402 415
403 #if defined(ENABLE_EXTENSIONS) 416 #if defined(ENABLE_EXTENSIONS)
404 // The extensions::EventRouterForwarder allows for sending events to 417 // The extensions::EventRouterForwarder allows for sending events to
405 // extensions from the IOThread. 418 // extensions from the IOThread.
406 extensions::EventRouterForwarder* extension_event_router_forwarder_; 419 extensions::EventRouterForwarder* extension_event_router_forwarder_;
407 #endif 420 #endif
408 421
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 bool is_spdy_disabled_by_policy_; 464 bool is_spdy_disabled_by_policy_;
452 465
453 const base::TimeTicks creation_time_; 466 const base::TimeTicks creation_time_;
454 467
455 base::WeakPtrFactory<IOThread> weak_factory_; 468 base::WeakPtrFactory<IOThread> weak_factory_;
456 469
457 DISALLOW_COPY_AND_ASSIGN(IOThread); 470 DISALLOW_COPY_AND_ASSIGN(IOThread);
458 }; 471 };
459 472
460 #endif // CHROME_BROWSER_IO_THREAD_H_ 473 #endif // CHROME_BROWSER_IO_THREAD_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | net/socket/ssl_client_socket_openssl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698