Index: chrome/browser/chromeos/proxy_config_service_impl.cc |
diff --git a/chrome/browser/chromeos/proxy_config_service_impl.cc b/chrome/browser/chromeos/proxy_config_service_impl.cc |
index 3b20231712fe1a377185a7c3d02e2ca269ba2aca..5eca442c92bfd7292cfaf0431d25177009de0242 100644 |
--- a/chrome/browser/chromeos/proxy_config_service_impl.cc |
+++ b/chrome/browser/chromeos/proxy_config_service_impl.cc |
@@ -586,29 +586,26 @@ void ProxyConfigServiceImpl::RegisterPrefs(PrefService* pref_service) { |
//------------------ ProxyConfigServiceImpl: private methods ------------------- |
-void ProxyConfigServiceImpl::Observe( |
- int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) { |
- if (type == chrome::NOTIFICATION_PREF_CHANGED && |
- *(content::Details<std::string>(details).ptr()) == |
- prefs::kUseSharedProxies) { |
- if (content::Source<PrefService>(source).ptr() == prefs()) { |
- VLOG(1) << "New use-shared-proxies = " << GetUseSharedProxies(); |
- // Determine new proxy config which may have changed because of new |
- // use-shared-proxies. If necessary, activate it. |
- Network* network = NULL; |
- if (!active_network_.empty()) { |
- network = CrosLibrary::Get()->GetNetworkLibrary()->FindNetworkByPath( |
- active_network_); |
- if (!network) |
- LOG(WARNING) << "Can't find requested network " << active_network_; |
- } |
- DetermineEffectiveConfig(network, true); |
+void ProxyConfigServiceImpl::OnPreferenceChanged(PrefServiceBase* service, |
+ const std::string& pref_name) { |
+ DCHECK(service == prefs()); |
+ VLOG(1) << "New use-shared-proxies = " << GetUseSharedProxies(); |
+ |
+ if (pref_name == prefs::kUseSharedProxies) { |
+ // Determine new proxy config which may have changed because of new |
+ // use-shared-proxies. If necessary, activate it. |
+ Network* network = NULL; |
+ if (!active_network_.empty()) { |
+ network = CrosLibrary::Get()->GetNetworkLibrary()->FindNetworkByPath( |
+ active_network_); |
+ if (!network) |
+ LOG(WARNING) << "Can't find requested network " << active_network_; |
} |
+ DetermineEffectiveConfig(network, true); |
return; |
} |
- PrefProxyConfigTrackerImpl::Observe(type, source, details); |
+ |
+ PrefProxyConfigTrackerImpl::OnPreferenceChanged(service, pref_name); |
} |
void ProxyConfigServiceImpl::OnUISetProxyConfig() { |