Index: chrome/browser/extensions/extension_management_internal.cc |
diff --git a/chrome/browser/extensions/extension_management_internal.cc b/chrome/browser/extensions/extension_management_internal.cc |
index f9cf06e630fad927fa23ffd997a570f925f8b511..4575d277961b0f693d1319abf466532383b1ec6f 100644 |
--- a/chrome/browser/extensions/extension_management_internal.cc |
+++ b/chrome/browser/extensions/extension_management_internal.cc |
@@ -133,8 +133,15 @@ bool IndividualSettings::Parse(const base::DictionaryValue* dict, |
std::string unparsed_str; |
host_list_value->GetString(i, &unparsed_str); |
URLPattern pattern = URLPattern(extension_scheme_mask); |
- URLPattern::ParseResult parse_result = pattern.Parse( |
- unparsed_str, URLPattern::ALLOW_WILDCARD_FOR_EFFECTIVE_TLD); |
+ URLPattern::ParseResult parse_result; |
+ if (unparsed_str == "<all_urls>") { |
+ parse_result = pattern.Parse( |
+ unparsed_str, URLPattern::ALLOW_WILDCARD_FOR_EFFECTIVE_TLD); |
+ } else { |
+ parse_result = |
+ pattern.Parse(unparsed_str + "/*", |
+ URLPattern::ALLOW_WILDCARD_FOR_EFFECTIVE_TLD); |
+ } |
if (parse_result != URLPattern::PARSE_SUCCESS) { |
LOG(WARNING) << kMalformedPreferenceWarning; |
LOG(WARNING) << "Invalid URL pattern '" + unparsed_str + |