| Index: chrome/common/extensions/event_matcher.cc
|
| diff --git a/chrome/common/extensions/event_matcher.cc b/chrome/common/extensions/event_matcher.cc
|
| index 1f9e47481c9baac0e2c046fbdd3bd06df53ed6fa..8a64f787fea5b92699273414a5612821924c074d 100644
|
| --- a/chrome/common/extensions/event_matcher.cc
|
| +++ b/chrome/common/extensions/event_matcher.cc
|
| @@ -5,9 +5,14 @@
|
| #include "chrome/common/extensions/event_matcher.h"
|
| #include "chrome/common/extensions/event_filtering_info.h"
|
|
|
| +namespace {
|
| +const char kUrlFiltersKey[] = "url";
|
| +}
|
| +
|
| namespace extensions {
|
|
|
| -EventMatcher::EventMatcher() {
|
| +EventMatcher::EventMatcher(scoped_ptr<base::DictionaryValue> filter)
|
| + : filter_(filter.Pass()) {
|
| }
|
|
|
| EventMatcher::~EventMatcher() {
|
| @@ -19,4 +24,23 @@ bool EventMatcher::MatchNonURLCriteria(
|
| return true;
|
| }
|
|
|
| +int EventMatcher::GetURLFilterCount() const {
|
| + base::ListValue* url_filters = NULL;
|
| + if (filter_->GetList(kUrlFiltersKey, &url_filters))
|
| + return url_filters->GetSize();
|
| + return 0;
|
| +}
|
| +
|
| +bool EventMatcher::GetURLFilter(int i, base::DictionaryValue** url_filter_out) {
|
| + base::ListValue* url_filters = NULL;
|
| + if (filter_->GetList(kUrlFiltersKey, &url_filters)) {
|
| + return url_filters->GetDictionary(i, url_filter_out);
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +int EventMatcher::HasURLFilters() const {
|
| + return GetURLFilterCount() != 0;
|
| +}
|
| +
|
| } // namespace extensions
|
|
|