Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.cc |
diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.cc |
similarity index 62% |
rename from chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.cc |
rename to components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.cc |
index a5d41017c4ffadff2a1320907e81d6b77ed0c067..8514313950da4e3236c4082a4ccd3389a553c3d2 100644 |
--- a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.cc |
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.cc |
@@ -2,15 +2,11 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h" |
+#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h" |
-#include "base/prefs/pref_service.h" |
-#include "base/prefs/scoped_user_pref_update.h" |
#include "base/sequenced_task_runner.h" |
#include "base/strings/string_util.h" |
#include "base/values.h" |
-#include "chrome/browser/prefs/proxy_prefs.h" |
-#include "chrome/common/pref_names.h" |
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_event_store.h" |
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h" |
#include "net/proxy/proxy_config.h" |
@@ -18,58 +14,29 @@ |
#include "net/proxy/proxy_list.h" |
#include "net/proxy/proxy_service.h" |
-DataReductionProxyChromeConfigurator::DataReductionProxyChromeConfigurator( |
- PrefService* prefs, |
+namespace data_reduction_proxy { |
+ |
+DataReductionProxyConfigurator::DataReductionProxyConfigurator( |
scoped_refptr<base::SequencedTaskRunner> network_task_runner, |
net::NetLog* net_log, |
data_reduction_proxy::DataReductionProxyEventStore* event_store) |
- : prefs_(prefs), |
- network_task_runner_(network_task_runner), |
+ : network_task_runner_(network_task_runner), |
net_log_(net_log), |
data_reduction_proxy_event_store_(event_store) { |
- DCHECK(prefs); |
DCHECK(network_task_runner.get()); |
DCHECK(net_log); |
DCHECK(event_store); |
} |
-DataReductionProxyChromeConfigurator::~DataReductionProxyChromeConfigurator() { |
+DataReductionProxyConfigurator::~DataReductionProxyConfigurator() { |
} |
-// static |
-void DataReductionProxyChromeConfigurator::DisableInProxyConfigPref( |
- PrefService* prefs) { |
- DCHECK(prefs); |
- DictionaryPrefUpdate update(prefs, prefs::kProxy); |
- base::DictionaryValue* dict = update.Get(); |
- std::string mode; |
- dict->GetString("mode", &mode); |
- std::string server; |
- dict->GetString("server", &server); |
- net::ProxyConfig::ProxyRules proxy_rules; |
- proxy_rules.ParseFromString(server); |
- // The data reduction proxy uses MODE_FIXED_SERVERS. |
- if (mode != ProxyModeToString(ProxyPrefs::MODE_FIXED_SERVERS) |
- || !ContainsDataReductionProxy(proxy_rules)) { |
- return; |
- } |
- dict->SetString("mode", ProxyModeToString(ProxyPrefs::MODE_SYSTEM)); |
- dict->SetString("server", ""); |
- dict->SetString("bypass_list", ""); |
-} |
- |
-void DataReductionProxyChromeConfigurator::Enable( |
+void DataReductionProxyConfigurator::Enable( |
bool primary_restricted, |
bool fallback_restricted, |
const std::string& primary_origin, |
const std::string& fallback_origin, |
const std::string& ssl_origin) { |
- DCHECK(prefs_); |
- DictionaryPrefUpdate update(prefs_, prefs::kProxy); |
- // TODO(bengr): Consider relying on the proxy config for all data reduction |
- // proxy configuration. |
- base::DictionaryValue* dict = update.Get(); |
- |
std::vector<std::string> proxies; |
if (!primary_restricted) { |
std::string trimmed_primary; |
@@ -84,11 +51,6 @@ void DataReductionProxyChromeConfigurator::Enable( |
proxies.push_back(trimmed_fallback); |
} |
if (proxies.empty()) { |
- std::string mode; |
- // If already in a disabled mode, do nothing. |
- if (dict->GetString("mode", &mode)) |
- if (ProxyModeToString(ProxyPrefs::MODE_SYSTEM) == mode) |
- return; |
Disable(); |
return; |
} |
@@ -99,10 +61,6 @@ void DataReductionProxyChromeConfigurator::Enable( |
std::string server = "http=" + JoinString(proxies, ",") + ",direct://;" |
+ (ssl_origin.empty() ? "" : ("https=" + trimmed_ssl + ",direct://;")); |
- dict->SetString("server", server); |
- dict->SetString("mode", ProxyModeToString(ProxyPrefs::MODE_FIXED_SERVERS)); |
- dict->SetString("bypass_list", JoinString(bypass_rules_, ", ")); |
- |
net::ProxyConfig config; |
config.proxy_rules().ParseFromString(server); |
config.proxy_rules().bypass_rules.ParseFromString( |
@@ -117,29 +75,28 @@ void DataReductionProxyChromeConfigurator::Enable( |
network_task_runner_->PostTask( |
FROM_HERE, |
base::Bind( |
- &DataReductionProxyChromeConfigurator::UpdateProxyConfigOnIOThread, |
+ &DataReductionProxyConfigurator::UpdateProxyConfigOnIOThread, |
base::Unretained(this), |
config)); |
} |
-void DataReductionProxyChromeConfigurator::Disable() { |
- DisableInProxyConfigPref(prefs_); |
+void DataReductionProxyConfigurator::Disable() { |
net::ProxyConfig config = net::ProxyConfig::CreateDirect(); |
data_reduction_proxy_event_store_->AddProxyDisabledEvent(net_log_); |
network_task_runner_->PostTask( |
FROM_HERE, |
base::Bind( |
- &DataReductionProxyChromeConfigurator::UpdateProxyConfigOnIOThread, |
+ &DataReductionProxyConfigurator::UpdateProxyConfigOnIOThread, |
base::Unretained(this), |
config)); |
} |
-void DataReductionProxyChromeConfigurator::AddHostPatternToBypass( |
+void DataReductionProxyConfigurator::AddHostPatternToBypass( |
const std::string& pattern) { |
bypass_rules_.push_back(pattern); |
} |
-void DataReductionProxyChromeConfigurator::AddURLPatternToBypass( |
+void DataReductionProxyConfigurator::AddURLPatternToBypass( |
const std::string& pattern) { |
size_t pos = pattern.find('/'); |
if (pattern.find('/', pos + 1) == pos + 1) |
@@ -155,7 +112,7 @@ void DataReductionProxyChromeConfigurator::AddURLPatternToBypass( |
} |
// static |
-bool DataReductionProxyChromeConfigurator::ContainsDataReductionProxy( |
+bool DataReductionProxyConfigurator::ContainsDataReductionProxy( |
const net::ProxyConfig::ProxyRules& proxy_rules) { |
data_reduction_proxy::DataReductionProxyParams params( |
data_reduction_proxy::DataReductionProxyParams:: |
@@ -184,12 +141,14 @@ bool DataReductionProxyChromeConfigurator::ContainsDataReductionProxy( |
return false; |
} |
-void DataReductionProxyChromeConfigurator::UpdateProxyConfigOnIOThread( |
+void DataReductionProxyConfigurator::UpdateProxyConfigOnIOThread( |
const net::ProxyConfig& config) { |
config_ = config; |
} |
const net::ProxyConfig& |
-DataReductionProxyChromeConfigurator::GetProxyConfigOnIOThread() const { |
+DataReductionProxyConfigurator::GetProxyConfigOnIOThread() const { |
return config_; |
} |
+ |
+} // namespace data_reduction_proxy |