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

Side by Side Diff: chrome/browser/chromeos/proxy_cros_settings_parser.cc

Issue 13334007: Added "Use an autoconfiguration URL" checkbox in proxy tab (Closed) Base URL: https://chromium.googlesource.com/chromium/src@git-svn
Patch Set: Created 7 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/chromeos/proxy_cros_settings_parser.h" 5 #include "chrome/browser/chromeos/proxy_cros_settings_parser.h"
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/chromeos/proxy_config_service_impl.h" 9 #include "chrome/browser/chromeos/proxy_config_service_impl.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 11 matching lines...) Expand all
22 const char kProxyHttpPort[] = "cros.session.proxy.httpport"; 22 const char kProxyHttpPort[] = "cros.session.proxy.httpport";
23 const char kProxyHttpsUrl[] = "cros.session.proxy.httpsurl"; 23 const char kProxyHttpsUrl[] = "cros.session.proxy.httpsurl";
24 const char kProxyHttpsPort[] = "cros.session.proxy.httpsport"; 24 const char kProxyHttpsPort[] = "cros.session.proxy.httpsport";
25 const char kProxyType[] = "cros.session.proxy.type"; 25 const char kProxyType[] = "cros.session.proxy.type";
26 const char kProxySingle[] = "cros.session.proxy.single"; 26 const char kProxySingle[] = "cros.session.proxy.single";
27 const char kProxyFtpUrl[] = "cros.session.proxy.ftpurl"; 27 const char kProxyFtpUrl[] = "cros.session.proxy.ftpurl";
28 const char kProxyFtpPort[] = "cros.session.proxy.ftpport"; 28 const char kProxyFtpPort[] = "cros.session.proxy.ftpport";
29 const char kProxySocks[] = "cros.session.proxy.socks"; 29 const char kProxySocks[] = "cros.session.proxy.socks";
30 const char kProxySocksPort[] = "cros.session.proxy.socksport"; 30 const char kProxySocksPort[] = "cros.session.proxy.socksport";
31 const char kProxyIgnoreList[] = "cros.session.proxy.ignorelist"; 31 const char kProxyIgnoreList[] = "cros.session.proxy.ignorelist";
32 const char kProxyUsePacUrl[] = "cros.session.proxy.usepacurl";
32 33
33 const char* const kProxySettings[] = { 34 const char* const kProxySettings[] = {
34 kProxyPacUrl, 35 kProxyPacUrl,
35 kProxySingleHttp, 36 kProxySingleHttp,
36 kProxySingleHttpPort, 37 kProxySingleHttpPort,
37 kProxyHttpUrl, 38 kProxyHttpUrl,
38 kProxyHttpPort, 39 kProxyHttpPort,
39 kProxyHttpsUrl, 40 kProxyHttpsUrl,
40 kProxyHttpsPort, 41 kProxyHttpsPort,
41 kProxyType, 42 kProxyType,
42 kProxySingle, 43 kProxySingle,
43 kProxyFtpUrl, 44 kProxyFtpUrl,
44 kProxyFtpPort, 45 kProxyFtpPort,
45 kProxySocks, 46 kProxySocks,
46 kProxySocksPort, 47 kProxySocksPort,
47 kProxyIgnoreList, 48 kProxyIgnoreList,
49 kProxyUsePacUrl
48 }; 50 };
49 51
50 // We have to explicitly export this because the arraysize macro doesn't like 52 // We have to explicitly export this because the arraysize macro doesn't like
51 // extern arrays as their size is not known on compile time. 53 // extern arrays as their size is not known on compile time.
52 const size_t kProxySettingsCount = arraysize(kProxySettings); 54 const size_t kProxySettingsCount = arraysize(kProxySettings);
53 55
54 namespace { 56 namespace {
55 57
56 base::Value* CreateServerHostValue( 58 base::Value* CreateServerHostValue(
57 const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy) { 59 const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy) {
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 } else if (path == kProxySingle) { 227 } else if (path == kProxySingle) {
226 bool val; 228 bool val;
227 if (in_value->GetAsBoolean(&val)) { 229 if (in_value->GetAsBoolean(&val)) {
228 if (val) 230 if (val)
229 config_service->UISetProxyConfigToSingleProxy( 231 config_service->UISetProxyConfigToSingleProxy(
230 config.single_proxy.server); 232 config.single_proxy.server);
231 else 233 else
232 config_service->UISetProxyConfigToProxyPerScheme("http", 234 config_service->UISetProxyConfigToProxyPerScheme("http",
233 config.http_proxy.server); 235 config.http_proxy.server);
234 } 236 }
237 } else if (path == kProxyUsePacUrl) {
238 bool val;
239 if (in_value->GetAsBoolean(&val)) {
240 if (val) {
Dan Beam 2013/03/29 22:23:34 if (val && config.automatic_proxy.pac_url.is_valid
241 if (config.automatic_proxy.pac_url.is_valid())
Dan Beam 2013/03/29 22:23:34 nit: please use {curlies} in this if/else (even th
242 config_service->UISetProxyConfigToPACScript(
243 config.automatic_proxy.pac_url);
244 else
Dan Beam 2013/03/29 22:23:34 nit: indent off
245 config_service->UISetProxyConfigToAutoDetect();
246 } else {
247 config_service->UISetProxyConfigToAutoDetect();
248 }
249 }
235 } else if (path == kProxyFtpUrl) { 250 } else if (path == kProxyFtpUrl) {
236 std::string val; 251 std::string val;
237 if (in_value->GetAsString(&val)) { 252 if (in_value->GetAsString(&val)) {
238 config_service->UISetProxyConfigToProxyPerScheme("ftp", 253 config_service->UISetProxyConfigToProxyPerScheme("ftp",
239 CreateProxyServerFromHost( 254 CreateProxyServerFromHost(
240 val, config.ftp_proxy, net::ProxyServer::SCHEME_HTTP)); 255 val, config.ftp_proxy, net::ProxyServer::SCHEME_HTTP));
241 } 256 }
242 } else if (path == kProxyFtpPort) { 257 } else if (path == kProxyFtpPort) {
243 int val; 258 int val;
244 if (in_value->GetAsInteger(&val)) { 259 if (in_value->GetAsInteger(&val)) {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 controlled_by = "other"; 345 controlled_by = "other";
331 break; 346 break;
332 default: 347 default:
333 if (!config.user_modifiable) 348 if (!config.user_modifiable)
334 controlled_by = "shared"; 349 controlled_by = "shared";
335 break; 350 break;
336 } 351 }
337 } else if (path == kProxySingle) { 352 } else if (path == kProxySingle) {
338 data = base::Value::CreateBooleanValue(config.mode == 353 data = base::Value::CreateBooleanValue(config.mode ==
339 chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_SINGLE_PROXY); 354 chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_SINGLE_PROXY);
355 } else if (path == kProxyUsePacUrl) {
356 data = base::Value::CreateBooleanValue(config.mode ==
357 chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_PAC_SCRIPT);
340 } else if (path == kProxyFtpUrl) { 358 } else if (path == kProxyFtpUrl) {
341 data = CreateServerHostValue(config.ftp_proxy); 359 data = CreateServerHostValue(config.ftp_proxy);
342 } else if (path == kProxySocks) { 360 } else if (path == kProxySocks) {
343 data = CreateServerHostValue(config.socks_proxy); 361 data = CreateServerHostValue(config.socks_proxy);
344 } else if (path == kProxyHttpPort) { 362 } else if (path == kProxyHttpPort) {
345 data = CreateServerPortValue(config.http_proxy); 363 data = CreateServerPortValue(config.http_proxy);
346 } else if (path == kProxyHttpsPort) { 364 } else if (path == kProxyHttpsPort) {
347 data = CreateServerPortValue(config.https_proxy); 365 data = CreateServerPortValue(config.https_proxy);
348 } else if (path == kProxyFtpPort) { 366 } else if (path == kProxyFtpPort) {
349 data = CreateServerPortValue(config.ftp_proxy); 367 data = CreateServerPortValue(config.ftp_proxy);
350 } else if (path == kProxySocksPort) { 368 } else if (path == kProxySocksPort) {
351 data = CreateServerPortValue(config.socks_proxy); 369 data = CreateServerPortValue(config.socks_proxy);
352 } else if (path == kProxyIgnoreList) { 370 } else if (path == kProxyIgnoreList) {
353 ListValue* list = new ListValue(); 371 ListValue* list = new ListValue();
354 net::ProxyBypassRules::RuleList bypass_rules = config.bypass_rules.rules(); 372 net::ProxyBypassRules::RuleList bypass_rules = config.bypass_rules.rules();
355 for (size_t x = 0; x < bypass_rules.size(); x++) { 373 for (size_t x = 0; x < bypass_rules.size(); x++) {
356 list->Append(new base::StringValue(bypass_rules[x]->ToString())); 374 list->Append(new base::StringValue(bypass_rules[x]->ToString()));
357 } 375 }
358 data = list; 376 data = list;
359 } else { 377 } else {
360 *out_value = NULL; 378 *out_value = NULL;
361 return false; 379 return false;
362 } 380 }
363 381
364 // Decorate pref value as CoreOptionsHandler::CreateValueForPref() does. 382 // Decorate pref value as CoreOptionsHandler::CreateValueForPref() does.
383
Dan Beam 2013/03/29 22:23:34 nit: please remove this \n
365 DictionaryValue* dict = new DictionaryValue; 384 DictionaryValue* dict = new DictionaryValue;
366 if (!data) 385 if (!data)
367 data = new base::StringValue(""); 386 data = new base::StringValue("");
368 dict->Set("value", data); 387 dict->Set("value", data);
369 if (path == kProxyType) { 388 if (path == kProxyType) {
370 dict->SetString("controlledBy", controlled_by); 389 dict->SetString("controlledBy", controlled_by);
371 dict->SetBoolean("disabled", !config.user_modifiable); 390 dict->SetBoolean("disabled", !config.user_modifiable);
372 } else { 391 } else {
373 dict->SetBoolean("disabled", false); 392 dict->SetBoolean("disabled", false);
374 } 393 }
375 *out_value = dict; 394 *out_value = dict;
376 return true; 395 return true;
377 } 396 }
378 397
379 } // namespace proxy_cros_settings_parser 398 } // namespace proxy_cros_settings_parser
380 399
381 } // namespace chromeos 400 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698