| Index: chrome/browser/io_thread.cc
 | 
| diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
 | 
| index 00ff6db20f689a17f64c71d0a34b222c5e2dbc4a..b67786f243c61fe9f29d89fbb5eb81c37d67298b 100644
 | 
| --- a/chrome/browser/io_thread.cc
 | 
| +++ b/chrome/browser/io_thread.cc
 | 
| @@ -767,18 +767,22 @@ void IOThread::InitializeNetworkOptions(const CommandLine& command_line) {
 | 
|            command_line.GetSwitchValueASCII(switches::kUseSpdy);
 | 
|        EnableSpdy(spdy_mode);
 | 
|      } else if (command_line.HasSwitch(switches::kEnableSpdy4)) {
 | 
| -      net::HttpStreamFactory::EnableNpnSpdy4Http2();
 | 
| +      globals_->next_protos = net::NextProtosSpdy4Http2();
 | 
| +      globals_->use_alternate_protocols.set(true);
 | 
|      } else if (command_line.HasSwitch(switches::kDisableSpdy31)) {
 | 
| -      net::HttpStreamFactory::EnableNpnSpdy3();
 | 
| +      globals_->next_protos = net::NextProtosSpdy3();
 | 
| +      globals_->use_alternate_protocols.set(true);
 | 
|      } else if (command_line.HasSwitch(switches::kEnableNpnHttpOnly)) {
 | 
| -      net::HttpStreamFactory::EnableNpnHttpOnly();
 | 
| +      globals_->next_protos = net::NextProtosHttpOnly();
 | 
| +      globals_->use_alternate_protocols.set(false);
 | 
|      } else {
 | 
|        if (spdy_trial_group == kSpdyFieldTrialDisabledGroupName &&
 | 
|            !command_line.HasSwitch(switches::kEnableWebSocketOverSpdy)) {
 | 
| -         net::HttpStreamFactory::set_spdy_enabled(false);
 | 
| +        net::HttpStreamFactory::set_spdy_enabled(false);
 | 
|        } else {
 | 
|          // Use SPDY/3.1 by default.
 | 
| -        net::HttpStreamFactory::EnableNpnSpdy31();
 | 
| +        globals_->next_protos = net::NextProtosSpdy31();
 | 
| +        globals_->use_alternate_protocols.set(true);
 | 
|        }
 | 
|      }
 | 
|    }
 | 
| @@ -821,20 +825,21 @@ void IOThread::EnableSpdy(const std::string& mode) {
 | 
|        net::HttpStreamFactory::set_spdy_enabled(false);
 | 
|      } else if (option == kDisableSSL) {
 | 
|        globals_->spdy_default_protocol.set(net::kProtoSPDY3);
 | 
| -      net::HttpStreamFactory::set_force_spdy_over_ssl(false);
 | 
| -      net::HttpStreamFactory::set_force_spdy_always(true);
 | 
| +      globals_->force_spdy_over_ssl.set(false);
 | 
| +      globals_->force_spdy_always.set(true);
 | 
|      } else if (option == kSSL) {
 | 
|        globals_->spdy_default_protocol.set(net::kProtoSPDY3);
 | 
| -      net::HttpStreamFactory::set_force_spdy_over_ssl(true);
 | 
| -      net::HttpStreamFactory::set_force_spdy_always(true);
 | 
| +      globals_->force_spdy_over_ssl.set(true);
 | 
| +      globals_->force_spdy_always.set(true);
 | 
|      } else if (option == kDisablePing) {
 | 
|        globals_->enable_spdy_ping_based_connection_checking.set(false);
 | 
|      } else if (option == kExclude) {
 | 
| -      net::HttpStreamFactory::add_forced_spdy_exclusion(value);
 | 
| +      globals_->forced_spdy_exclusions.insert(
 | 
| +          net::HostPortPair::FromURL(GURL(value)));
 | 
|      } else if (option == kDisableCompression) {
 | 
|        globals_->enable_spdy_compression.set(false);
 | 
|      } else if (option == kDisableAltProtocols) {
 | 
| -      net::HttpStreamFactory::set_use_alternate_protocols(false);
 | 
| +      globals_->use_alternate_protocols.set(false);
 | 
|      } else if (option == kForceAltProtocols) {
 | 
|        net::PortAlternateProtocolPair pair;
 | 
|        pair.port = 443;
 | 
| @@ -944,8 +949,14 @@ void IOThread::InitializeNetworkSessionParams(
 | 
|        ¶ms->enable_spdy_ping_based_connection_checking);
 | 
|    globals_->spdy_default_protocol.CopyToIfSet(
 | 
|        ¶ms->spdy_default_protocol);
 | 
| -  globals_->trusted_spdy_proxy.CopyToIfSet(
 | 
| -      ¶ms->trusted_spdy_proxy);
 | 
| +  params->next_protos = globals_->next_protos;
 | 
| +  globals_->trusted_spdy_proxy.CopyToIfSet(¶ms->trusted_spdy_proxy);
 | 
| +  globals_->force_spdy_over_ssl.CopyToIfSet(¶ms->force_spdy_over_ssl);
 | 
| +  globals_->force_spdy_always.CopyToIfSet(¶ms->force_spdy_always);
 | 
| +  globals_->forced_spdy_exclusions = params->forced_spdy_exclusions;
 | 
| +  globals_->use_alternate_protocols.CopyToIfSet(
 | 
| +      ¶ms->use_alternate_protocols);
 | 
| +
 | 
|    globals_->enable_quic.CopyToIfSet(¶ms->enable_quic);
 | 
|    globals_->enable_quic_https.CopyToIfSet(¶ms->enable_quic_https);
 | 
|    globals_->enable_quic_pacing.CopyToIfSet(
 | 
| 
 |