| Index: chrome/browser/browser_process_impl.cc
|
| diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
| index 5a3a0ef22b53472303dafd54762e3a15e195a5bb..0623619f4748eb7515a28e2c423167bc5bcdd488 100644
|
| --- a/chrome/browser/browser_process_impl.cc
|
| +++ b/chrome/browser/browser_process_impl.cc
|
| @@ -682,8 +682,7 @@ void BrowserProcessImpl::Observe(int type,
|
| if (type == chrome::NOTIFICATION_PREF_CHANGED) {
|
| std::string* pref = content::Details<std::string>(details).ptr();
|
| if (*pref == prefs::kDefaultBrowserSettingEnabled) {
|
| - if (local_state_->GetBoolean(prefs::kDefaultBrowserSettingEnabled))
|
| - ShellIntegration::SetAsDefaultBrowser();
|
| + ApplyDefaultBrowserPolicy();
|
| } else if (*pref == prefs::kDisabledSchemes) {
|
| ApplyDisabledSchemesPolicy();
|
| } else if (*pref == prefs::kAllowCrossOriginAuthPrompt) {
|
| @@ -940,8 +939,7 @@ void BrowserProcessImpl::CreateLocalState() {
|
| local_state_->RegisterBooleanPref(prefs::kDefaultBrowserSettingEnabled,
|
| false);
|
| if (local_state_->IsManagedPreference(prefs::kDefaultBrowserSettingEnabled)) {
|
| - if (local_state_->GetBoolean(prefs::kDefaultBrowserSettingEnabled))
|
| - ShellIntegration::SetAsDefaultBrowser();
|
| + ApplyDefaultBrowserPolicy();
|
| }
|
| pref_change_registrar_.Add(prefs::kDefaultBrowserSettingEnabled, this);
|
|
|
| @@ -1059,6 +1057,14 @@ void BrowserProcessImpl::ApplyDisabledSchemesPolicy() {
|
| ChildProcessSecurityPolicy::GetInstance()->RegisterDisabledSchemes(schemes);
|
| }
|
|
|
| +void BrowserProcessImpl::ApplyDefaultBrowserPolicy() {
|
| + if (local_state_->GetBoolean(prefs::kDefaultBrowserSettingEnabled)) {
|
| + scoped_refptr<ShellIntegration::DefaultWebClientWorker>
|
| + set_browser_worker = new ShellIntegration::DefaultBrowserWorker(NULL);
|
| + set_browser_worker->StartSetAsDefault();
|
| + }
|
| +}
|
| +
|
| void BrowserProcessImpl::ApplyAllowCrossOriginAuthPromptPolicy() {
|
| bool value = local_state()->GetBoolean(prefs::kAllowCrossOriginAuthPrompt);
|
| resource_dispatcher_host()->set_allow_cross_origin_auth_prompt(value);
|
|
|