| OLD | NEW |
| 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 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 Optional<net::NextProto> spdy_default_protocol; | 175 Optional<net::NextProto> spdy_default_protocol; |
| 176 net::NextProtoVector next_protos; | 176 net::NextProtoVector next_protos; |
| 177 Optional<std::string> trusted_spdy_proxy; | 177 Optional<std::string> trusted_spdy_proxy; |
| 178 Optional<bool> force_spdy_over_ssl; | 178 Optional<bool> force_spdy_over_ssl; |
| 179 Optional<bool> force_spdy_always; | 179 Optional<bool> force_spdy_always; |
| 180 std::set<net::HostPortPair> forced_spdy_exclusions; | 180 std::set<net::HostPortPair> forced_spdy_exclusions; |
| 181 Optional<bool> use_alternate_protocols; | 181 Optional<bool> use_alternate_protocols; |
| 182 Optional<double> alternate_protocol_probability_threshold; | 182 Optional<double> alternate_protocol_probability_threshold; |
| 183 | 183 |
| 184 Optional<bool> enable_quic; | 184 Optional<bool> enable_quic; |
| 185 Optional<bool> enable_quic_for_proxies; |
| 185 Optional<bool> enable_quic_port_selection; | 186 Optional<bool> enable_quic_port_selection; |
| 186 Optional<bool> quic_always_require_handshake_confirmation; | 187 Optional<bool> quic_always_require_handshake_confirmation; |
| 187 Optional<bool> quic_disable_connection_pooling; | 188 Optional<bool> quic_disable_connection_pooling; |
| 188 Optional<int> quic_load_server_info_timeout_ms; | 189 Optional<int> quic_load_server_info_timeout_ms; |
| 189 Optional<float> quic_load_server_info_timeout_srtt_multiplier; | 190 Optional<float> quic_load_server_info_timeout_srtt_multiplier; |
| 190 Optional<bool> quic_enable_truncated_connection_ids; | 191 Optional<bool> quic_enable_truncated_connection_ids; |
| 191 Optional<bool> quic_enable_connection_racing; | 192 Optional<bool> quic_enable_connection_racing; |
| 192 Optional<size_t> quic_max_packet_length; | 193 Optional<size_t> quic_max_packet_length; |
| 193 net::QuicTagVector quic_connection_options; | 194 net::QuicTagVector quic_connection_options; |
| 194 Optional<std::string> quic_user_agent_id; | 195 Optional<std::string> quic_user_agent_id; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 | 230 |
| 230 // Clears the host cache. Intended to be used to prevent exposing recently | 231 // Clears the host cache. Intended to be used to prevent exposing recently |
| 231 // visited sites on about:net-internals/#dns and about:dns pages. Must be | 232 // visited sites on about:net-internals/#dns and about:dns pages. Must be |
| 232 // called on the IO thread. | 233 // called on the IO thread. |
| 233 void ClearHostCache(); | 234 void ClearHostCache(); |
| 234 | 235 |
| 235 void InitializeNetworkSessionParams(net::HttpNetworkSession::Params* params); | 236 void InitializeNetworkSessionParams(net::HttpNetworkSession::Params* params); |
| 236 | 237 |
| 237 base::TimeTicks creation_time() const; | 238 base::TimeTicks creation_time() const; |
| 238 | 239 |
| 240 // Returns true if QUIC should be enabled for data reduction proxy, either as |
| 241 // a result of a field trial or a command line flag. |
| 242 static bool ShouldEnableQuicForDataReductionProxy(); |
| 243 |
| 239 private: | 244 private: |
| 240 // Map from name to value for all parameters associate with a field trial. | 245 // Map from name to value for all parameters associate with a field trial. |
| 241 typedef std::map<std::string, std::string> VariationParameters; | 246 typedef std::map<std::string, std::string> VariationParameters; |
| 242 | 247 |
| 243 // Provide SystemURLRequestContextGetter with access to | 248 // Provide SystemURLRequestContextGetter with access to |
| 244 // InitSystemRequestContext(). | 249 // InitSystemRequestContext(). |
| 245 friend class SystemURLRequestContextGetter; | 250 friend class SystemURLRequestContextGetter; |
| 246 | 251 |
| 247 friend class test::IOThreadPeer; | 252 friend class test::IOThreadPeer; |
| 248 | 253 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 base::StringPiece quic_trial_group, | 328 base::StringPiece quic_trial_group, |
| 324 const VariationParameters& quic_trial_params, | 329 const VariationParameters& quic_trial_params, |
| 325 Globals* globals); | 330 Globals* globals); |
| 326 | 331 |
| 327 // Returns true if QUIC should be enabled, either as a result | 332 // Returns true if QUIC should be enabled, either as a result |
| 328 // of a field trial or a command line flag. | 333 // of a field trial or a command line flag. |
| 329 static bool ShouldEnableQuic( | 334 static bool ShouldEnableQuic( |
| 330 const base::CommandLine& command_line, | 335 const base::CommandLine& command_line, |
| 331 base::StringPiece quic_trial_group); | 336 base::StringPiece quic_trial_group); |
| 332 | 337 |
| 338 // Returns true if QUIC should be enabled for proxies, either as a result |
| 339 // of a field trial or a command line flag. |
| 340 static bool ShouldEnableQuicForProxies( |
| 341 const base::CommandLine& command_line, |
| 342 base::StringPiece quic_trial_group); |
| 343 |
| 333 // Returns true if the selection of the ephemeral port in bind() should be | 344 // Returns true if the selection of the ephemeral port in bind() should be |
| 334 // performed by Chromium, and false if the OS should select the port. The OS | 345 // performed by Chromium, and false if the OS should select the port. The OS |
| 335 // option is used to prevent Windows from posting a security security warning | 346 // option is used to prevent Windows from posting a security security warning |
| 336 // dialog. | 347 // dialog. |
| 337 static bool ShouldEnableQuicPortSelection( | 348 static bool ShouldEnableQuicPortSelection( |
| 338 const base::CommandLine& command_line); | 349 const base::CommandLine& command_line); |
| 339 | 350 |
| 340 // Returns true if QUIC packet pacing should be negotiated during the | 351 // Returns true if QUIC packet pacing should be negotiated during the |
| 341 // QUIC handshake. | 352 // QUIC handshake. |
| 342 static bool ShouldEnableQuicPacing( | 353 static bool ShouldEnableQuicPacing( |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 bool is_spdy_disabled_by_policy_; | 467 bool is_spdy_disabled_by_policy_; |
| 457 | 468 |
| 458 const base::TimeTicks creation_time_; | 469 const base::TimeTicks creation_time_; |
| 459 | 470 |
| 460 base::WeakPtrFactory<IOThread> weak_factory_; | 471 base::WeakPtrFactory<IOThread> weak_factory_; |
| 461 | 472 |
| 462 DISALLOW_COPY_AND_ASSIGN(IOThread); | 473 DISALLOW_COPY_AND_ASSIGN(IOThread); |
| 463 }; | 474 }; |
| 464 | 475 |
| 465 #endif // CHROME_BROWSER_IO_THREAD_H_ | 476 #endif // CHROME_BROWSER_IO_THREAD_H_ |
| OLD | NEW |