Vectorize website settings icons in omnibox
[chromium-blink-merge.git] / components / proxy_config / proxy_prefs.cc
blob215a45132b3ff13b550939155fe63862aec945f2
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
3 // found in the LICENSE file.
5 #include "components/proxy_config/proxy_prefs.h"
7 #include "base/basictypes.h"
8 #include "base/logging.h"
10 namespace ProxyPrefs {
12 namespace {
14 // These names are exposed to the proxy extension API. They must be in sync
15 // with the constants of ProxyPrefs.
16 const char* kProxyModeNames[] = { kDirectProxyModeName,
17 kAutoDetectProxyModeName,
18 kPacScriptProxyModeName,
19 kFixedServersProxyModeName,
20 kSystemProxyModeName };
22 static_assert(arraysize(kProxyModeNames) == kModeCount,
23 "kProxyModeNames must have kModeCount elements");
25 } // namespace
27 const char kDirectProxyModeName[] = "direct";
28 const char kAutoDetectProxyModeName[] = "auto_detect";
29 const char kPacScriptProxyModeName[] = "pac_script";
30 const char kFixedServersProxyModeName[] = "fixed_servers";
31 const char kSystemProxyModeName[] = "system";
33 bool IntToProxyMode(int in_value, ProxyMode* out_value) {
34 DCHECK(out_value);
35 if (in_value < 0 || in_value >= kModeCount)
36 return false;
37 *out_value = static_cast<ProxyMode>(in_value);
38 return true;
41 bool StringToProxyMode(const std::string& in_value, ProxyMode* out_value) {
42 DCHECK(out_value);
43 for (int i = 0; i < kModeCount; i++) {
44 if (in_value == kProxyModeNames[i])
45 return IntToProxyMode(i, out_value);
47 return false;
50 const char* ProxyModeToString(ProxyMode mode) {
51 return kProxyModeNames[mode];
54 std::string ConfigStateToDebugString(ConfigState state) {
55 switch (state) {
56 case CONFIG_POLICY:
57 return "config_policy";
58 case CONFIG_EXTENSION:
59 return "config_extension";
60 case CONFIG_OTHER_PRECEDE:
61 return "config_other_precede";
62 case CONFIG_SYSTEM:
63 return "config_system";
64 case CONFIG_FALLBACK:
65 return "config_fallback";
66 case CONFIG_UNSET:
67 return "config_unset";
69 NOTREACHED();
70 return "";
73 } // namespace ProxyPrefs