| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // Implementation of helper functions for the Chrome Extensions Proxy Settings | 5 // Implementation of helper functions for the Chrome Extensions Proxy Settings |
| 6 // API. | 6 // API. |
| 7 // | 7 // |
| 8 // Throughout this code, we report errors to the user by setting an |error| | 8 // Throughout this code, we report errors to the user by setting an |error| |
| 9 // parameter, if and only if these errors can be cause by invalid input | 9 // parameter, if and only if these errors can be cause by invalid input |
| 10 // from the extension and we cannot expect that the extensions API has | 10 // from the extension and we cannot expect that the extensions API has |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 | 57 |
| 58 // Extension Pref -> Browser Pref conversion. | 58 // Extension Pref -> Browser Pref conversion. |
| 59 | 59 |
| 60 bool GetProxyModeFromExtensionPref(const DictionaryValue* proxy_config, | 60 bool GetProxyModeFromExtensionPref(const DictionaryValue* proxy_config, |
| 61 ProxyPrefs::ProxyMode* out, | 61 ProxyPrefs::ProxyMode* out, |
| 62 std::string* error, | 62 std::string* error, |
| 63 bool* bad_message) { | 63 bool* bad_message) { |
| 64 std::string proxy_mode; | 64 std::string proxy_mode; |
| 65 | 65 |
| 66 // We can safely assume that this is ASCII due to the allowed enumeration | 66 // We can safely assume that this is ASCII due to the allowed enumeration |
| 67 // values specified in extension_api.json. | 67 // values specified in the extension API JSON. |
| 68 proxy_config->GetStringASCII(keys::kProxyConfigMode, &proxy_mode); | 68 proxy_config->GetStringASCII(keys::kProxyConfigMode, &proxy_mode); |
| 69 if (!ProxyPrefs::StringToProxyMode(proxy_mode, out)) { | 69 if (!ProxyPrefs::StringToProxyMode(proxy_mode, out)) { |
| 70 LOG(ERROR) << "Invalid mode for proxy settings: " << proxy_mode; | 70 LOG(ERROR) << "Invalid mode for proxy settings: " << proxy_mode; |
| 71 *bad_message = true; | 71 *bad_message = true; |
| 72 return false; | 72 return false; |
| 73 } | 73 } |
| 74 return true; | 74 return true; |
| 75 } | 75 } |
| 76 | 76 |
| 77 bool GetPacMandatoryFromExtensionPref(const DictionaryValue* proxy_config, | 77 bool GetPacMandatoryFromExtensionPref(const DictionaryValue* proxy_config, |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 } | 147 } |
| 148 | 148 |
| 149 bool GetProxyServer(const DictionaryValue* proxy_server, | 149 bool GetProxyServer(const DictionaryValue* proxy_server, |
| 150 net::ProxyServer::Scheme default_scheme, | 150 net::ProxyServer::Scheme default_scheme, |
| 151 net::ProxyServer* out, | 151 net::ProxyServer* out, |
| 152 std::string* error, | 152 std::string* error, |
| 153 bool* bad_message) { | 153 bool* bad_message) { |
| 154 std::string scheme_string; // optional. | 154 std::string scheme_string; // optional. |
| 155 | 155 |
| 156 // We can safely assume that this is ASCII due to the allowed enumeration | 156 // We can safely assume that this is ASCII due to the allowed enumeration |
| 157 // values specified in extension_api.json. | 157 // values specified in the extension API JSON. |
| 158 proxy_server->GetStringASCII(keys::kProxyConfigRuleScheme, &scheme_string); | 158 proxy_server->GetStringASCII(keys::kProxyConfigRuleScheme, &scheme_string); |
| 159 | 159 |
| 160 net::ProxyServer::Scheme scheme = | 160 net::ProxyServer::Scheme scheme = |
| 161 net::ProxyServer::GetSchemeFromURI(scheme_string); | 161 net::ProxyServer::GetSchemeFromURI(scheme_string); |
| 162 if (scheme == net::ProxyServer::SCHEME_INVALID) | 162 if (scheme == net::ProxyServer::SCHEME_INVALID) |
| 163 scheme = default_scheme; | 163 scheme = default_scheme; |
| 164 | 164 |
| 165 // TODO(battre): handle UTF-8 in hostnames (http://crbug.com/72692). | 165 // TODO(battre): handle UTF-8 in hostnames (http://crbug.com/72692). |
| 166 string16 host16; | 166 string16 host16; |
| 167 if (!proxy_server->GetString(keys::kProxyConfigRuleHost, &host16)) { | 167 if (!proxy_server->GetString(keys::kProxyConfigRuleHost, &host16)) { |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 ListValue* TokenizeToStringList(const std::string& in, | 479 ListValue* TokenizeToStringList(const std::string& in, |
| 480 const std::string& delims) { | 480 const std::string& delims) { |
| 481 ListValue* out = new ListValue; | 481 ListValue* out = new ListValue; |
| 482 StringTokenizer entries(in, delims); | 482 StringTokenizer entries(in, delims); |
| 483 while (entries.GetNext()) | 483 while (entries.GetNext()) |
| 484 out->Append(Value::CreateStringValue(entries.token())); | 484 out->Append(Value::CreateStringValue(entries.token())); |
| 485 return out; | 485 return out; |
| 486 } | 486 } |
| 487 | 487 |
| 488 } // namespace extension_proxy_api_helpers | 488 } // namespace extension_proxy_api_helpers |
| OLD | NEW |