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

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

Issue 2494113003: Do not typedef ExtensionId/ID, since it's already available in extension_id.h (Closed)
Patch Set: Created 4 years, 1 month 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
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/stl_util.h" 12 #include "base/stl_util.h"
13 #include "extensions/browser/api/declarative_webrequest/webrequest_condition.h" 13 #include "extensions/browser/api/declarative_webrequest/webrequest_condition.h"
14 #include "extensions/browser/api/declarative_webrequest/webrequest_constants.h" 14 #include "extensions/browser/api/declarative_webrequest/webrequest_constants.h"
15 #include "extensions/browser/api/web_request/web_request_api_helpers.h" 15 #include "extensions/browser/api/web_request/web_request_api_helpers.h"
16 #include "extensions/browser/api/web_request/web_request_permissions.h" 16 #include "extensions/browser/api/web_request/web_request_permissions.h"
17 #include "extensions/browser/extension_system.h" 17 #include "extensions/browser/extension_system.h"
18 #include "extensions/common/error_utils.h" 18 #include "extensions/common/error_utils.h"
19 #include "extensions/common/extension.h" 19 #include "extensions/common/extension.h"
20 #include "extensions/common/extension_id.h"
Devlin 2016/11/11 23:10:06 don't need this here; it's in the .h
lazyboy 2016/11/12 00:13:16 Done.
20 #include "extensions/common/permissions/permissions_data.h" 21 #include "extensions/common/permissions/permissions_data.h"
21 #include "net/url_request/url_request.h" 22 #include "net/url_request/url_request.h"
22 23
23 using url_matcher::URLMatcherConditionSet; 24 using url_matcher::URLMatcherConditionSet;
24 25
25 namespace { 26 namespace {
26 27
27 const char kActionCannotBeExecuted[] = "The action '*' can never be executed " 28 const char kActionCannotBeExecuted[] = "The action '*' can never be executed "
28 "because there are is no time in the request life-cycle during which the " 29 "because there are is no time in the request life-cycle during which the "
29 "conditions can be checked and the action can possibly be executed."; 30 "conditions can be checked and the action can possibly be executed.";
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 ordered_matches.reserve(matches.size()); 93 ordered_matches.reserve(matches.size());
93 for (const WebRequestRule* rule : matches) 94 for (const WebRequestRule* rule : matches)
94 ordered_matches.push_back(make_pair(rule->priority(), rule->id())); 95 ordered_matches.push_back(make_pair(rule->priority(), rule->id()));
95 // Sort from rbegin to rend in order to get descending priority order. 96 // Sort from rbegin to rend in order to get descending priority order.
96 std::sort(ordered_matches.rbegin(), ordered_matches.rend()); 97 std::sort(ordered_matches.rbegin(), ordered_matches.rend());
97 98
98 // Build a map that maps each extension id to the minimum required priority 99 // Build a map that maps each extension id to the minimum required priority
99 // for rules of that extension. Initially, this priority is -infinite and 100 // for rules of that extension. Initially, this priority is -infinite and
100 // will be increased when the rules are processed and raise the bar via 101 // will be increased when the rules are processed and raise the bar via
101 // WebRequestIgnoreRulesActions. 102 // WebRequestIgnoreRulesActions.
102 typedef std::string ExtensionId;
103 typedef std::map<ExtensionId, WebRequestRule::Priority> MinPriorities; 103 typedef std::map<ExtensionId, WebRequestRule::Priority> MinPriorities;
104 typedef std::map<ExtensionId, std::set<std::string> > IgnoreTags; 104 typedef std::map<ExtensionId, std::set<std::string> > IgnoreTags;
105 MinPriorities min_priorities; 105 MinPriorities min_priorities;
106 IgnoreTags ignore_tags; 106 IgnoreTags ignore_tags;
107 for (const PriorityRuleIdPair& priority_rule_id_pair : ordered_matches) { 107 for (const PriorityRuleIdPair& priority_rule_id_pair : ordered_matches) {
108 const WebRequestRule::GlobalRuleId& rule_id = priority_rule_id_pair.second; 108 const WebRequestRule::GlobalRuleId& rule_id = priority_rule_id_pair.second;
109 const ExtensionId& extension_id = rule_id.first; 109 const ExtensionId& extension_id = rule_id.first;
110 min_priorities[extension_id] = std::numeric_limits<int>::min(); 110 min_priorities[extension_id] = std::numeric_limits<int>::min();
111 } 111 }
112 112
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 } 282 }
283 rules_with_untriggered_conditions_.erase(rule); 283 rules_with_untriggered_conditions_.erase(rule);
284 } 284 }
285 285
286 bool WebRequestRulesRegistry::IsEmpty() const { 286 bool WebRequestRulesRegistry::IsEmpty() const {
287 // Easy first. 287 // Easy first.
288 if (!rule_triggers_.empty() && url_matcher_.IsEmpty()) 288 if (!rule_triggers_.empty() && url_matcher_.IsEmpty())
289 return false; 289 return false;
290 290
291 // Now all the registered rules for each extensions. 291 // Now all the registered rules for each extensions.
292 for (const std::pair<WebRequestRule::ExtensionId, RulesMap>& 292 for (const std::pair<ExtensionId, RulesMap>& extension_id_rules_map_pair :
293 extension_id_rules_map_pair : webrequest_rules_) { 293 webrequest_rules_) {
294 if (!extension_id_rules_map_pair.second.empty()) 294 if (!extension_id_rules_map_pair.second.empty())
295 return false; 295 return false;
296 } 296 }
297 return true; 297 return true;
298 } 298 }
299 299
300 WebRequestRulesRegistry::~WebRequestRulesRegistry() {} 300 WebRequestRulesRegistry::~WebRequestRulesRegistry() {}
301 301
302 base::Time WebRequestRulesRegistry::GetExtensionInstallationTime( 302 base::Time WebRequestRulesRegistry::GetExtensionInstallationTime(
303 const std::string& extension_id) const { 303 const std::string& extension_id) const {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 for (url_matcher::URLMatcherConditionSet::ID url_match : url_matches) { 374 for (url_matcher::URLMatcherConditionSet::ID url_match : url_matches) {
375 RuleTriggers::const_iterator rule_trigger = rule_triggers_.find(url_match); 375 RuleTriggers::const_iterator rule_trigger = rule_triggers_.find(url_match);
376 CHECK(rule_trigger != rule_triggers_.end()); 376 CHECK(rule_trigger != rule_triggers_.end());
377 if (!base::ContainsKey(*result, rule_trigger->second) && 377 if (!base::ContainsKey(*result, rule_trigger->second) &&
378 rule_trigger->second->conditions().IsFulfilled(url_match, request_data)) 378 rule_trigger->second->conditions().IsFulfilled(url_match, request_data))
379 result->insert(rule_trigger->second); 379 result->insert(rule_trigger->second);
380 } 380 }
381 } 381 }
382 382
383 } // namespace extensions 383 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698