Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3807)

Unified Diff: chrome/browser/ui/webui/options/core_options_handler.cc

Issue 7342009: Show a different banner in chrome://settings for extension-controlled settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/options/core_options_handler.cc
diff --git a/chrome/browser/ui/webui/options/core_options_handler.cc b/chrome/browser/ui/webui/options/core_options_handler.cc
index 7a5e2f13b4efa8b7735303d1fae2a12a3f301322..2fdd5cda51af6e5933f44d012250a4228902d240 100644
--- a/chrome/browser/ui/webui/options/core_options_handler.cc
+++ b/chrome/browser/ui/webui/options/core_options_handler.cc
@@ -27,6 +27,22 @@
#include "grit/theme_resources.h"
#include "ui/base/l10n/l10n_util.h"
+namespace {
+
+DictionaryValue* CreateValueForPref(const PrefService::Preference* pref) {
+ DictionaryValue* dict = new DictionaryValue;
+ dict->Set("value", pref->GetValue()->DeepCopy());
+ if (pref->IsManaged()) {
+ dict->SetString("controlledBy", "policy");
+ } else if (pref->IsExtensionControlled()) {
+ dict->SetString("controlledBy", "extension");
+ }
+ dict->SetBoolean("disabled", !pref->IsUserModifiable());
+ return dict;
+}
+
+} // namespace
+
CoreOptionsHandler::CoreOptionsHandler()
: handlers_host_(NULL) {
}
@@ -48,8 +64,12 @@ void CoreOptionsHandler::GetLocalizedValues(
l10n_util::GetStringUTF16(IDS_SETTINGS_TITLE));
// Managed prefs
- localized_strings->SetString("managedPrefsBannerText",
- l10n_util::GetStringUTF16(IDS_OPTIONS_MANAGED_PREFS));
+ localized_strings->SetString("policyManagedPrefsBannerText",
+ l10n_util::GetStringUTF16(IDS_OPTIONS_POLICY_MANAGED_PREFS));
+ localized_strings->SetString("extensionManagedPrefsBannerText",
+ l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_MANAGED_PREFS));
+ localized_strings->SetString("policyAndExtensionManagedPrefsBannerText",
+ l10n_util::GetStringUTF16(IDS_OPTIONS_POLICY_EXTENSION_MANAGED_PREFS));
// Search
RegisterTitle(localized_strings, "searchPage", IDS_OPTIONS_SEARCH_PAGE_TITLE);
@@ -136,19 +156,10 @@ Value* CoreOptionsHandler::FetchPref(const std::string& pref_name) {
const PrefService::Preference* pref =
pref_service->FindPreference(pref_name.c_str());
+ if (!pref)
+ return Value::CreateNullValue();
- Value* return_value;
- if (pref) {
- DictionaryValue* dict = new DictionaryValue;
- dict->Set("value", pref->GetValue()->DeepCopy());
- dict->SetBoolean("managed", pref->IsManaged());
- dict->SetBoolean("extensionControlled", pref->IsExtensionControlled());
- dict->SetBoolean("disabled", !pref->IsUserModifiable());
- return_value = dict;
- } else {
- return_value = Value::CreateNullValue();
- }
- return return_value;
+ return CreateValueForPref(pref);
}
void CoreOptionsHandler::ObservePref(const std::string& pref_name) {
@@ -369,23 +380,19 @@ void CoreOptionsHandler::NotifyPrefChanged(const std::string* pref_name) {
PrefService* pref_service = web_ui_->GetProfile()->GetPrefs();
const PrefService::Preference* pref =
pref_service->FindPreference(pref_name->c_str());
- if (pref) {
- for (PreferenceCallbackMap::const_iterator iter =
- pref_callback_map_.find(*pref_name);
- iter != pref_callback_map_.end(); ++iter) {
- const std::wstring& callback_function = iter->second;
- ListValue result_value;
- result_value.Append(Value::CreateStringValue(pref_name->c_str()));
-
- DictionaryValue* dict = new DictionaryValue;
- dict->Set("value", pref->GetValue()->DeepCopy());
- dict->SetBoolean("managed", pref->IsManaged());
- dict->SetBoolean("extensionControlled", pref->IsExtensionControlled());
- dict->SetBoolean("disabled", !pref->IsUserModifiable());
- result_value.Append(dict);
-
- web_ui_->CallJavascriptFunction(WideToASCII(callback_function),
- result_value);
- }
+ if (!pref)
+ return;
+
+ for (PreferenceCallbackMap::const_iterator iter =
+ pref_callback_map_.find(*pref_name);
+ iter != pref_callback_map_.end(); ++iter) {
+ const std::wstring& callback_function = iter->second;
+ ListValue result_value;
+ result_value.Append(Value::CreateStringValue(pref_name->c_str()));
+
+ result_value.Append(CreateValueForPref(pref));
+
+ web_ui_->CallJavascriptFunction(WideToASCII(callback_function),
+ result_value);
}
}

Powered by Google App Engine
This is Rietveld 408576698