diff options
author | pmonette <pmonette@chromium.org> | 2016-02-29 13:15:40 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-29 21:18:06 +0000 |
commit | 4c79a5837aba384a557bb02f26a5ad4e37c91a21 (patch) | |
tree | 76b7472c05c54800d94d91e51d4d8c66f5276eee | |
parent | eb199fbaecd8e5d294010dfbe8897b7d83aeab07 (diff) | |
download | chromium_src-4c79a5837aba384a557bb02f26a5ad4e37c91a21.zip chromium_src-4c79a5837aba384a557bb02f26a5ad4e37c91a21.tar.gz chromium_src-4c79a5837aba384a557bb02f26a5ad4e37c91a21.tar.bz2 |
Fixes hidden "Set Default Browser" button when group policy is enabled
The user will now be able to click the button when "Set Google Chrome as
the default browser" is Enabled.
BUG=590781
Review URL: https://codereview.chromium.org/1749813002
Cr-Commit-Position: refs/heads/master@{#378273}
-rw-r--r-- | chrome/browser/ui/webui/options/browser_options_handler.cc | 8 | ||||
-rw-r--r-- | chrome/browser/ui/webui/settings/settings_default_browser_handler.cc | 12 |
2 files changed, 16 insertions, 4 deletions
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc index 04d0fae..689bf89 100644 --- a/chrome/browser/ui/webui/options/browser_options_handler.cc +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc @@ -173,6 +173,10 @@ void AppendExtensionData(const std::string& key, } #endif // defined(OS_WIN) +bool IsDisabledByPolicy(const BooleanPrefMember& pref) { + return pref.IsManaged() && !pref.GetValue(); +} + } // namespace namespace options { @@ -1098,7 +1102,7 @@ void BrowserOptionsHandler::UpdateDefaultBrowserState() { void BrowserOptionsHandler::BecomeDefaultBrowser(const base::ListValue* args) { // If the default browser setting is managed then we should not be able to // call this function. - if (default_browser_policy_.IsManaged()) + if (IsDisabledByPolicy(default_browser_policy_)) return; content::RecordAction(UserMetricsAction("Options_SetAsDefaultBrowser")); @@ -1157,7 +1161,7 @@ void BrowserOptionsHandler::SetDefaultBrowserUIString(int status_string_id) { status_string_id == IDS_OPTIONS_DEFAULTBROWSER_DEFAULT); base::FundamentalValue can_be_default( - !default_browser_policy_.IsManaged() && + !IsDisabledByPolicy(default_browser_policy_) && (status_string_id == IDS_OPTIONS_DEFAULTBROWSER_DEFAULT || status_string_id == IDS_OPTIONS_DEFAULTBROWSER_NOTDEFAULT)); diff --git a/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc b/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc index 8d1923e..fa60315 100644 --- a/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc +++ b/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc @@ -12,6 +12,14 @@ namespace settings { +namespace { + +bool IsDisabledByPolicy(const BooleanPrefMember& pref) { + return pref.IsManaged() && !pref.GetValue(); +} + +} // namespace + DefaultBrowserHandler::DefaultBrowserHandler(content::WebUI* webui) : default_browser_worker_(new shell_integration::DefaultBrowserWorker( this, @@ -53,7 +61,7 @@ void DefaultBrowserHandler::SetDefaultWebClientUIState( shell_integration::STATE_IS_DEFAULT); base::FundamentalValue can_be_default( state != shell_integration::STATE_UNKNOWN && - !default_browser_policy_.IsManaged() && + !IsDisabledByPolicy(default_browser_policy_) && shell_integration::CanSetAsDefaultBrowser() != shell_integration::SET_DEFAULT_NOT_ALLOWED); @@ -67,7 +75,7 @@ void DefaultBrowserHandler::RequestDefaultBrowserState( } void DefaultBrowserHandler::SetAsDefaultBrowser(const base::ListValue* args) { - CHECK(!default_browser_policy_.IsManaged()); + CHECK(!IsDisabledByPolicy(default_browser_policy_)); default_browser_worker_->StartSetAsDefault(); |