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

Side by Side Diff: chrome/browser/extensions/api/proxy/proxy_api_helpers.cc

Issue 2127373006: Use base::StartWith() in more places when appropriate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 // 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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 LOG(ERROR) << "Invalid mode for proxy settings: " << proxy_mode; 71 LOG(ERROR) << "Invalid mode for proxy settings: " << proxy_mode;
72 *bad_message = true; 72 *bad_message = true;
73 return false; 73 return false;
74 } 74 }
75 return true; 75 return true;
76 } 76 }
77 77
78 bool GetPacMandatoryFromExtensionPref(const base::DictionaryValue* proxy_config, 78 bool GetPacMandatoryFromExtensionPref(const base::DictionaryValue* proxy_config,
79 bool* out, 79 bool* out,
80 std::string* error, 80 std::string* error,
81 bool* bad_message){ 81 bool* bad_message) {
82 const base::DictionaryValue* pac_dict = NULL; 82 const base::DictionaryValue* pac_dict = NULL;
83 proxy_config->GetDictionary(keys::kProxyConfigPacScript, &pac_dict); 83 proxy_config->GetDictionary(keys::kProxyConfigPacScript, &pac_dict);
84 if (!pac_dict) 84 if (!pac_dict)
85 return true; 85 return true;
86 86
87 bool mandatory_pac = false; 87 bool mandatory_pac = false;
88 if (pac_dict->HasKey(keys::kProxyConfigPacScriptMandatory) && 88 if (pac_dict->HasKey(keys::kProxyConfigPacScriptMandatory) &&
89 !pac_dict->GetBoolean(keys::kProxyConfigPacScriptMandatory, 89 !pac_dict->GetBoolean(keys::kProxyConfigPacScriptMandatory,
90 &mandatory_pac)) { 90 &mandatory_pac)) {
91 LOG(ERROR) << "'pacScript.mandatory' could not be parsed."; 91 LOG(ERROR) << "'pacScript.mandatory' could not be parsed.";
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 if (!proxy_config.GetPacUrl(&pac_url)) { 468 if (!proxy_config.GetPacUrl(&pac_url)) {
469 LOG(ERROR) << "Invalid proxy configuration. Missing PAC URL."; 469 LOG(ERROR) << "Invalid proxy configuration. Missing PAC URL.";
470 return NULL; 470 return NULL;
471 } 471 }
472 bool pac_mandatory = false; 472 bool pac_mandatory = false;
473 if (!proxy_config.GetPacMandatory(&pac_mandatory)) { 473 if (!proxy_config.GetPacMandatory(&pac_mandatory)) {
474 LOG(ERROR) << "Invalid proxy configuration. Missing PAC mandatory field."; 474 LOG(ERROR) << "Invalid proxy configuration. Missing PAC mandatory field.";
475 return NULL; 475 return NULL;
476 } 476 }
477 477
478 if (pac_url.find("data") == 0) { 478 if (base::StartsWith(pac_url, "data", base::CompareCase::SENSITIVE)) {
479 std::string pac_data; 479 std::string pac_data;
480 if (!CreatePACScriptFromDataURL(pac_url, &pac_data)) { 480 if (!CreatePACScriptFromDataURL(pac_url, &pac_data)) {
481 LOG(ERROR) << "Cannot decode base64-encoded PAC data URL: " << pac_url; 481 LOG(ERROR) << "Cannot decode base64-encoded PAC data URL: " << pac_url;
482 return NULL; 482 return NULL;
483 } 483 }
484 pac_script_dict->SetString(keys::kProxyConfigPacScriptData, pac_data); 484 pac_script_dict->SetString(keys::kProxyConfigPacScriptData, pac_data);
485 } else { 485 } else {
486 pac_script_dict->SetString(keys::kProxyConfigPacScriptUrl, pac_url); 486 pac_script_dict->SetString(keys::kProxyConfigPacScriptUrl, pac_url);
487 } 487 }
488 pac_script_dict->SetBoolean(keys::kProxyConfigPacScriptMandatory, 488 pac_script_dict->SetBoolean(keys::kProxyConfigPacScriptMandatory,
489 pac_mandatory); 489 pac_mandatory);
490 return pac_script_dict.release(); 490 return pac_script_dict.release();
491 } 491 }
492 492
493 base::ListValue* TokenizeToStringList(const std::string& in, 493 base::ListValue* TokenizeToStringList(const std::string& in,
494 const std::string& delims) { 494 const std::string& delims) {
495 base::ListValue* out = new base::ListValue; 495 base::ListValue* out = new base::ListValue;
496 base::StringTokenizer entries(in, delims); 496 base::StringTokenizer entries(in, delims);
497 while (entries.GetNext()) 497 while (entries.GetNext())
498 out->AppendString(entries.token()); 498 out->AppendString(entries.token());
499 return out; 499 return out;
500 } 500 }
501 501
502 } // namespace proxy_api_helpers 502 } // namespace proxy_api_helpers
503 } // namespace extensions 503 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698