summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authortsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 22:07:35 +0000
committertsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 22:07:35 +0000
commit40850a556804e6cd9c4256279296d2a0e8b69431 (patch)
tree497fb63e9da969f9c2b69527624646d14415b614 /chrome/browser
parent6892e2e416250521ed0778206da0093388b99300 (diff)
downloadchromium_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.cc10
-rw-r--r--chrome/browser/browser_process_impl.h1
-rw-r--r--chrome/browser/io_thread.cc1
-rw-r--r--chrome/browser/policy/configuration_policy_pref_store.cc4
-rw-r--r--chrome/browser/policy/configuration_policy_pref_store_unittest.cc4
-rw-r--r--chrome/browser/prefs/command_line_pref_store.cc2
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)