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

Unified Diff: chrome/browser/extensions/extension_content_settings_api.cc

Issue 7229012: Use extension match pattern syntax in content settings extension API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: initialize port Created 9 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_content_settings_api.cc
diff --git a/chrome/browser/extensions/extension_content_settings_api.cc b/chrome/browser/extensions/extension_content_settings_api.cc
index eaed7c08cbd7064bd49defcecae5b0bc49f1b6f8..58f83438e687f7870bd5cd91d2324b6010a0c118 100644
--- a/chrome/browser/extensions/extension_content_settings_api.cc
+++ b/chrome/browser/extensions/extension_content_settings_api.cc
@@ -169,29 +169,27 @@ bool SetContentSettingFunction::RunImpl() {
DictionaryValue* details = NULL;
EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(1, &details));
- DictionaryValue* top_level_pattern_dict = NULL;
- EXTENSION_FUNCTION_VALIDATE(
- details->GetDictionary(keys::kTopLevelPatternKey,
- &top_level_pattern_dict));
std::string top_level_pattern_str;
+ std::string top_level_error;
EXTENSION_FUNCTION_VALIDATE(
- top_level_pattern_dict->GetString(keys::kPatternKey,
- &top_level_pattern_str));
+ details->GetString(keys::kTopLevelPatternKey, &top_level_pattern_str));
ContentSettingsPattern top_level_pattern =
- ContentSettingsPattern::FromString(top_level_pattern_str);
- EXTENSION_FUNCTION_VALIDATE(top_level_pattern.IsValid());
+ helpers::ParseExtensionPattern(top_level_pattern_str, &top_level_error);
+ if (!top_level_pattern.IsValid()) {
+ error_ = top_level_error;
+ return false;
+ }
- DictionaryValue* embedded_pattern_dict = NULL;
- EXTENSION_FUNCTION_VALIDATE(
- details->GetDictionary(keys::kEmbeddedPatternKey,
- &embedded_pattern_dict));
std::string embedded_pattern_str;
+ std::string embedded_error;
EXTENSION_FUNCTION_VALIDATE(
- embedded_pattern_dict->GetString(keys::kPatternKey,
- &embedded_pattern_str));
+ details->GetString(keys::kEmbeddedPatternKey, &embedded_pattern_str));
ContentSettingsPattern embedded_pattern =
- ContentSettingsPattern::FromString(embedded_pattern_str);
- EXTENSION_FUNCTION_VALIDATE(embedded_pattern.IsValid());
+ helpers::ParseExtensionPattern(embedded_pattern_str, &embedded_error);
+ if (!embedded_pattern.IsValid()) {
+ error_ = embedded_error;
+ return false;
+ }
std::string resource_identifier;
if (details->HasKey(keys::kResourceIdentifierKey)) {
« no previous file with comments | « no previous file | chrome/browser/extensions/extension_content_settings_helpers.h » ('j') | chrome/common/extensions/url_pattern.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698