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

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: Fixed conflict in Authors file 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 use_pac_url;
239 if (in_value->GetAsBoolean(&use_pac_url)) {
240 if (use_pac_url && config.automatic_proxy.pac_url.is_valid()) {
241 config_service->UISetProxyConfigToPACScript(
242 config.automatic_proxy.pac_url);
243 } else {
244 config_service->UISetProxyConfigToAutoDetect();
245 }
246 }
235 } else if (path == kProxyFtpUrl) { 247 } else if (path == kProxyFtpUrl) {
236 std::string val; 248 std::string val;
237 if (in_value->GetAsString(&val)) { 249 if (in_value->GetAsString(&val)) {
238 config_service->UISetProxyConfigToProxyPerScheme("ftp", 250 config_service->UISetProxyConfigToProxyPerScheme("ftp",
239 CreateProxyServerFromHost( 251 CreateProxyServerFromHost(
240 val, config.ftp_proxy, net::ProxyServer::SCHEME_HTTP)); 252 val, config.ftp_proxy, net::ProxyServer::SCHEME_HTTP));
241 } 253 }
242 } else if (path == kProxyFtpPort) { 254 } else if (path == kProxyFtpPort) {
243 int val; 255 int val;
244 if (in_value->GetAsInteger(&val)) { 256 if (in_value->GetAsInteger(&val)) {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 controlled_by = "other"; 342 controlled_by = "other";
331 break; 343 break;
332 default: 344 default:
333 if (!config.user_modifiable) 345 if (!config.user_modifiable)
334 controlled_by = "shared"; 346 controlled_by = "shared";
335 break; 347 break;
336 } 348 }
337 } else if (path == kProxySingle) { 349 } else if (path == kProxySingle) {
338 data = base::Value::CreateBooleanValue(config.mode == 350 data = base::Value::CreateBooleanValue(config.mode ==
339 chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_SINGLE_PROXY); 351 chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_SINGLE_PROXY);
352 } else if (path == kProxyUsePacUrl) {
353 data = base::Value::CreateBooleanValue(config.mode ==
354 chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_PAC_SCRIPT);
340 } else if (path == kProxyFtpUrl) { 355 } else if (path == kProxyFtpUrl) {
341 data = CreateServerHostValue(config.ftp_proxy); 356 data = CreateServerHostValue(config.ftp_proxy);
342 } else if (path == kProxySocks) { 357 } else if (path == kProxySocks) {
343 data = CreateServerHostValue(config.socks_proxy); 358 data = CreateServerHostValue(config.socks_proxy);
344 } else if (path == kProxyHttpPort) { 359 } else if (path == kProxyHttpPort) {
345 data = CreateServerPortValue(config.http_proxy); 360 data = CreateServerPortValue(config.http_proxy);
346 } else if (path == kProxyHttpsPort) { 361 } else if (path == kProxyHttpsPort) {
347 data = CreateServerPortValue(config.https_proxy); 362 data = CreateServerPortValue(config.https_proxy);
348 } else if (path == kProxyFtpPort) { 363 } else if (path == kProxyFtpPort) {
349 data = CreateServerPortValue(config.ftp_proxy); 364 data = CreateServerPortValue(config.ftp_proxy);
(...skipping 22 matching lines...) Expand all
372 } else { 387 } else {
373 dict->SetBoolean("disabled", false); 388 dict->SetBoolean("disabled", false);
374 } 389 }
375 *out_value = dict; 390 *out_value = dict;
376 return true; 391 return true;
377 } 392 }
378 393
379 } // namespace proxy_cros_settings_parser 394 } // namespace proxy_cros_settings_parser
380 395
381 } // namespace chromeos 396 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/proxy_cros_settings_parser.h ('k') | chrome/browser/resources/options/chromeos/internet_detail.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698