summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpmonette <pmonette@chromium.org>2016-02-29 13:15:40 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-29 21:18:06 +0000
commit4c79a5837aba384a557bb02f26a5ad4e37c91a21 (patch)
tree76b7472c05c54800d94d91e51d4d8c66f5276eee
parenteb199fbaecd8e5d294010dfbe8897b7d83aeab07 (diff)
downloadchromium_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.cc8
-rw-r--r--chrome/browser/ui/webui/settings/settings_default_browser_handler.cc12
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();