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

Unified Diff: extensions/browser/api/declarative/declarative_api.cc

Issue 1841483002: [Extensions] Convert APIs to use movable types [11] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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: extensions/browser/api/declarative/declarative_api.cc
diff --git a/extensions/browser/api/declarative/declarative_api.cc b/extensions/browser/api/declarative/declarative_api.cc
index bac1bcc46b6d9343cef3dc24837dac7c55ee78f7..183ca3e9cd80a5743390e74b6fa5d254edc2444e 100644
--- a/extensions/browser/api/declarative/declarative_api.cc
+++ b/extensions/browser/api/declarative/declarative_api.cc
@@ -171,10 +171,20 @@ bool EventsEventAddRulesFunction::RunAsyncOnCorrectThread() {
scoped_ptr<AddRules::Params> params(AddRules::Params::Create(*args_));
EXTENSION_FUNCTION_VALIDATE(params.get());
- error_ = rules_registry_->AddRules(extension_id(), params->rules);
+ // TODO(devlin): Remove the dependency on linked_ptr here.
+ std::vector<linked_ptr<api::events::Rule>> linked_rules;
+ for (api::events::Rule& rule : params->rules) {
+ linked_rules.push_back(
+ make_linked_ptr(new api::events::Rule(std::move(rule))));
+ }
+ error_ = rules_registry_->AddRules(extension_id(), linked_rules);
- if (error_.empty())
- results_ = AddRules::Results::Create(params->rules);
+ if (error_.empty()) {
+ scoped_ptr<base::ListValue> rules_value(new base::ListValue());
+ for (const auto& rule : linked_rules)
+ rules_value->Append(rule->ToValue());
+ SetResult(std::move(rules_value));
+ }
return error_.empty();
}
@@ -205,7 +215,10 @@ bool EventsEventGetRulesFunction::RunAsyncOnCorrectThread() {
rules_registry_->GetAllRules(extension_id(), &rules);
}
- results_ = GetRules::Results::Create(rules);
+ scoped_ptr<base::ListValue> rules_value(new base::ListValue());
+ for (const auto& rule : rules)
+ rules_value->Append(rule->ToValue());
+ SetResult(std::move(rules_value));
return true;
}

Powered by Google App Engine
This is Rietveld 408576698