Index: chrome/browser/chrome_browser_main.cc |
=================================================================== |
--- chrome/browser/chrome_browser_main.cc (revision 157062) |
+++ chrome/browser/chrome_browser_main.cc (working copy) |
@@ -59,6 +59,7 @@ |
#include "chrome/browser/performance_monitor/performance_monitor.h" |
#include "chrome/browser/performance_monitor/startup_timer.h" |
#include "chrome/browser/plugin_prefs.h" |
+#include "chrome/browser/policy/policy_service.h" |
#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/prefs/pref_value_store.h" |
#include "chrome/browser/prefs/scoped_user_pref_update.h" |
@@ -116,6 +117,7 @@ |
#include "net/spdy/spdy_session_pool.h" |
#include "net/url_request/url_request.h" |
#include "net/websockets/websocket_job.h" |
+#include "policy/policy_constants.h" |
Joao da Silva
2012/09/18 11:35:56
policy_service.h is always available, but this hea
ramant (doing other things)
2012/09/18 21:16:23
Done.
|
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/layout.h" |
#include "ui/base/resource/resource_bundle.h" |
@@ -201,13 +203,24 @@ |
} |
} |
-void InitializeNetworkOptions(const CommandLine& parsed_command_line) { |
+void InitializeNetworkOptions(const CommandLine& parsed_command_line, |
+ policy::PolicyService* policy_service) { |
if (parsed_command_line.HasSwitch(switches::kEnableFileCookies)) { |
// Enable cookie storage for file:// URLs. Must do this before the first |
// Profile (and therefore the first CookieMonster) is created. |
net::CookieMonster::EnableFileScheme(); |
} |
+#if defined(ENABLE_CONFIGURATION_POLICY) |
+ bool has_spdy_policy = policy_service->GetPolicies( |
+ policy::POLICY_DOMAIN_CHROME, |
+ std::string()).Get(policy::key::kDisableSpdy) != NULL; |
+ // If "spdy.disabled" peference is controlled via policy, then skip use-spdy |
Joao da Silva
2012/09/18 11:35:56
Nit: "peference" typo
ramant (doing other things)
2012/09/18 21:16:23
Done.
|
+ // command line flags. |
+ if (has_spdy_policy) |
+ return; |
+#endif // ENABLE_CONFIGURATION_POLICY |
+ |
if (parsed_command_line.HasSwitch(switches::kEnableIPPooling)) |
net::SpdySessionPool::enable_ip_pooling(true); |
@@ -839,7 +852,8 @@ |
chrome::VersionInfo::GetVersionStringModifier()); |
#endif |
- InitializeNetworkOptions(parsed_command_line()); |
+ InitializeNetworkOptions(parsed_command_line(), |
+ browser_process_->policy_service()); |
// Initialize tracking synchronizer system. |
tracking_synchronizer_ = new chrome_browser_metrics::TrackingSynchronizer(); |