Index: chrome/common/extensions/extension.cc |
=================================================================== |
--- chrome/common/extensions/extension.cc (revision 54542) |
+++ chrome/common/extensions/extension.cc (working copy) |
@@ -862,17 +862,18 @@ |
if (new_extension->HasAccessToAllHosts()) |
return true; |
- std::set<std::string> old_hosts = |
- old_extension->GetEffectiveHostPermissions(); |
- std::set<std::string> new_hosts = |
- new_extension->GetEffectiveHostPermissions(); |
+ ExtensionExtent::PatternList old_hosts = |
+ old_extension->GetEffectiveHostPermissions().patterns(); |
+ ExtensionExtent::PatternList new_hosts = |
+ new_extension->GetEffectiveHostPermissions().patterns(); |
- std::set<std::string> difference; |
+ std::set<URLPattern, URLPattern::EffectiveHostCompareFunctor> diff; |
std::set_difference(new_hosts.begin(), new_hosts.end(), |
- old_hosts.begin(), old_hosts.end(), |
- std::insert_iterator<std::set<std::string> >( |
- difference, difference.end())); |
- if (difference.size() > 0) |
+ old_hosts.begin(), old_hosts.end(), |
+ std::insert_iterator<std::set<URLPattern, |
+ URLPattern::EffectiveHostCompareFunctor> >(diff, diff.end()), |
+ URLPattern::EffectiveHostCompare); |
+ if (diff.size() > 0) |
return true; |
} |
@@ -1693,19 +1694,19 @@ |
return false; |
} |
-const std::set<std::string> Extension::GetEffectiveHostPermissions() const { |
- std::set<std::string> effective_hosts; |
+const ExtensionExtent Extension::GetEffectiveHostPermissions() const { |
+ ExtensionExtent effective_hosts; |
for (URLPatternList::const_iterator host = host_permissions_.begin(); |
host != host_permissions_.end(); ++host) |
- effective_hosts.insert(host->host()); |
+ effective_hosts.AddPattern(*host); |
for (UserScriptList::const_iterator content_script = content_scripts_.begin(); |
content_script != content_scripts_.end(); ++content_script) { |
UserScript::PatternList::const_iterator pattern = |
content_script->url_patterns().begin(); |
for (; pattern != content_script->url_patterns().end(); ++pattern) |
- effective_hosts.insert(pattern->host()); |
+ effective_hosts.AddPattern(*pattern); |
} |
return effective_hosts; |