summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/extensions/user_script_slave.cc
diff options
context:
space:
mode:
authorjstritar@chromium.org <jstritar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-12 19:38:29 +0000
committerjstritar@chromium.org <jstritar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-12 19:38:29 +0000
commit33ccd923b68f5f202230f5a400021f3efd304439 (patch)
treec8c57a6de3b69286738be878683594f40a0c936d /chrome/renderer/extensions/user_script_slave.cc
parent2261b8bbffdf8abd12837326b0d0676f8eddb744 (diff)
downloadchromium_src-33ccd923b68f5f202230f5a400021f3efd304439.zip
chromium_src-33ccd923b68f5f202230f5a400021f3efd304439.tar.gz
chromium_src-33ccd923b68f5f202230f5a400021f3efd304439.tar.bz2
Update URLPatternSet to contain a std::set instead of std::vector.
This updates URLPatternSet to contain a std::set instead of a std::vector, making it easier to implement the set operations in ExtensionPermissionSet. BUG=84507 TEST=unit_tests Review URL: http://codereview.chromium.org/7347011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92219 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/extensions/user_script_slave.cc')
-rw-r--r--chrome/renderer/extensions/user_script_slave.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/chrome/renderer/extensions/user_script_slave.cc b/chrome/renderer/extensions/user_script_slave.cc
index 6ea6201..48e20ab 100644
--- a/chrome/renderer/extensions/user_script_slave.cc
+++ b/chrome/renderer/extensions/user_script_slave.cc
@@ -84,9 +84,10 @@ int UserScriptSlave::GetIsolatedWorldId(
void UserScriptSlave::InitializeIsolatedWorld(
int isolated_world_id,
const Extension* extension) {
- const URLPatternList& permissions =
- extension->GetEffectiveHostPermissions().patterns();
- for (size_t i = 0; i < permissions.size(); ++i) {
+ const URLPatternSet& permissions =
+ extension->GetEffectiveHostPermissions();
+ for (URLPatternSet::const_iterator i = permissions.begin();
+ i != permissions.end(); ++i) {
const char* schemes[] = {
chrome::kHttpScheme,
chrome::kHttpsScheme,
@@ -94,12 +95,12 @@ void UserScriptSlave::InitializeIsolatedWorld(
chrome::kChromeUIScheme,
};
for (size_t j = 0; j < arraysize(schemes); ++j) {
- if (permissions[i].MatchesScheme(schemes[j])) {
+ if (i->MatchesScheme(schemes[j])) {
WebSecurityPolicy::addOriginAccessWhitelistEntry(
extension->url(),
WebString::fromUTF8(schemes[j]),
- WebString::fromUTF8(permissions[i].host()),
- permissions[i].match_subdomains());
+ WebString::fromUTF8(i->host()),
+ i->match_subdomains());
}
}
}
@@ -198,9 +199,10 @@ bool UserScriptSlave::UpdateScripts(base::SharedMemoryHandle shared_memory) {
WebVector<WebString> patterns;
std::vector<WebString> temp_patterns;
- for (size_t k = 0; k < script->url_patterns().size(); ++k) {
- URLPatternList explicit_patterns =
- script->url_patterns()[k].ConvertToExplicitSchemes();
+ const URLPatternSet& url_patterns = script->url_patterns();
+ for (URLPatternSet::const_iterator k = url_patterns.begin();
+ k != url_patterns.end(); ++k) {
+ URLPatternList explicit_patterns = k->ConvertToExplicitSchemes();
for (size_t m = 0; m < explicit_patterns.size(); ++m) {
temp_patterns.push_back(WebString::fromUTF8(
explicit_patterns[m].GetAsString()));