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

Side by Side Diff: chrome/browser/extensions/api/declarative_content/declarative_content_css_condition_tracker.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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/extensions/api/declarative_content/declarative_content_ css_condition_tracker.h" 5 #include "chrome/browser/extensions/api/declarative_content/declarative_content_ css_condition_tracker.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/memory/ptr_util.h"
9 #include "base/stl_util.h" 10 #include "base/stl_util.h"
10 #include "base/strings/stringprintf.h" 11 #include "base/strings/stringprintf.h"
11 #include "base/values.h" 12 #include "base/values.h"
12 #include "chrome/browser/chrome_notification_types.h" 13 #include "chrome/browser/chrome_notification_types.h"
13 #include "chrome/browser/extensions/api/declarative_content/content_constants.h" 14 #include "chrome/browser/extensions/api/declarative_content/content_constants.h"
14 #include "chrome/browser/extensions/api/declarative_content/content_predicate_ev aluator.h" 15 #include "chrome/browser/extensions/api/declarative_content/content_predicate_ev aluator.h"
15 #include "chrome/browser/profiles/profile.h" 16 #include "chrome/browser/profiles/profile.h"
16 #include "content/public/browser/navigation_details.h" 17 #include "content/public/browser/navigation_details.h"
17 #include "content/public/browser/notification_service.h" 18 #include "content/public/browser/notification_service.h"
18 #include "content/public/browser/notification_source.h" 19 #include "content/public/browser/notification_source.h"
(...skipping 11 matching lines...) Expand all
30 } // namespace 31 } // namespace
31 32
32 // 33 //
33 // DeclarativeContentCssPredicate 34 // DeclarativeContentCssPredicate
34 // 35 //
35 36
36 DeclarativeContentCssPredicate::~DeclarativeContentCssPredicate() { 37 DeclarativeContentCssPredicate::~DeclarativeContentCssPredicate() {
37 } 38 }
38 39
39 // static 40 // static
40 scoped_ptr<DeclarativeContentCssPredicate> 41 std::unique_ptr<DeclarativeContentCssPredicate>
41 DeclarativeContentCssPredicate::Create( 42 DeclarativeContentCssPredicate::Create(ContentPredicateEvaluator* evaluator,
42 ContentPredicateEvaluator* evaluator, 43 const base::Value& value,
43 const base::Value& value, 44 std::string* error) {
44 std::string* error) {
45 std::vector<std::string> css_rules; 45 std::vector<std::string> css_rules;
46 const base::ListValue* css_rules_value = nullptr; 46 const base::ListValue* css_rules_value = nullptr;
47 if (value.GetAsList(&css_rules_value)) { 47 if (value.GetAsList(&css_rules_value)) {
48 for (size_t i = 0; i < css_rules_value->GetSize(); ++i) { 48 for (size_t i = 0; i < css_rules_value->GetSize(); ++i) {
49 std::string css_rule; 49 std::string css_rule;
50 if (!css_rules_value->GetString(i, &css_rule)) { 50 if (!css_rules_value->GetString(i, &css_rule)) {
51 *error = base::StringPrintf(kInvalidTypeOfParameter, 51 *error = base::StringPrintf(kInvalidTypeOfParameter,
52 declarative_content_constants::kCss); 52 declarative_content_constants::kCss);
53 return scoped_ptr<DeclarativeContentCssPredicate>(); 53 return std::unique_ptr<DeclarativeContentCssPredicate>();
54 } 54 }
55 css_rules.push_back(css_rule); 55 css_rules.push_back(css_rule);
56 } 56 }
57 } else { 57 } else {
58 *error = base::StringPrintf(kInvalidTypeOfParameter, 58 *error = base::StringPrintf(kInvalidTypeOfParameter,
59 declarative_content_constants::kCss); 59 declarative_content_constants::kCss);
60 return scoped_ptr<DeclarativeContentCssPredicate>(); 60 return std::unique_ptr<DeclarativeContentCssPredicate>();
61 } 61 }
62 62
63 return !css_rules.empty() ? 63 return !css_rules.empty()
64 make_scoped_ptr( 64 ? base::WrapUnique(
65 new DeclarativeContentCssPredicate(evaluator, css_rules)) : 65 new DeclarativeContentCssPredicate(evaluator, css_rules))
66 scoped_ptr<DeclarativeContentCssPredicate>(); 66 : std::unique_ptr<DeclarativeContentCssPredicate>();
67 } 67 }
68 68
69 ContentPredicateEvaluator* 69 ContentPredicateEvaluator*
70 DeclarativeContentCssPredicate::GetEvaluator() const { 70 DeclarativeContentCssPredicate::GetEvaluator() const {
71 return evaluator_; 71 return evaluator_;
72 } 72 }
73 73
74 DeclarativeContentCssPredicate::DeclarativeContentCssPredicate( 74 DeclarativeContentCssPredicate::DeclarativeContentCssPredicate(
75 ContentPredicateEvaluator* evaluator, 75 ContentPredicateEvaluator* evaluator,
76 const std::vector<std::string>& css_selectors) 76 const std::vector<std::string>& css_selectors)
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 } 155 }
156 156
157 DeclarativeContentCssConditionTracker:: 157 DeclarativeContentCssConditionTracker::
158 ~DeclarativeContentCssConditionTracker() {} 158 ~DeclarativeContentCssConditionTracker() {}
159 159
160 std::string DeclarativeContentCssConditionTracker:: 160 std::string DeclarativeContentCssConditionTracker::
161 GetPredicateApiAttributeName() const { 161 GetPredicateApiAttributeName() const {
162 return declarative_content_constants::kCss; 162 return declarative_content_constants::kCss;
163 } 163 }
164 164
165 scoped_ptr<const ContentPredicate> DeclarativeContentCssConditionTracker:: 165 std::unique_ptr<const ContentPredicate>
166 CreatePredicate(const Extension* extension, 166 DeclarativeContentCssConditionTracker::CreatePredicate(
167 const base::Value& value, 167 const Extension* extension,
168 std::string* error) { 168 const base::Value& value,
169 std::string* error) {
169 return DeclarativeContentCssPredicate::Create(this, value, error); 170 return DeclarativeContentCssPredicate::Create(this, value, error);
170 } 171 }
171 172
172 void DeclarativeContentCssConditionTracker::TrackPredicates( 173 void DeclarativeContentCssConditionTracker::TrackPredicates(
173 const std::map<const void*, std::vector<const ContentPredicate*>>& 174 const std::map<const void*, std::vector<const ContentPredicate*>>&
174 predicates) { 175 predicates) {
175 bool watched_selectors_updated = false; 176 bool watched_selectors_updated = false;
176 for (const auto& group_predicates_pair : predicates) { 177 for (const auto& group_predicates_pair : predicates) {
177 for (const ContentPredicate* predicate : group_predicates_pair.second) { 178 for (const ContentPredicate* predicate : group_predicates_pair.second) {
178 DCHECK_EQ(this, predicate->GetEvaluator()); 179 DCHECK_EQ(this, predicate->GetEvaluator());
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 } 305 }
305 } 306 }
306 307
307 void DeclarativeContentCssConditionTracker::DeletePerWebContentsTracker( 308 void DeclarativeContentCssConditionTracker::DeletePerWebContentsTracker(
308 content::WebContents* contents) { 309 content::WebContents* contents) {
309 DCHECK(ContainsKey(per_web_contents_tracker_, contents)); 310 DCHECK(ContainsKey(per_web_contents_tracker_, contents));
310 per_web_contents_tracker_.erase(contents); 311 per_web_contents_tracker_.erase(contents);
311 } 312 }
312 313
313 } // namespace extensions 314 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698