diff options
author | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-13 19:43:47 +0000 |
---|---|---|
committer | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-13 19:43:47 +0000 |
commit | b56676dbdd2c6a548e0b67d54e02272390b9be41 (patch) | |
tree | 3f23a22165c56db3193be45f7a01f8223f9a0d7b /extensions/common/url_pattern_set.cc | |
parent | 59295c036d31be1aab70b03f7f45036d7658a364 (diff) | |
download | chromium_src-b56676dbdd2c6a548e0b67d54e02272390b9be41.zip chromium_src-b56676dbdd2c6a548e0b67d54e02272390b9be41.tar.gz chromium_src-b56676dbdd2c6a548e0b67d54e02272390b9be41.tar.bz2 |
Support requesting subsets of host permissions using the permissions API.
BUG=158004
TBR=ben@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12209094
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182287 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions/common/url_pattern_set.cc')
-rw-r--r-- | extensions/common/url_pattern_set.cc | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/extensions/common/url_pattern_set.cc b/extensions/common/url_pattern_set.cc index 4066320..7a19c71 100644 --- a/extensions/common/url_pattern_set.cc +++ b/extensions/common/url_pattern_set.cc @@ -129,9 +129,14 @@ void URLPatternSet::ClearPatterns() { patterns_.clear(); } -bool URLPatternSet::Contains(const URLPatternSet& set) const { - return std::includes(patterns_.begin(), patterns_.end(), - set.patterns_.begin(), set.patterns_.end()); +bool URLPatternSet::Contains(const URLPatternSet& other) const { + for (URLPatternSet::const_iterator it = other.begin(); + it != other.end(); ++it) { + if (!ContainsPattern(*it)) + return false; + } + + return true; } bool URLPatternSet::MatchesURL(const GURL& url) const { @@ -216,4 +221,13 @@ bool URLPatternSet::Populate(const base::ListValue& value, return Populate(patterns, valid_schemes, allow_file_access, error); } +bool URLPatternSet::ContainsPattern(const URLPattern& pattern) const { + for (URLPatternSet::const_iterator it = begin(); + it != end(); ++it) { + if (it->Contains(pattern)) + return true; + } + return false; +} + } // namespace extensions |