| Index: chrome/common/extensions/extension.cc
|
| ===================================================================
|
| --- chrome/common/extensions/extension.cc (revision 54340)
|
| +++ chrome/common/extensions/extension.cc (working copy)
|
| @@ -18,6 +18,7 @@
|
| #include "base/stl_util-inl.h"
|
| #include "base/third_party/nss/blapi.h"
|
| #include "base/third_party/nss/sha256.h"
|
| +#include "base/string_number_conversions.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "chrome/common/chrome_constants.h"
|
| #include "chrome/common/chrome_switches.h"
|
| @@ -61,8 +62,13 @@
|
| // completely numeric host, since some software interprets that as an IP
|
| // address.
|
| static void ConvertHexadecimalToIDAlphabet(std::string* id) {
|
| - for (size_t i = 0; i < id->size(); ++i)
|
| - (*id)[i] = HexStringToInt(id->substr(i, 1)) + 'a';
|
| + for (size_t i = 0; i < id->size(); ++i) {
|
| + int val;
|
| + if (base::HexStringToInt(id->substr(i, 1), &val))
|
| + (*id)[i] = val + 'a';
|
| + else
|
| + (*id)[i] = 'a';
|
| + }
|
| }
|
|
|
| const int kValidWebExtentSchemes =
|
| @@ -221,7 +227,7 @@
|
| std::string run_location;
|
| if (!content_script->GetString(keys::kRunAt, &run_location)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidRunAt,
|
| - IntToString(definition_index));
|
| + base::IntToString(definition_index));
|
| return false;
|
| }
|
|
|
| @@ -233,7 +239,7 @@
|
| result->set_run_location(UserScript::DOCUMENT_IDLE);
|
| } else {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidRunAt,
|
| - IntToString(definition_index));
|
| + base::IntToString(definition_index));
|
| return false;
|
| }
|
| }
|
| @@ -243,7 +249,7 @@
|
| bool all_frames = false;
|
| if (!content_script->GetBoolean(keys::kAllFrames, &all_frames)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidAllFrames, IntToString(definition_index));
|
| + errors::kInvalidAllFrames, base::IntToString(definition_index));
|
| return false;
|
| }
|
| result->set_match_all_frames(all_frames);
|
| @@ -253,27 +259,27 @@
|
| ListValue* matches = NULL;
|
| if (!content_script->GetList(keys::kMatches, &matches)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidMatches,
|
| - IntToString(definition_index));
|
| + base::IntToString(definition_index));
|
| return false;
|
| }
|
|
|
| if (matches->GetSize() == 0) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidMatchCount,
|
| - IntToString(definition_index));
|
| + base::IntToString(definition_index));
|
| return false;
|
| }
|
| for (size_t j = 0; j < matches->GetSize(); ++j) {
|
| std::string match_str;
|
| if (!matches->GetString(j, &match_str)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidMatch,
|
| - IntToString(definition_index), IntToString(j));
|
| + base::IntToString(definition_index), base::IntToString(j));
|
| return false;
|
| }
|
|
|
| URLPattern pattern(UserScript::kValidUserScriptSchemes);
|
| if (!pattern.Parse(match_str)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidMatch,
|
| - IntToString(definition_index), IntToString(j));
|
| + base::IntToString(definition_index), base::IntToString(j));
|
| return false;
|
| }
|
|
|
| @@ -296,7 +302,7 @@
|
| if (content_script->HasKey(keys::kJs) &&
|
| !content_script->GetList(keys::kJs, &js)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidJsList,
|
| - IntToString(definition_index));
|
| + base::IntToString(definition_index));
|
| return false;
|
| }
|
|
|
| @@ -304,14 +310,14 @@
|
| if (content_script->HasKey(keys::kCss) &&
|
| !content_script->GetList(keys::kCss, &css)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidCssList,
|
| - IntToString(definition_index));
|
| + base::IntToString(definition_index));
|
| return false;
|
| }
|
|
|
| // The manifest needs to have at least one js or css user script definition.
|
| if (((js ? js->GetSize() : 0) + (css ? css->GetSize() : 0)) == 0) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kMissingFile,
|
| - IntToString(definition_index));
|
| + base::IntToString(definition_index));
|
| return false;
|
| }
|
|
|
| @@ -322,7 +328,8 @@
|
| std::string relative;
|
| if (!js->Get(script_index, &value) || !value->GetAsString(&relative)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidJs,
|
| - IntToString(definition_index), IntToString(script_index));
|
| + base::IntToString(definition_index),
|
| + base::IntToString(script_index));
|
| return false;
|
| }
|
| GURL url = GetResourceURL(relative);
|
| @@ -339,7 +346,8 @@
|
| std::string relative;
|
| if (!css->Get(script_index, &value) || !value->GetAsString(&relative)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidCss,
|
| - IntToString(definition_index), IntToString(script_index));
|
| + base::IntToString(definition_index),
|
| + base::IntToString(script_index));
|
| return false;
|
| }
|
| GURL url = GetResourceURL(relative);
|
| @@ -365,7 +373,8 @@
|
| ListValue* list = NULL;
|
| if (!content_script->GetList(globs_property_name, &list)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidGlobList,
|
| - IntToString(content_script_index), WideToASCII(globs_property_name));
|
| + base::IntToString(content_script_index),
|
| + WideToUTF8(globs_property_name));
|
| return false;
|
| }
|
|
|
| @@ -373,8 +382,9 @@
|
| std::string glob;
|
| if (!list->GetString(i, &glob)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidGlob,
|
| - IntToString(content_script_index), WideToASCII(globs_property_name),
|
| - IntToString(i));
|
| + base::IntToString(content_script_index),
|
| + WideToUTF8(globs_property_name),
|
| + base::IntToString(i));
|
| return false;
|
| }
|
|
|
| @@ -558,14 +568,14 @@
|
| std::string pattern_string;
|
| if (!pattern_list->GetString(i, &pattern_string)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(value_error,
|
| - UintToString(i));
|
| + base::UintToString(i));
|
| return false;
|
| }
|
|
|
| URLPattern pattern(kValidWebExtentSchemes);
|
| if (!pattern.Parse(pattern_string)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(value_error,
|
| - UintToString(i));
|
| + base::UintToString(i));
|
| return false;
|
| }
|
|
|
| @@ -573,7 +583,7 @@
|
| // imply one at the end.
|
| if (pattern.path().find('*') != std::string::npos) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(value_error,
|
| - UintToString(i));
|
| + base::UintToString(i));
|
| return false;
|
| }
|
| pattern.set_path(pattern.path() + '*');
|
| @@ -925,8 +935,8 @@
|
|
|
| if (decoded->width() != icon_size || decoded->height() != icon_size) {
|
| LOG(ERROR) << "Icon file has unexpected size: "
|
| - << IntToString(decoded->width()) << "x"
|
| - << IntToString(decoded->height());
|
| + << base::IntToString(decoded->width()) << "x"
|
| + << base::IntToString(decoded->height());
|
| return;
|
| }
|
|
|
| @@ -1074,7 +1084,7 @@
|
| }
|
|
|
| for (size_t i = 0; i < arraysize(kIconSizes); ++i) {
|
| - std::wstring key = ASCIIToWide(IntToString(kIconSizes[i]));
|
| + std::wstring key = ASCIIToWide(base::IntToString(kIconSizes[i]));
|
| if (icons_value->HasKey(key)) {
|
| std::string icon_path;
|
| if (!icons_value->GetString(key, &icon_path)) {
|
| @@ -1199,7 +1209,7 @@
|
| // Get plugins[i].path.
|
| if (!plugin_value->GetString(keys::kPluginsPath, &path)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidPluginsPath, IntToString(i));
|
| + errors::kInvalidPluginsPath, base::IntToString(i));
|
| return false;
|
| }
|
|
|
| @@ -1207,7 +1217,7 @@
|
| if (plugin_value->HasKey(keys::kPluginsPublic)) {
|
| if (!plugin_value->GetBoolean(keys::kPluginsPublic, &is_public)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidPluginsPublic, IntToString(i));
|
| + errors::kInvalidPluginsPublic, base::IntToString(i));
|
| return false;
|
| }
|
| }
|
| @@ -1260,7 +1270,7 @@
|
| if (!toolstrip_value->GetString(keys::kToolstripPath,
|
| &toolstrip_path)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidToolstrip, IntToString(i));
|
| + errors::kInvalidToolstrip, base::IntToString(i));
|
| return false;
|
| }
|
| toolstrip.toolstrip = GetResourceURL(toolstrip_path);
|
| @@ -1269,14 +1279,14 @@
|
| if (!toolstrip_value->GetString(keys::kToolstripMolePath,
|
| &mole_path)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidToolstrip, IntToString(i));
|
| + errors::kInvalidToolstrip, base::IntToString(i));
|
| return false;
|
| }
|
| int height;
|
| if (!toolstrip_value->GetInteger(keys::kToolstripMoleHeight,
|
| &height) || (height < 0)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidToolstrip, IntToString(i));
|
| + errors::kInvalidToolstrip, base::IntToString(i));
|
| return false;
|
| }
|
| toolstrip.mole = GetResourceURL(mole_path);
|
| @@ -1284,7 +1294,7 @@
|
| }
|
| } else {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidToolstrip, IntToString(i));
|
| + errors::kInvalidToolstrip, base::IntToString(i));
|
| return false;
|
| }
|
| toolstrips_.push_back(toolstrip);
|
| @@ -1303,7 +1313,7 @@
|
| DictionaryValue* content_script;
|
| if (!list_value->GetDictionary(i, &content_script)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidContentScript, IntToString(i));
|
| + errors::kInvalidContentScript, base::IntToString(i));
|
| return false;
|
| }
|
|
|
| @@ -1391,7 +1401,7 @@
|
| std::string permission_str;
|
| if (!permissions->GetString(i, &permission_str)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidPermission, IntToString(i));
|
| + errors::kInvalidPermission, base::IntToString(i));
|
| return false;
|
| }
|
|
|
| @@ -1407,13 +1417,13 @@
|
| URLPattern::SCHEME_CHROMEUI);
|
| if (!pattern.Parse(permission_str)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidPermission, IntToString(i));
|
| + errors::kInvalidPermission, base::IntToString(i));
|
| return false;
|
| }
|
|
|
| if (!CanAccessURL(pattern)) {
|
| *error = ExtensionErrorUtils::FormatErrorMessage(
|
| - errors::kInvalidPermissionScheme, IntToString(i));
|
| + errors::kInvalidPermissionScheme, base::IntToString(i));
|
| return false;
|
| }
|
|
|
| @@ -1579,7 +1589,8 @@
|
| }
|
|
|
| static std::string SizeToString(const gfx::Size& max_size) {
|
| - return IntToString(max_size.width()) + "x" + IntToString(max_size.height());
|
| + return base::IntToString(max_size.width()) + "x" +
|
| + base::IntToString(max_size.height());
|
| }
|
|
|
| void Extension::SetCachedImage(const ExtensionResource& source,
|
|
|