summaryrefslogtreecommitdiffstats
path: root/extensions/browser/extension_prefs.cc
diff options
context:
space:
mode:
authordeepak.m1 <deepak.m1@samsung.com>2015-04-14 23:30:11 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-15 06:30:30 +0000
commit75277b0f5f91981603f04c7d39a582b700e45830 (patch)
tree2be2ad3127bd85239d66496c782422b40e14905f /extensions/browser/extension_prefs.cc
parentd7f0d7b7cbdd2b4645bcca1b8703307b9d7266a5 (diff)
downloadchromium_src-75277b0f5f91981603f04c7d39a582b700e45830.zip
chromium_src-75277b0f5f91981603f04c7d39a582b700e45830.tar.gz
chromium_src-75277b0f5f91981603f04c7d39a582b700e45830.tar.bz2
Fix for ERROR:url_pattern_set.cc(240)] Invalid url pattern: chrome://print/*
This issue is due to usage of UserScript::ValidUserScriptSchemes() instead of UserScript::kValidUserScriptSchemes, we will add CHROMEUI scheme in valid schemes mask if extension is component extension. BUG=467230 Review URL: https://codereview.chromium.org/1025613003 Cr-Commit-Position: refs/heads/master@{#325197}
Diffstat (limited to 'extensions/browser/extension_prefs.cc')
-rw-r--r--extensions/browser/extension_prefs.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc
index 44853c8..ff70812 100644
--- a/extensions/browser/extension_prefs.cc
+++ b/extensions/browser/extension_prefs.cc
@@ -543,6 +543,14 @@ bool ExtensionPrefs::ReadPrefAsURLPatternSet(const std::string& extension_id,
const base::ListValue* value = NULL;
if (!ReadPrefAsList(extension_id, pref_key, &value))
return false;
+ const base::DictionaryValue* extension = GetExtensionPref(extension_id);
+ if (!extension)
+ return false;
+ int location;
+ if (extension->GetInteger(kPrefLocation, &location) &&
+ static_cast<Manifest::Location>(location) == Manifest::COMPONENT) {
+ valid_schemes |= URLPattern::SCHEME_CHROMEUI;
+ }
bool allow_file_access = AllowFileAccess(extension_id);
return result->Populate(*value, valid_schemes, allow_file_access, NULL);