diff options
author | jstritar@chromium.org <jstritar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-12 19:38:29 +0000 |
---|---|---|
committer | jstritar@chromium.org <jstritar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-12 19:38:29 +0000 |
commit | 33ccd923b68f5f202230f5a400021f3efd304439 (patch) | |
tree | c8c57a6de3b69286738be878683594f40a0c936d /chrome/renderer/extensions/user_script_slave.cc | |
parent | 2261b8bbffdf8abd12837326b0d0676f8eddb744 (diff) | |
download | chromium_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.cc | 20 |
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())); |