| 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(
|
|
|