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

Side by Side Diff: chrome/browser/prefs/command_line_pref_store.cc

Issue 6004003: Introduce a separate preference for 'proxy server mode' (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nit - alphabetize Created 9 years, 12 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/prefs/command_line_pref_store.h" 5 #include "chrome/browser/prefs/command_line_pref_store.h"
6 6
7 #include "app/app_switches.h" 7 #include "app/app_switches.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/prefs/proxy_prefs.h"
10 #include "chrome/common/chrome_switches.h" 11 #include "chrome/common/chrome_switches.h"
11 #include "chrome/common/pref_names.h" 12 #include "chrome/common/pref_names.h"
12 13
13 const CommandLinePrefStore::StringSwitchToPreferenceMapEntry 14 const CommandLinePrefStore::StringSwitchToPreferenceMapEntry
14 CommandLinePrefStore::string_switch_map_[] = { 15 CommandLinePrefStore::string_switch_map_[] = {
15 { switches::kLang, prefs::kApplicationLocale }, 16 { switches::kLang, prefs::kApplicationLocale },
16 { switches::kProxyServer, prefs::kProxyServer }, 17 { switches::kProxyServer, prefs::kProxyServer },
17 { switches::kProxyPacUrl, prefs::kProxyPacUrl }, 18 { switches::kProxyPacUrl, prefs::kProxyPacUrl },
18 { switches::kProxyBypassList, prefs::kProxyBypassList }, 19 { switches::kProxyBypassList, prefs::kProxyBypassList },
19 { switches::kAuthSchemes, prefs::kAuthSchemes }, 20 { switches::kAuthSchemes, prefs::kAuthSchemes },
20 { switches::kAuthServerWhitelist, prefs::kAuthServerWhitelist }, 21 { switches::kAuthServerWhitelist, prefs::kAuthServerWhitelist },
21 { switches::kAuthNegotiateDelegateWhitelist, 22 { switches::kAuthNegotiateDelegateWhitelist,
22 prefs::kAuthNegotiateDelegateWhitelist }, 23 prefs::kAuthNegotiateDelegateWhitelist },
23 { switches::kGSSAPILibraryName, prefs::kGSSAPILibraryName }, 24 { switches::kGSSAPILibraryName, prefs::kGSSAPILibraryName },
24 }; 25 };
25 26
26 const CommandLinePrefStore::BooleanSwitchToPreferenceMapEntry 27 const CommandLinePrefStore::BooleanSwitchToPreferenceMapEntry
27 CommandLinePrefStore::boolean_switch_map_[] = { 28 CommandLinePrefStore::boolean_switch_map_[] = {
28 { switches::kNoProxyServer, prefs::kNoProxyServer, true },
29 { switches::kProxyAutoDetect, prefs::kProxyAutoDetect, true },
30 { switches::kDisableAuthNegotiateCnameLookup, 29 { switches::kDisableAuthNegotiateCnameLookup,
31 prefs::kDisableAuthNegotiateCnameLookup, true }, 30 prefs::kDisableAuthNegotiateCnameLookup, true },
32 { switches::kEnableAuthNegotiatePort, prefs::kEnableAuthNegotiatePort, 31 { switches::kEnableAuthNegotiatePort, prefs::kEnableAuthNegotiatePort,
33 true }, 32 true },
34 { switches::kDisable3DAPIs, prefs::kDisable3DAPIs, true }, 33 { switches::kDisable3DAPIs, prefs::kDisable3DAPIs, true },
35 }; 34 };
36 35
37 CommandLinePrefStore::CommandLinePrefStore(const CommandLine* command_line) 36 CommandLinePrefStore::CommandLinePrefStore(const CommandLine* command_line)
38 : command_line_(command_line) { 37 : command_line_(command_line) {
39 ApplySimpleSwitches(); 38 ApplySimpleSwitches();
39 ApplyProxyMode();
40 ValidateProxySwitches(); 40 ValidateProxySwitches();
41 } 41 }
42 42
43 CommandLinePrefStore::~CommandLinePrefStore() {} 43 CommandLinePrefStore::~CommandLinePrefStore() {}
44 44
45 void CommandLinePrefStore::ApplySimpleSwitches() { 45 void CommandLinePrefStore::ApplySimpleSwitches() {
46 // Look for each switch we know about and set its preference accordingly. 46 // Look for each switch we know about and set its preference accordingly.
47 for (size_t i = 0; i < arraysize(string_switch_map_); ++i) { 47 for (size_t i = 0; i < arraysize(string_switch_map_); ++i) {
48 if (command_line_->HasSwitch(string_switch_map_[i].switch_name)) { 48 if (command_line_->HasSwitch(string_switch_map_[i].switch_name)) {
49 Value* value = Value::CreateStringValue(command_line_-> 49 Value* value = Value::CreateStringValue(command_line_->
(...skipping 16 matching lines...) Expand all
66 (command_line_->HasSwitch(switches::kProxyAutoDetect) || 66 (command_line_->HasSwitch(switches::kProxyAutoDetect) ||
67 command_line_->HasSwitch(switches::kProxyServer) || 67 command_line_->HasSwitch(switches::kProxyServer) ||
68 command_line_->HasSwitch(switches::kProxyPacUrl) || 68 command_line_->HasSwitch(switches::kProxyPacUrl) ||
69 command_line_->HasSwitch(switches::kProxyBypassList))) { 69 command_line_->HasSwitch(switches::kProxyBypassList))) {
70 LOG(WARNING) << "Additional command-line proxy switches specified when --" 70 LOG(WARNING) << "Additional command-line proxy switches specified when --"
71 << switches::kNoProxyServer << " was also specified."; 71 << switches::kNoProxyServer << " was also specified.";
72 return false; 72 return false;
73 } 73 }
74 return true; 74 return true;
75 } 75 }
76
77 void CommandLinePrefStore::ApplyProxyMode() {
78 if (command_line_->HasSwitch(switches::kNoProxyServer)) {
79 SetValue(prefs::kProxyMode,
80 Value::CreateIntegerValue(ProxyPrefs::MODE_DIRECT));
81 } else if (command_line_->HasSwitch(switches::kProxyPacUrl)) {
82 SetValue(prefs::kProxyMode,
83 Value::CreateIntegerValue(ProxyPrefs::MODE_PAC_SCRIPT));
84 } else if (command_line_->HasSwitch(switches::kProxyAutoDetect)) {
85 SetValue(prefs::kProxyMode,
86 Value::CreateIntegerValue(ProxyPrefs::MODE_AUTO_DETECT));
87 } else if (command_line_->HasSwitch(switches::kProxyServer)) {
88 SetValue(prefs::kProxyMode,
89 Value::CreateIntegerValue(ProxyPrefs::MODE_FIXED_SERVERS));
90 }
91 }
OLDNEW
« no previous file with comments | « chrome/browser/prefs/command_line_pref_store.h ('k') | chrome/browser/prefs/command_line_pref_store_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698