Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Side by Side Diff: components/data_reduction_proxy/browser/data_reduction_proxy_config_service.cc

Issue 286013002: Added alternative configuration for the data reduction proxy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: DCHECK fix Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_config_se rvice.h" 5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_config_se rvice.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 DCHECK(config_service); 123 DCHECK(config_service);
124 } 124 }
125 125
126 DataReductionProxyConfigTracker::~DataReductionProxyConfigTracker() { 126 DataReductionProxyConfigTracker::~DataReductionProxyConfigTracker() {
127 } 127 }
128 128
129 void DataReductionProxyConfigTracker::Enable( 129 void DataReductionProxyConfigTracker::Enable(
130 bool primary_restricted, 130 bool primary_restricted,
131 bool fallback_restricted, 131 bool fallback_restricted,
132 const std::string& primary_origin, 132 const std::string& primary_origin,
133 const std::string& fallback_origin) { 133 const std::string& fallback_origin,
134 const std::string& ssl_origin) {
134 135
135 std::vector<std::string> proxies; 136 std::vector<std::string> proxies;
136 if (!primary_restricted) { 137 if (!primary_restricted) {
137 std::string trimmed_primary; 138 std::string trimmed_primary;
138 base::TrimString(primary_origin, "/", &trimmed_primary); 139 base::TrimString(primary_origin, "/", &trimmed_primary);
139 if (!trimmed_primary.empty()) 140 if (!trimmed_primary.empty())
140 proxies.push_back(trimmed_primary); 141 proxies.push_back(trimmed_primary);
141 } 142 }
142 if (!fallback_restricted) { 143 if (!fallback_restricted) {
143 std::string trimmed_fallback; 144 std::string trimmed_fallback;
144 base::TrimString(fallback_origin, "/", &trimmed_fallback); 145 base::TrimString(fallback_origin, "/", &trimmed_fallback);
145 if (!trimmed_fallback.empty()) 146 if (!trimmed_fallback.empty())
146 proxies.push_back(trimmed_fallback); 147 proxies.push_back(trimmed_fallback);
147 } 148 }
148 if (proxies.empty()) { 149 if (proxies.empty()) {
149 std::string mode; 150 std::string mode;
150 Disable(); 151 Disable();
151 return; 152 return;
152 } 153 }
153 154
155 std::string trimmed_ssl;
156 base::TrimString(ssl_origin, "/", &trimmed_ssl);
157
158 std::string server = "http=" + JoinString(proxies, ",") + ",direct://;"
159 + (ssl_origin.empty() ? "" : ("https=" + ssl_origin + ",direct://;"));
160
154 net::ProxyConfig config; 161 net::ProxyConfig config;
155 config.proxy_rules().ParseFromString( 162 config.proxy_rules().ParseFromString(server);
156 "http=" + JoinString(proxies, ",") + ",direct://;");
157 config.proxy_rules().bypass_rules.ParseFromString( 163 config.proxy_rules().bypass_rules.ParseFromString(
158 JoinString(bypass_rules_, ", ")); 164 JoinString(bypass_rules_, ", "));
159 UpdateProxyConfigOnIOThread(true, config); 165 UpdateProxyConfigOnIOThread(true, config);
160 } 166 }
161 167
162 168
163 void DataReductionProxyConfigTracker::Disable() { 169 void DataReductionProxyConfigTracker::Disable() {
164 net::ProxyConfig config = net::ProxyConfig::CreateDirect(); 170 net::ProxyConfig config = net::ProxyConfig::CreateDirect();
165 UpdateProxyConfigOnIOThread(false, config); 171 UpdateProxyConfigOnIOThread(false, config);
166 } 172 }
(...skipping 22 matching lines...) Expand all
189 bool enabled, 195 bool enabled,
190 const net::ProxyConfig& config) { 196 const net::ProxyConfig& config) {
191 task_runner_->PostTask(FROM_HERE, 197 task_runner_->PostTask(FROM_HERE,
192 base::Bind( 198 base::Bind(
193 &DataReductionProxyConfigService::UpdateProxyConfig, 199 &DataReductionProxyConfigService::UpdateProxyConfig,
194 base::Unretained(config_service_), 200 base::Unretained(config_service_),
195 enabled, config)); 201 enabled, config));
196 } 202 }
197 203
198 } // namespace data_reduction_proxy 204 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698