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 |