diff options
author | tsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-26 22:07:35 +0000 |
---|---|---|
committer | tsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-26 22:07:35 +0000 |
commit | 40850a556804e6cd9c4256279296d2a0e8b69431 (patch) | |
tree | 497fb63e9da969f9c2b69527624646d14415b614 /chrome/browser | |
parent | 6892e2e416250521ed0778206da0093388b99300 (diff) | |
download | chromium_src-40850a556804e6cd9c4256279296d2a0e8b69431.zip chromium_src-40850a556804e6cd9c4256279296d2a0e8b69431.tar.gz chromium_src-40850a556804e6cd9c4256279296d2a0e8b69431.tar.bz2 |
Make --allow-cross-domain-auth-prompt equivalent to a preference.
Review URL: http://codereview.chromium.org/6992081
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86903 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/browser_process_impl.cc | 10 | ||||
-rw-r--r-- | chrome/browser/browser_process_impl.h | 1 | ||||
-rw-r--r-- | chrome/browser/io_thread.cc | 1 | ||||
-rw-r--r-- | chrome/browser/policy/configuration_policy_pref_store.cc | 4 | ||||
-rw-r--r-- | chrome/browser/policy/configuration_policy_pref_store_unittest.cc | 4 | ||||
-rw-r--r-- | chrome/browser/prefs/command_line_pref_store.cc | 2 |
6 files changed, 21 insertions, 1 deletions
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc index 481fa18..3d7a073 100644 --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc @@ -672,6 +672,8 @@ void BrowserProcessImpl::Observe(NotificationType type, ShellIntegration::SetAsDefaultBrowser(); } else if (*pref == prefs::kDisabledSchemes) { ApplyDisabledSchemesPolicy(); + } else if (*pref == prefs::kAllowCrossOriginAuthPrompt) { + ApplyAllowCrossOriginAuthPromptPolicy(); } } else { NOTREACHED(); @@ -744,6 +746,9 @@ void BrowserProcessImpl::CreateResourceDispatcherHost() { new ChromeResourceDispatcherHostObserver(prerender_tracker())); resource_dispatcher_host_->set_observer( resource_dispatcher_host_observer_.get()); + + pref_change_registrar_.Add(prefs::kAllowCrossOriginAuthPrompt, this); + ApplyAllowCrossOriginAuthPromptPolicy(); } void BrowserProcessImpl::CreateMetricsService() { @@ -1051,6 +1056,11 @@ void BrowserProcessImpl::ApplyDisabledSchemesPolicy() { ChildProcessSecurityPolicy::GetInstance()->RegisterDisabledSchemes(schemes); } +void BrowserProcessImpl::ApplyAllowCrossOriginAuthPromptPolicy() { + bool value = local_state()->GetBoolean(prefs::kAllowCrossOriginAuthPrompt); + resource_dispatcher_host()->set_allow_cross_origin_auth_prompt(value); +} + // The BrowserProcess object must outlive the file thread so we use traits // which don't do any management. DISABLE_RUNNABLE_METHOD_REFCOUNT(BrowserProcessImpl); diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h index eb8a9b6..6274747 100644 --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h @@ -159,6 +159,7 @@ class BrowserProcessImpl : public BrowserProcess, bool IsSafeBrowsingDetectionServiceEnabled(); void ApplyDisabledSchemesPolicy(); + void ApplyAllowCrossOriginAuthPromptPolicy(); #if defined(IPC_MESSAGE_LOG_ENABLED) void SetIPCLoggingEnabledForChildProcesses(bool enabled); diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc index 97be38e..5d90337 100644 --- a/chrome/browser/io_thread.cc +++ b/chrome/browser/io_thread.cc @@ -575,6 +575,7 @@ void IOThread::RegisterPrefs(PrefService* local_state) { local_state->RegisterStringPref(prefs::kAuthServerWhitelist, ""); local_state->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist, ""); local_state->RegisterStringPref(prefs::kGSSAPILibraryName, ""); + local_state->RegisterBooleanPref(prefs::kAllowCrossOriginAuthPrompt, false); local_state->RegisterBooleanPref(prefs::kEnableReferrers, true); } diff --git a/chrome/browser/policy/configuration_policy_pref_store.cc b/chrome/browser/policy/configuration_policy_pref_store.cc index 1658cdc..5bdcabd 100644 --- a/chrome/browser/policy/configuration_policy_pref_store.cc +++ b/chrome/browser/policy/configuration_policy_pref_store.cc @@ -252,6 +252,8 @@ const ConfigurationPolicyPrefKeeper::PolicyToPreferenceMapEntry prefs::kAuthNegotiateDelegateWhitelist }, { Value::TYPE_STRING, kPolicyGSSAPILibraryName, prefs::kGSSAPILibraryName }, + { Value::TYPE_BOOLEAN, kPolicyAllowCrossOriginAuthPrompt, + prefs::kAllowCrossOriginAuthPrompt }, { Value::TYPE_BOOLEAN, kPolicyDisable3DAPIs, prefs::kDisable3DAPIs }, { Value::TYPE_BOOLEAN, kPolicyDisablePluginFinder, @@ -1067,6 +1069,8 @@ ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() { key::kAuthNegotiateDelegateWhitelist }, { kPolicyGSSAPILibraryName, Value::TYPE_STRING, key::kGSSAPILibraryName }, + { kPolicyAllowCrossOriginAuthPrompt, Value::TYPE_BOOLEAN, + key::kAllowCrossOriginAuthPrompt }, { kPolicyDisable3DAPIs, Value::TYPE_BOOLEAN, key::kDisable3DAPIs }, { kPolicyDisablePluginFinder, Value::TYPE_BOOLEAN, diff --git a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc index 2958b46..1b65095 100644 --- a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc +++ b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc @@ -233,7 +233,9 @@ INSTANTIATE_TEST_CASE_P( TypeAndName(kPolicyEditBookmarksEnabled, prefs::kEditBookmarksEnabled), TypeAndName(kPolicyAllowFileSelectionDialogs, - prefs::kAllowFileSelectionDialogs))); + prefs::kAllowFileSelectionDialogs), + TypeAndName(kPolicyAllowCrossOriginAuthPrompt, + prefs::kAllowCrossOriginAuthPrompt))); #if defined(OS_CHROMEOS) INSTANTIATE_TEST_CASE_P( diff --git a/chrome/browser/prefs/command_line_pref_store.cc b/chrome/browser/prefs/command_line_pref_store.cc index d4f87e4..a475c45 100644 --- a/chrome/browser/prefs/command_line_pref_store.cc +++ b/chrome/browser/prefs/command_line_pref_store.cc @@ -39,6 +39,8 @@ const CommandLinePrefStore::BooleanSwitchToPreferenceMapEntry prefs::kWebKitAllowRunningInsecureContent, true }, { switches::kNoDisplayingInsecureContent, prefs::kWebKitAllowDisplayingInsecureContent, false }, + { switches::kAllowCrossOriginAuthPrompt, + prefs::kAllowCrossOriginAuthPrompt, true }, }; CommandLinePrefStore::CommandLinePrefStore(const CommandLine* command_line) |