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

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

Issue 903213003: Enable QUIC for proxies based on Finch config and command line switch. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added comment 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 | « android_webview/browser/aw_browser_context.cc ('k') | chrome/browser/io_thread.cc » ('j') | no next file with comments »
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 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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_
OLDNEW
« no previous file with comments | « android_webview/browser/aw_browser_context.cc ('k') | chrome/browser/io_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698