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

Unified Diff: chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc

Issue 11345008: Remove content::NotificationObserver dependency from most Prefs code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to head for commit Created 8 years, 1 month 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/chromeos/core_chromeos_options_handler.cc
diff --git a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc
index 76f5f716d7c6ea4d8da1f8db5aa00681f100243e..4c337674a1f417124d0beacef2a05c8d6ce33c25 100644
--- a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc
@@ -200,19 +200,22 @@ void CoreChromeOSOptionsHandler::Observe(
NotifySettingsChanged(content::Details<std::string>(details).ptr());
return;
}
+ ::options::CoreOptionsHandler::Observe(type, source, details);
+}
+
+void CoreChromeOSOptionsHandler::OnPreferenceChanged(
+ PrefServiceBase* service,
+ const std::string& pref_name) {
// Special handling for preferences kUseSharedProxies and kProxy, the latter
// controls the former and decides if it's managed by policy/extension.
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- const PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
- std::string* pref_name = content::Details<std::string>(details).ptr();
- if (content::Source<PrefService>(source).ptr() == pref_service &&
- (proxy_prefs_.IsObserved(*pref_name) ||
- *pref_name == prefs::kUseSharedProxies)) {
- NotifyPrefChanged(prefs::kUseSharedProxies, prefs::kProxy);
- return;
- }
+ const PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
+ if (service == pref_service &&
+ (proxy_prefs_.IsObserved(pref_name) ||
+ pref_name == prefs::kUseSharedProxies)) {
+ NotifyPrefChanged(prefs::kUseSharedProxies, prefs::kProxy);
+ return;
}
- ::options::CoreOptionsHandler::Observe(type, source, details);
+ ::options::CoreOptionsHandler::OnPreferenceChanged(service, pref_name);
}
void CoreChromeOSOptionsHandler::NotifySettingsChanged(

Powered by Google App Engine
This is Rietveld 408576698