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

Side by Side Diff: extensions/common/permissions/permission_set.cc

Issue 1908953003: Convert //extensions/{common,shell} from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase? 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/common/permissions/permission_set.h" 5 #include "extensions/common/permissions/permission_set.h"
6 6
7 #include <memory>
8
9 #include "base/memory/ptr_util.h"
7 #include "extensions/common/permissions/permissions_info.h" 10 #include "extensions/common/permissions/permissions_info.h"
8 #include "extensions/common/url_pattern.h" 11 #include "extensions/common/url_pattern.h"
9 #include "url/gurl.h" 12 #include "url/gurl.h"
10 13
11 namespace extensions { 14 namespace extensions {
12 15
13 namespace { 16 namespace {
14 17
15 void AddPatternsAndRemovePaths(const URLPatternSet& set, URLPatternSet* out) { 18 void AddPatternsAndRemovePaths(const URLPatternSet& set, URLPatternSet* out) {
16 DCHECK(out); 19 DCHECK(out);
(...skipping 22 matching lines...) Expand all
39 scriptable_hosts_(scriptable_hosts), 42 scriptable_hosts_(scriptable_hosts),
40 should_warn_all_hosts_(UNINITIALIZED) { 43 should_warn_all_hosts_(UNINITIALIZED) {
41 AddPatternsAndRemovePaths(explicit_hosts, &explicit_hosts_); 44 AddPatternsAndRemovePaths(explicit_hosts, &explicit_hosts_);
42 InitImplicitPermissions(); 45 InitImplicitPermissions();
43 InitEffectiveHosts(); 46 InitEffectiveHosts();
44 } 47 }
45 48
46 PermissionSet::~PermissionSet() {} 49 PermissionSet::~PermissionSet() {}
47 50
48 // static 51 // static
49 scoped_ptr<const PermissionSet> PermissionSet::CreateDifference( 52 std::unique_ptr<const PermissionSet> PermissionSet::CreateDifference(
50 const PermissionSet& set1, 53 const PermissionSet& set1,
51 const PermissionSet& set2) { 54 const PermissionSet& set2) {
52 APIPermissionSet apis; 55 APIPermissionSet apis;
53 APIPermissionSet::Difference(set1.apis(), set2.apis(), &apis); 56 APIPermissionSet::Difference(set1.apis(), set2.apis(), &apis);
54 57
55 ManifestPermissionSet manifest_permissions; 58 ManifestPermissionSet manifest_permissions;
56 ManifestPermissionSet::Difference(set1.manifest_permissions(), 59 ManifestPermissionSet::Difference(set1.manifest_permissions(),
57 set2.manifest_permissions(), 60 set2.manifest_permissions(),
58 &manifest_permissions); 61 &manifest_permissions);
59 62
60 URLPatternSet explicit_hosts = URLPatternSet::CreateDifference( 63 URLPatternSet explicit_hosts = URLPatternSet::CreateDifference(
61 set1.explicit_hosts(), set2.explicit_hosts()); 64 set1.explicit_hosts(), set2.explicit_hosts());
62 65
63 URLPatternSet scriptable_hosts = URLPatternSet::CreateDifference( 66 URLPatternSet scriptable_hosts = URLPatternSet::CreateDifference(
64 set1.scriptable_hosts(), set2.scriptable_hosts()); 67 set1.scriptable_hosts(), set2.scriptable_hosts());
65 68
66 return make_scoped_ptr(new PermissionSet(apis, manifest_permissions, 69 return base::WrapUnique(new PermissionSet(apis, manifest_permissions,
67 explicit_hosts, scriptable_hosts)); 70 explicit_hosts, scriptable_hosts));
68 } 71 }
69 72
70 // static 73 // static
71 scoped_ptr<const PermissionSet> PermissionSet::CreateIntersection( 74 std::unique_ptr<const PermissionSet> PermissionSet::CreateIntersection(
72 const PermissionSet& set1, 75 const PermissionSet& set1,
73 const PermissionSet& set2) { 76 const PermissionSet& set2) {
74 APIPermissionSet apis; 77 APIPermissionSet apis;
75 APIPermissionSet::Intersection(set1.apis(), set2.apis(), &apis); 78 APIPermissionSet::Intersection(set1.apis(), set2.apis(), &apis);
76 79
77 ManifestPermissionSet manifest_permissions; 80 ManifestPermissionSet manifest_permissions;
78 ManifestPermissionSet::Intersection(set1.manifest_permissions(), 81 ManifestPermissionSet::Intersection(set1.manifest_permissions(),
79 set2.manifest_permissions(), 82 set2.manifest_permissions(),
80 &manifest_permissions); 83 &manifest_permissions);
81 84
82 URLPatternSet explicit_hosts = URLPatternSet::CreateSemanticIntersection( 85 URLPatternSet explicit_hosts = URLPatternSet::CreateSemanticIntersection(
83 set1.explicit_hosts(), set2.explicit_hosts()); 86 set1.explicit_hosts(), set2.explicit_hosts());
84 URLPatternSet scriptable_hosts = URLPatternSet::CreateSemanticIntersection( 87 URLPatternSet scriptable_hosts = URLPatternSet::CreateSemanticIntersection(
85 set1.scriptable_hosts(), set2.scriptable_hosts()); 88 set1.scriptable_hosts(), set2.scriptable_hosts());
86 89
87 return make_scoped_ptr(new PermissionSet(apis, manifest_permissions, 90 return base::WrapUnique(new PermissionSet(apis, manifest_permissions,
88 explicit_hosts, scriptable_hosts)); 91 explicit_hosts, scriptable_hosts));
89 } 92 }
90 93
91 // static 94 // static
92 scoped_ptr<const PermissionSet> PermissionSet::CreateUnion( 95 std::unique_ptr<const PermissionSet> PermissionSet::CreateUnion(
93 const PermissionSet& set1, 96 const PermissionSet& set1,
94 const PermissionSet& set2) { 97 const PermissionSet& set2) {
95 APIPermissionSet apis; 98 APIPermissionSet apis;
96 APIPermissionSet::Union(set1.apis(), set2.apis(), &apis); 99 APIPermissionSet::Union(set1.apis(), set2.apis(), &apis);
97 100
98 ManifestPermissionSet manifest_permissions; 101 ManifestPermissionSet manifest_permissions;
99 ManifestPermissionSet::Union(set1.manifest_permissions(), 102 ManifestPermissionSet::Union(set1.manifest_permissions(),
100 set2.manifest_permissions(), 103 set2.manifest_permissions(),
101 &manifest_permissions); 104 &manifest_permissions);
102 105
103 URLPatternSet explicit_hosts = 106 URLPatternSet explicit_hosts =
104 URLPatternSet::CreateUnion(set1.explicit_hosts(), set2.explicit_hosts()); 107 URLPatternSet::CreateUnion(set1.explicit_hosts(), set2.explicit_hosts());
105 108
106 URLPatternSet scriptable_hosts = URLPatternSet::CreateUnion( 109 URLPatternSet scriptable_hosts = URLPatternSet::CreateUnion(
107 set1.scriptable_hosts(), set2.scriptable_hosts()); 110 set1.scriptable_hosts(), set2.scriptable_hosts());
108 111
109 return make_scoped_ptr(new PermissionSet(apis, manifest_permissions, 112 return base::WrapUnique(new PermissionSet(apis, manifest_permissions,
110 explicit_hosts, scriptable_hosts)); 113 explicit_hosts, scriptable_hosts));
111 } 114 }
112 115
113 bool PermissionSet::operator==( 116 bool PermissionSet::operator==(
114 const PermissionSet& rhs) const { 117 const PermissionSet& rhs) const {
115 return apis_ == rhs.apis_ && 118 return apis_ == rhs.apis_ &&
116 manifest_permissions_ == rhs.manifest_permissions_ && 119 manifest_permissions_ == rhs.manifest_permissions_ &&
117 scriptable_hosts_ == rhs.scriptable_hosts_ && 120 scriptable_hosts_ == rhs.scriptable_hosts_ &&
118 explicit_hosts_ == rhs.explicit_hosts_; 121 explicit_hosts_ == rhs.explicit_hosts_;
119 } 122 }
120 123
121 bool PermissionSet::operator!=(const PermissionSet& rhs) const { 124 bool PermissionSet::operator!=(const PermissionSet& rhs) const {
122 return !(*this == rhs); 125 return !(*this == rhs);
123 } 126 }
124 127
125 scoped_ptr<const PermissionSet> PermissionSet::Clone() const { 128 std::unique_ptr<const PermissionSet> PermissionSet::Clone() const {
126 return make_scoped_ptr(new PermissionSet(*this)); 129 return base::WrapUnique(new PermissionSet(*this));
127 } 130 }
128 131
129 bool PermissionSet::Contains(const PermissionSet& set) const { 132 bool PermissionSet::Contains(const PermissionSet& set) const {
130 return apis_.Contains(set.apis()) && 133 return apis_.Contains(set.apis()) &&
131 manifest_permissions_.Contains(set.manifest_permissions()) && 134 manifest_permissions_.Contains(set.manifest_permissions()) &&
132 explicit_hosts().Contains(set.explicit_hosts()) && 135 explicit_hosts().Contains(set.explicit_hosts()) &&
133 scriptable_hosts().Contains(set.scriptable_hosts()); 136 scriptable_hosts().Contains(set.scriptable_hosts());
134 } 137 }
135 138
136 std::set<std::string> PermissionSet::GetAPIsAsStrings() const { 139 std::set<std::string> PermissionSet::GetAPIsAsStrings() const {
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 if (iter->ImpliesAllHosts()) { 262 if (iter->ImpliesAllHosts()) {
260 should_warn_all_hosts_ = WARN_ALL_HOSTS; 263 should_warn_all_hosts_ = WARN_ALL_HOSTS;
261 return; 264 return;
262 } 265 }
263 } 266 }
264 267
265 should_warn_all_hosts_ = DONT_WARN_ALL_HOSTS; 268 should_warn_all_hosts_ = DONT_WARN_ALL_HOSTS;
266 } 269 }
267 270
268 } // namespace extensions 271 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/common/permissions/permission_set.h ('k') | extensions/common/permissions/permissions_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698