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

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

Issue 1020363003: Independently enable SPDY versions from field trial. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add spdy_enabled toggle and TODO. Created 5 years, 9 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') | 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 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 net::HttpNetworkSession::Params* params); 264 net::HttpNetworkSession::Params* params);
265 265
266 void InitializeNetworkOptions(const base::CommandLine& parsed_command_line); 266 void InitializeNetworkOptions(const base::CommandLine& parsed_command_line);
267 267
268 // Sets up TCP FastOpen if enabled via field trials or via the command line. 268 // Sets up TCP FastOpen if enabled via field trials or via the command line.
269 void ConfigureTCPFastOpen(const base::CommandLine& command_line); 269 void ConfigureTCPFastOpen(const base::CommandLine& command_line);
270 270
271 // Sets up SDCH based on field trials. 271 // Sets up SDCH based on field trials.
272 void ConfigureSdch(); 272 void ConfigureSdch();
273 273
274 // Enable SPDY with the given mode, which may contain the following: 274 // Configures available SPDY protocol versions in |globals| based on the flags
275 // 275 // in |command_lin| as well as SPDY field trial group and parameters. Must be
276 // "off" : Disables SPDY support entirely. 276 // called after ConfigureQuicGlobals.
277 // "ssl" : Forces SPDY for all HTTPS requests. 277 static void ConfigureSpdyGlobals(const base::CommandLine& command_line,
278 // "no-ssl" : Forces SPDY for all HTTP requests. 278 base::StringPiece quic_trial_group,
279 // "no-ping" : Disables SPDY ping connection testing. 279 const VariationParameters& quic_trial_params,
280 // "exclude=<host>" : Disables SPDY support for the host <host>. 280 Globals* globals);
281 // "no-compress" : Disables SPDY header compression.
282 // "no-alt-protocols : Disables alternate protocol support.
283 // "force-alt-protocols : Forces an alternate protocol of SPDY/3
284 // on port 443.
285 // "single-domain" : Forces all spdy traffic to a single domain.
286 // "init-max-streams=<limit>" : Specifies the maximum number of concurrent
287 // streams for a SPDY session, unless the
288 // specifies a different value via SETTINGS.
289 void EnableSpdy(const std::string& mode);
290
291 // Configures available SPDY protocol versions from the given trial.
292 // Used only if no command-line configuration was present.
293 static void ConfigureSpdyFromTrial(base::StringPiece spdy_trial_group,
294 Globals* globals);
295 281
296 // Global state must be initialized on the IO thread, then this 282 // Global state must be initialized on the IO thread, then this
297 // method must be invoked on the UI thread. 283 // method must be invoked on the UI thread.
298 void InitSystemRequestContext(); 284 void InitSystemRequestContext();
299 285
300 // Lazy initialization of system request context for 286 // Lazy initialization of system request context for
301 // SystemURLRequestContextGetter. To be called on IO thread only 287 // SystemURLRequestContextGetter. To be called on IO thread only
302 // after global state has been initialized on the IO thread, and 288 // after global state has been initialized on the IO thread, and
303 // SystemRequestContext state has been initialized on the UI thread. 289 // SystemRequestContext state has been initialized on the UI thread.
304 void InitSystemRequestContextOnIOThread(); 290 void InitSystemRequestContextOnIOThread();
(...skipping 13 matching lines...) Expand all
318 void ConfigureQuic(const base::CommandLine& command_line); 304 void ConfigureQuic(const base::CommandLine& command_line);
319 305
320 extensions::EventRouterForwarder* extension_event_router_forwarder() { 306 extensions::EventRouterForwarder* extension_event_router_forwarder() {
321 #if defined(ENABLE_EXTENSIONS) 307 #if defined(ENABLE_EXTENSIONS)
322 return extension_event_router_forwarder_; 308 return extension_event_router_forwarder_;
323 #else 309 #else
324 return NULL; 310 return NULL;
325 #endif 311 #endif
326 } 312 }
327 // Configures QUIC options in |globals| based on the flags in |command_line| 313 // Configures QUIC options in |globals| based on the flags in |command_line|
328 // as well as the QUIC field trial group and parameters. 314 // as well as the QUIC field trial group and parameters. Must be called
315 // before ConfigureSpdyGlobals.
329 static void ConfigureQuicGlobals( 316 static void ConfigureQuicGlobals(
330 const base::CommandLine& command_line, 317 const base::CommandLine& command_line,
331 base::StringPiece quic_trial_group, 318 base::StringPiece quic_trial_group,
332 const VariationParameters& quic_trial_params, 319 const VariationParameters& quic_trial_params,
333 Globals* globals); 320 Globals* globals);
334 321
335 // Returns true if QUIC should be enabled, either as a result 322 // Returns true if QUIC should be enabled, either as a result
336 // of a field trial or a command line flag. 323 // of a field trial or a command line flag.
337 static bool ShouldEnableQuic( 324 static bool ShouldEnableQuic(
338 const base::CommandLine& command_line, 325 const base::CommandLine& command_line,
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 bool is_spdy_disabled_by_policy_; 461 bool is_spdy_disabled_by_policy_;
475 462
476 const base::TimeTicks creation_time_; 463 const base::TimeTicks creation_time_;
477 464
478 base::WeakPtrFactory<IOThread> weak_factory_; 465 base::WeakPtrFactory<IOThread> weak_factory_;
479 466
480 DISALLOW_COPY_AND_ASSIGN(IOThread); 467 DISALLOW_COPY_AND_ASSIGN(IOThread);
481 }; 468 };
482 469
483 #endif // CHROME_BROWSER_IO_THREAD_H_ 470 #endif // CHROME_BROWSER_IO_THREAD_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698