Chromium Code Reviews| Index: chrome/browser/net/pref_proxy_config_tracker_impl.cc |
| diff --git a/chrome/browser/net/pref_proxy_config_tracker_impl.cc b/chrome/browser/net/pref_proxy_config_tracker_impl.cc |
| index cac182e649b8ba89ca3f1dd1ad02b47b8159eec4..9b6379f35fec03a26da3d2a3a971adf714e84a4a 100644 |
| --- a/chrome/browser/net/pref_proxy_config_tracker_impl.cc |
| +++ b/chrome/browser/net/pref_proxy_config_tracker_impl.cc |
| @@ -129,7 +129,7 @@ PrefProxyConfigTrackerImpl::PrefProxyConfigTrackerImpl( |
| : pref_service_(pref_service), |
| chrome_proxy_config_service_(NULL), |
| update_pending_(true) { |
| - config_state_ = ReadPrefConfig(&pref_config_); |
| + config_state_ = ReadPrefConfig(pref_service_, &pref_config_); |
| proxy_prefs_.Init(pref_service); |
| proxy_prefs_.Add(prefs::kProxy, |
| base::Bind(&PrefProxyConfigTrackerImpl::OnProxyPrefChanged, |
| @@ -212,6 +212,39 @@ void PrefProxyConfigTrackerImpl::RegisterUserPrefs( |
| user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| } |
| +// static |
| +ProxyPrefs::ConfigState PrefProxyConfigTrackerImpl::ReadPrefConfig( |
| + const PrefService* pref_service, net::ProxyConfig* config) { |
|
battre
2013/05/23 08:50:14
nit: parameters in separate lines
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| + |
| + // Clear the configuration and source. |
| + *config = net::ProxyConfig(); |
| + ProxyPrefs::ConfigState config_state = ProxyPrefs::CONFIG_UNSET; |
| + |
| + const PrefService::Preference* pref = |
| + pref_service->FindPreference(prefs::kProxy); |
| + DCHECK(pref); |
| + |
| + const DictionaryValue* dict = pref_service->GetDictionary(prefs::kProxy); |
| + DCHECK(dict); |
| + ProxyConfigDictionary proxy_dict(dict); |
| + |
| + if (PrefConfigToNetConfig(proxy_dict, config)) { |
| + if (!pref->IsUserModifiable() || pref->HasUserSetting()) { |
| + if (pref->IsManaged()) |
| + config_state = ProxyPrefs::CONFIG_POLICY; |
| + else if (pref->IsExtensionControlled()) |
| + config_state = ProxyPrefs::CONFIG_EXTENSION; |
| + else |
| + config_state = ProxyPrefs::CONFIG_OTHER_PRECEDE; |
| + } else { |
| + config_state = ProxyPrefs::CONFIG_FALLBACK; |
| + } |
| + } |
| + |
| + return config_state; |
| +} |
| + |
| ProxyPrefs::ConfigState PrefProxyConfigTrackerImpl::GetProxyConfig( |
| net::ProxyConfig* config) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| @@ -301,7 +334,8 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig( |
| void PrefProxyConfigTrackerImpl::OnProxyPrefChanged() { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| net::ProxyConfig new_config; |
| - ProxyPrefs::ConfigState config_state = ReadPrefConfig(&new_config); |
| + ProxyPrefs::ConfigState config_state = ReadPrefConfig(pref_service_, |
| + &new_config); |
| if (config_state_ != config_state || |
| (config_state_ != ProxyPrefs::CONFIG_UNSET && |
| !pref_config_.Equals(new_config))) { |
| @@ -313,35 +347,3 @@ void PrefProxyConfigTrackerImpl::OnProxyPrefChanged() { |
| if (update_pending_) |
| OnProxyConfigChanged(config_state, new_config); |
| } |
| - |
| -ProxyPrefs::ConfigState PrefProxyConfigTrackerImpl::ReadPrefConfig( |
| - net::ProxyConfig* config) { |
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| - |
| - // Clear the configuration and source. |
| - *config = net::ProxyConfig(); |
| - ProxyPrefs::ConfigState config_state = ProxyPrefs::CONFIG_UNSET; |
| - |
| - const PrefService::Preference* pref = |
| - pref_service_->FindPreference(prefs::kProxy); |
| - DCHECK(pref); |
| - |
| - const DictionaryValue* dict = pref_service_->GetDictionary(prefs::kProxy); |
| - DCHECK(dict); |
| - ProxyConfigDictionary proxy_dict(dict); |
| - |
| - if (PrefConfigToNetConfig(proxy_dict, config)) { |
| - if (!pref->IsUserModifiable() || pref->HasUserSetting()) { |
| - if (pref->IsManaged()) |
| - config_state = ProxyPrefs::CONFIG_POLICY; |
| - else if (pref->IsExtensionControlled()) |
| - config_state = ProxyPrefs::CONFIG_EXTENSION; |
| - else |
| - config_state = ProxyPrefs::CONFIG_OTHER_PRECEDE; |
| - } else { |
| - config_state = ProxyPrefs::CONFIG_FALLBACK; |
| - } |
| - } |
| - |
| - return config_state; |
| -} |