Chromium Code Reviews| Index: chrome/common/extensions/url_pattern_set.cc |
| diff --git a/chrome/common/extensions/url_pattern_set.cc b/chrome/common/extensions/url_pattern_set.cc |
| index c8374ef65c3c6b59a307a5af258ad546694fb749..bca12031cb12478a67bbdf98eb668439a29d4073 100644 |
| --- a/chrome/common/extensions/url_pattern_set.cc |
| +++ b/chrome/common/extensions/url_pattern_set.cc |
| @@ -7,6 +7,41 @@ |
| #include "chrome/common/extensions/url_pattern.h" |
| #include "googleurl/src/gurl.h" |
| +// static |
| +void URLPatternSet::CreateUnion(const URLPatternSet& set1, |
| + const URLPatternSet& set2, |
| + URLPatternSet* out) { |
| + const URLPatternList list1 = set1.patterns(); |
| + const URLPatternList list2 = set2.patterns(); |
| + |
| + out->ClearPatterns(); |
| + |
| + // TODO(jstritar): This would be a lot easier if URLPattern had == overrided. |
| + for (size_t i = 0; i < list1.size(); ++i) { |
| + bool duplicate = false; |
| + for (size_t j = 0; j < out->patterns().size(); ++j) { |
| + if (list1.at(i).GetAsString() == out->patterns().at(j).GetAsString()) { |
| + duplicate = true; |
| + break; |
| + } |
| + } |
| + if (!duplicate) |
|
Matt Perry
2011/06/21 00:43:10
is there a strong reason to strip duplicates? if n
jstritar
2011/06/21 23:12:16
It doesn't really matter, except that they'll accu
|
| + out->AddPattern(list1.at(i)); |
| + } |
| + |
| + for (size_t i = 0; i < list2.size(); ++i) { |
| + bool duplicate = false; |
| + for (size_t j = 0; j < out->patterns().size(); ++j) { |
| + if (list2.at(i).GetAsString() == out->patterns().at(j).GetAsString()) { |
| + duplicate = true; |
| + break; |
| + } |
| + } |
| + if (!duplicate) |
| + out->AddPattern(list2.at(i)); |
| + } |
| +} |
| + |
| URLPatternSet::URLPatternSet() { |
| } |