| Index: chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc
|
| diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc
|
| index ce1f7c96096ffd7cfbd2c5fd8857c227b0b4cf9e..1297c623d29fc3aee810d8cd2f9a392bf8b5c1a8 100644
|
| --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc
|
| +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc
|
| @@ -30,8 +30,17 @@ using data_reduction_proxy::DataReductionProxySettings;
|
| // hierarchy. This method removes the Data Reduction Proxy configuration from
|
| // prefs, if present. |proxy_pref_name| is the name of the proxy pref.
|
| void MigrateDataReductionProxyOffProxyPrefs(PrefService* prefs) {
|
| - DictionaryPrefUpdate update(prefs, prefs::kProxy);
|
| - base::DictionaryValue* dict = update.Get();
|
| + base::DictionaryValue* dict =
|
| + (base::DictionaryValue*) prefs->GetUserPrefValue(prefs::kProxy);
|
| + if (!dict)
|
| + return;
|
| +
|
| + // Clear empty "proxy" dictionary created by a bug. See http://crbug/448172
|
| + if (dict->empty()) {
|
| + prefs->ClearPref(prefs::kProxy);
|
| + return;
|
| + }
|
| +
|
| std::string mode;
|
| if (!dict->GetString("mode", &mode))
|
| return;
|
| @@ -46,9 +55,7 @@ void MigrateDataReductionProxyOffProxyPrefs(PrefService* prefs) {
|
| ContainsDataReductionProxy(proxy_rules)) {
|
| return;
|
| }
|
| - dict->SetString("mode", ProxyModeToString(ProxyPrefs::MODE_SYSTEM));
|
| - dict->SetString("server", "");
|
| - dict->SetString("bypass_list", "");
|
| + prefs->ClearPref(prefs::kProxy);
|
| }
|
|
|
| DataReductionProxyChromeSettings::DataReductionProxyChromeSettings(
|
|
|