diff options
author | deepak.m1 <deepak.m1@samsung.com> | 2015-04-14 23:30:11 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-15 06:30:30 +0000 |
commit | 75277b0f5f91981603f04c7d39a582b700e45830 (patch) | |
tree | 2be2ad3127bd85239d66496c782422b40e14905f /extensions/browser/extension_prefs.cc | |
parent | d7f0d7b7cbdd2b4645bcca1b8703307b9d7266a5 (diff) | |
download | chromium_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.cc | 8 |
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); |