Index: extensions/browser/extension_prefs.cc |
diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc |
index 87ea7bcffdb2f02ea9e7533792d6e17ea644af20..c6bfbab831f7c3b297bfefc3d881b98fbf54f08a 100644 |
--- a/extensions/browser/extension_prefs.cc |
+++ b/extensions/browser/extension_prefs.cc |
@@ -541,6 +541,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); |