Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: extensions/browser/api/declarative_webrequest/webrequest_rules_registry.cc

Issue 764643002: Remove WebViewKey in rules registry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits. Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/api/declarative_webrequest/webrequest_rules_registr y.h" 5 #include "extensions/browser/api/declarative_webrequest/webrequest_rules_registr y.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 21 matching lines...) Expand all
32 "To execute the action '*', you need to request host permission for all " 32 "To execute the action '*', you need to request host permission for all "
33 "hosts."; 33 "hosts.";
34 34
35 } // namespace 35 } // namespace
36 36
37 namespace extensions { 37 namespace extensions {
38 38
39 WebRequestRulesRegistry::WebRequestRulesRegistry( 39 WebRequestRulesRegistry::WebRequestRulesRegistry(
40 content::BrowserContext* browser_context, 40 content::BrowserContext* browser_context,
41 RulesCacheDelegate* cache_delegate, 41 RulesCacheDelegate* cache_delegate,
42 const WebViewKey& webview_key) 42 int rules_registry_id)
43 : RulesRegistry(browser_context, 43 : RulesRegistry(browser_context,
44 declarative_webrequest_constants::kOnRequest, 44 declarative_webrequest_constants::kOnRequest,
45 content::BrowserThread::IO, 45 content::BrowserThread::IO,
46 cache_delegate, 46 cache_delegate,
47 webview_key), 47 rules_registry_id),
48 browser_context_(browser_context) { 48 browser_context_(browser_context) {
49 if (browser_context_) 49 if (browser_context_)
50 extension_info_map_ = ExtensionSystem::Get(browser_context_)->info_map(); 50 extension_info_map_ = ExtensionSystem::Get(browser_context_)->info_map();
51 } 51 }
52 52
53 std::set<const WebRequestRule*> WebRequestRulesRegistry::GetMatches( 53 std::set<const WebRequestRule*> WebRequestRulesRegistry::GetMatches(
54 const WebRequestData& request_data_without_ids) const { 54 const WebRequestData& request_data_without_ids) const {
55 RuleSet result; 55 RuleSet result;
56 56
57 WebRequestDataWithMatchIds request_data(&request_data_without_ids); 57 WebRequestDataWithMatchIds request_data(&request_data_without_ids);
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 const Extension* extension = 173 const Extension* extension =
174 extension_info_map_->extensions().GetByID(extension_id); 174 extension_info_map_->extensions().GetByID(extension_id);
175 RulesMap& registered_rules = webrequest_rules_[extension_id]; 175 RulesMap& registered_rules = webrequest_rules_[extension_id];
176 176
177 for (std::vector<linked_ptr<RulesRegistry::Rule> >::const_iterator rule = 177 for (std::vector<linked_ptr<RulesRegistry::Rule> >::const_iterator rule =
178 rules.begin(); rule != rules.end(); ++rule) { 178 rules.begin(); rule != rules.end(); ++rule) {
179 const WebRequestRule::RuleId& rule_id(*(*rule)->id); 179 const WebRequestRule::RuleId& rule_id(*(*rule)->id);
180 DCHECK(registered_rules.find(rule_id) == registered_rules.end()); 180 DCHECK(registered_rules.find(rule_id) == registered_rules.end());
181 181
182 scoped_ptr<WebRequestRule> webrequest_rule(WebRequestRule::Create( 182 scoped_ptr<WebRequestRule> webrequest_rule(WebRequestRule::Create(
183 url_matcher_.condition_factory(), 183 url_matcher_.condition_factory(), browser_context(), extension,
184 browser_context(), extension, extension_installation_time, *rule, 184 extension_installation_time, *rule,
185 base::Bind(&Checker, base::Unretained(extension)), 185 base::Bind(&Checker, base::Unretained(extension)), &error));
186 &error));
187 if (!error.empty()) { 186 if (!error.empty()) {
188 // We don't return here, because we want to clear temporary 187 // We don't return here, because we want to clear temporary
189 // condition sets in the url_matcher_. 188 // condition sets in the url_matcher_.
190 break; 189 break;
191 } 190 }
192 191
193 new_webrequest_rules.push_back( 192 new_webrequest_rules.push_back(
194 IdRulePair(rule_id, make_linked_ptr(webrequest_rule.release()))); 193 IdRulePair(rule_id, make_linked_ptr(webrequest_rule.release())));
195 } 194 }
196 195
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 RuleTriggers::const_iterator rule_trigger = rule_triggers_.find(*url_match); 402 RuleTriggers::const_iterator rule_trigger = rule_triggers_.find(*url_match);
404 CHECK(rule_trigger != rule_triggers_.end()); 403 CHECK(rule_trigger != rule_triggers_.end());
405 if (!ContainsKey(*result, rule_trigger->second) && 404 if (!ContainsKey(*result, rule_trigger->second) &&
406 rule_trigger->second->conditions().IsFulfilled(*url_match, 405 rule_trigger->second->conditions().IsFulfilled(*url_match,
407 request_data)) 406 request_data))
408 result->insert(rule_trigger->second); 407 result->insert(rule_trigger->second);
409 } 408 }
410 } 409 }
411 410
412 } // namespace extensions 411 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698