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

Unified Diff: chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.cc

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header Created 4 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.cc
diff --git a/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.cc b/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.cc
index 4b99dc0b6097b89412010207ee8840c608c1fd84..d8654a17f91bd3765d3c88762aaf19a8bdcda1be 100644
--- a/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.cc
+++ b/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.cc
@@ -6,6 +6,7 @@
#include "base/bind.h"
#include "base/macros.h"
+#include "base/memory/ptr_util.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/api/declarative_content/content_constants.h"
#include "chrome/browser/extensions/extension_util.h"
@@ -130,7 +131,8 @@ void ChromeContentRulesRegistry::MonitorWebContentsForRuleEvaluation(
active_rules_[contents] = std::set<const ContentRule*>();
EvaluationScope evaluation_scope(this);
- for (const scoped_ptr<ContentPredicateEvaluator>& evaluator : evaluators_)
+ for (const std::unique_ptr<ContentPredicateEvaluator>& evaluator :
+ evaluators_)
evaluator->TrackForWebContents(contents);
}
@@ -140,15 +142,16 @@ void ChromeContentRulesRegistry::DidNavigateMainFrame(
const content::FrameNavigateParams& params) {
if (ContainsKey(active_rules_, contents)) {
EvaluationScope evaluation_scope(this);
- for (const scoped_ptr<ContentPredicateEvaluator>& evaluator : evaluators_)
+ for (const std::unique_ptr<ContentPredicateEvaluator>& evaluator :
+ evaluators_)
evaluator->OnWebContentsNavigation(contents, details, params);
}
}
ChromeContentRulesRegistry::ContentRule::ContentRule(
const Extension* extension,
- std::vector<scoped_ptr<const ContentCondition>> conditions,
- std::vector<scoped_ptr<const ContentAction>> actions,
+ std::vector<std::unique_ptr<const ContentCondition>> conditions,
+ std::vector<std::unique_ptr<const ContentAction>> actions,
int priority)
: extension(extension),
conditions(std::move(conditions)),
@@ -157,33 +160,33 @@ ChromeContentRulesRegistry::ContentRule::ContentRule(
ChromeContentRulesRegistry::ContentRule::~ContentRule() {}
-scoped_ptr<const ChromeContentRulesRegistry::ContentRule>
+std::unique_ptr<const ChromeContentRulesRegistry::ContentRule>
ChromeContentRulesRegistry::CreateRule(
const Extension* extension,
const std::map<std::string, ContentPredicateFactory*>& predicate_factories,
const api::events::Rule& api_rule,
std::string* error) {
- std::vector<scoped_ptr<const ContentCondition>> conditions;
- for (const scoped_ptr<base::Value>& value : api_rule.conditions) {
+ std::vector<std::unique_ptr<const ContentCondition>> conditions;
+ for (const std::unique_ptr<base::Value>& value : api_rule.conditions) {
conditions.push_back(
CreateContentCondition(extension, predicate_factories, *value, error));
if (!error->empty())
- return scoped_ptr<ContentRule>();
+ return std::unique_ptr<ContentRule>();
}
- std::vector<scoped_ptr<const ContentAction>> actions;
- for (const scoped_ptr<base::Value>& value : api_rule.actions) {
+ std::vector<std::unique_ptr<const ContentAction>> actions;
+ for (const std::unique_ptr<base::Value>& value : api_rule.actions) {
actions.push_back(ContentAction::Create(browser_context(), extension,
*value, error));
if (!error->empty())
- return scoped_ptr<ContentRule>();
+ return std::unique_ptr<ContentRule>();
}
// Note: |api_rule| may contain tags, but these are ignored.
- return make_scoped_ptr(new ContentRule(extension, std::move(conditions),
- std::move(actions),
- *api_rule.priority));
+ return base::WrapUnique(new ContentRule(extension, std::move(conditions),
+ std::move(actions),
+ *api_rule.priority));
}
bool ChromeContentRulesRegistry::ManagingRulesForBrowserContext(
@@ -197,7 +200,7 @@ bool ChromeContentRulesRegistry::ManagingRulesForBrowserContext(
bool ChromeContentRulesRegistry::EvaluateConditionForTab(
const ContentCondition* condition,
content::WebContents* tab) {
- for (const scoped_ptr<const ContentPredicate>& predicate :
+ for (const std::unique_ptr<const ContentPredicate>& predicate :
condition->predicates) {
if (predicate && !predicate->IsIgnored() &&
!predicate->GetEvaluator()->EvaluatePredicate(predicate.get(), tab)) {
@@ -218,7 +221,7 @@ ChromeContentRulesRegistry::GetMatchingRules(content::WebContents* tab) const {
!ShouldEvaluateExtensionRulesForIncognitoRenderer(rule->extension))
continue;
- for (const scoped_ptr<const ContentCondition>& condition :
+ for (const std::unique_ptr<const ContentCondition>& condition :
rule->conditions) {
if (EvaluateConditionForTab(condition.get(), tab))
matching_rules.insert(rule);
@@ -242,7 +245,8 @@ std::string ChromeContentRulesRegistry::AddRulesImpl(
new_predicates;
std::map<std::string, ContentPredicateFactory*> predicate_factories;
- for (const scoped_ptr<ContentPredicateEvaluator>& evaluator : evaluators_) {
+ for (const std::unique_ptr<ContentPredicateEvaluator>& evaluator :
+ evaluators_) {
predicate_factories[evaluator->GetPredicateApiAttributeName()] =
evaluator.get();
}
@@ -251,12 +255,12 @@ std::string ChromeContentRulesRegistry::AddRulesImpl(
ExtensionIdRuleIdPair rule_id(extension_id, *api_rule->id);
DCHECK(content_rules_.find(rule_id) == content_rules_.end());
- scoped_ptr<const ContentRule> rule(
+ std::unique_ptr<const ContentRule> rule(
CreateRule(extension, predicate_factories, *api_rule, &error));
if (!error.empty()) {
// Notify evaluators that none of the created predicates will be tracked
// after all.
- for (const scoped_ptr<ContentPredicateEvaluator>& evaluator :
+ for (const std::unique_ptr<ContentPredicateEvaluator>& evaluator :
evaluators_) {
if (!new_predicates[evaluator.get()].empty()) {
evaluator->TrackPredicates(
@@ -270,9 +274,9 @@ std::string ChromeContentRulesRegistry::AddRulesImpl(
// Group predicates by evaluator and rule, so we can later notify the
// evaluators that they have new predicates to manage.
- for (const scoped_ptr<const ContentCondition>& condition :
+ for (const std::unique_ptr<const ContentCondition>& condition :
rule->conditions) {
- for (const scoped_ptr<const ContentPredicate>& predicate :
+ for (const std::unique_ptr<const ContentPredicate>& predicate :
condition->predicates) {
if (predicate.get()) {
new_predicates[predicate->GetEvaluator()][rule.get()].push_back(
@@ -285,7 +289,8 @@ std::string ChromeContentRulesRegistry::AddRulesImpl(
}
// Notify the evaluators about their new predicates.
- for (const scoped_ptr<ContentPredicateEvaluator>& evaluator : evaluators_)
+ for (const std::unique_ptr<ContentPredicateEvaluator>& evaluator :
+ evaluators_)
evaluator->TrackPredicates(new_predicates[evaluator.get()]);
// Wohoo, everything worked fine.
@@ -335,7 +340,8 @@ std::string ChromeContentRulesRegistry::RemoveRulesImpl(
}
// Notify the evaluators to stop tracking the predicates that will be removed.
- for (const scoped_ptr<ContentPredicateEvaluator>& evaluator : evaluators_)
+ for (const std::unique_ptr<ContentPredicateEvaluator>& evaluator :
+ evaluators_)
evaluator->StopTrackingPredicates(predicate_groups_to_stop_tracking);
// Remove the rules.
@@ -369,10 +375,10 @@ void ChromeContentRulesRegistry::EvaluateConditionsForTab(
ContentAction::ApplyInfo apply_info =
{rule->extension, browser_context(), tab, rule->priority};
if (!ContainsKey(prev_matching_rules, rule)) {
- for (const scoped_ptr<const ContentAction>& action : rule->actions)
+ for (const std::unique_ptr<const ContentAction>& action : rule->actions)
action->Apply(apply_info);
} else {
- for (const scoped_ptr<const ContentAction>& action : rule->actions)
+ for (const std::unique_ptr<const ContentAction>& action : rule->actions)
action->Reapply(apply_info);
}
}
@@ -380,7 +386,7 @@ void ChromeContentRulesRegistry::EvaluateConditionsForTab(
if (!ContainsKey(matching_rules, rule)) {
ContentAction::ApplyInfo apply_info =
{rule->extension, browser_context(), tab, rule->priority};
- for (const scoped_ptr<const ContentAction>& action : rule->actions)
+ for (const std::unique_ptr<const ContentAction>& action : rule->actions)
action->Revert(apply_info);
}
}

Powered by Google App Engine
This is Rietveld 408576698