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

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

Issue 795543002: Added PermissionIDSet to APIPermissions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permissions_patch_1_static_initializer_fix
Patch Set: Removed unnecessary constructor and added tests for API permissions Created 6 years 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/api_permission_set.h" 5 #include "extensions/common/permissions/api_permission_set.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 void APIPermissionSet::AddImpliedPermissions() { 176 void APIPermissionSet::AddImpliedPermissions() {
177 // The fileSystem.write and fileSystem.directory permissions imply 177 // The fileSystem.write and fileSystem.directory permissions imply
178 // fileSystem.writeDirectory. 178 // fileSystem.writeDirectory.
179 // TODO(sammc): Remove this. See http://crbug.com/284849. 179 // TODO(sammc): Remove this. See http://crbug.com/284849.
180 if (ContainsKey(map(), APIPermission::kFileSystemWrite) && 180 if (ContainsKey(map(), APIPermission::kFileSystemWrite) &&
181 ContainsKey(map(), APIPermission::kFileSystemDirectory)) { 181 ContainsKey(map(), APIPermission::kFileSystemDirectory)) {
182 insert(APIPermission::kFileSystemWriteDirectory); 182 insert(APIPermission::kFileSystemWriteDirectory);
183 } 183 }
184 } 184 }
185 185
186 PermissionIDSet::PermissionIDSet() : permissions() { 186 PermissionID::PermissionID(APIPermission::ID id)
187 : std::pair<APIPermission::ID, base::string16>(id, base::string16()) {
188 }
189
190 PermissionID::PermissionID(APIPermission::ID id,
191 const base::string16& parameter)
192 : std::pair<APIPermission::ID, base::string16>(id, parameter) {
193 }
194
195 PermissionID::~PermissionID() {
196 }
197
198 PermissionIDSet::PermissionIDSet() : permissions_() {
187 } 199 }
188 200
189 PermissionIDSet::~PermissionIDSet() { 201 PermissionIDSet::~PermissionIDSet() {
190 } 202 }
191 203
192 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one) { 204 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one)
205 : permissions_() {
193 insert(permission_one); 206 insert(permission_one);
194 } 207 }
195 208
196 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one, 209 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one,
197 APIPermission::ID permission_two) { 210 APIPermission::ID permission_two)
211 : permissions_() {
198 insert(permission_one); 212 insert(permission_one);
199 insert(permission_two); 213 insert(permission_two);
200 } 214 }
201 215
202 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one, 216 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one,
203 APIPermission::ID permission_two, 217 APIPermission::ID permission_two,
204 APIPermission::ID permission_three) { 218 APIPermission::ID permission_three)
219 : permissions_() {
205 insert(permission_one); 220 insert(permission_one);
206 insert(permission_two); 221 insert(permission_two);
207 insert(permission_three); 222 insert(permission_three);
208 } 223 }
209 224
210 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one, 225 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one,
211 APIPermission::ID permission_two, 226 APIPermission::ID permission_two,
212 APIPermission::ID permission_three, 227 APIPermission::ID permission_three,
213 APIPermission::ID permission_four) { 228 APIPermission::ID permission_four)
229 : permissions_() {
214 insert(permission_one); 230 insert(permission_one);
215 insert(permission_two); 231 insert(permission_two);
216 insert(permission_three); 232 insert(permission_three);
217 insert(permission_four); 233 insert(permission_four);
218 } 234 }
219 235
220 void PermissionIDSet::insert(APIPermission::ID permission) { 236 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one,
221 permissions.insert(PermissionID(permission, base::string16())); 237 APIPermission::ID permission_two,
238 APIPermission::ID permission_three,
239 APIPermission::ID permission_four,
240 APIPermission::ID permission_five)
241 : permissions_() {
242 insert(permission_one);
243 insert(permission_two);
244 insert(permission_three);
245 insert(permission_four);
246 insert(permission_five);
222 } 247 }
223 248
224 void PermissionIDSet::insert(APIPermission::ID permission, 249 PermissionIDSet::PermissionIDSet(APIPermission::ID permission_one,
225 base::string16 permission_detail) { 250 APIPermission::ID permission_two,
226 permissions.insert(PermissionID(permission, permission_detail)); 251 APIPermission::ID permission_three,
252 APIPermission::ID permission_four,
253 APIPermission::ID permission_five,
254 APIPermission::ID permission_six)
255 : permissions_() {
256 insert(permission_one);
257 insert(permission_two);
258 insert(permission_three);
259 insert(permission_four);
260 insert(permission_five);
261 insert(permission_six);
262 }
263
264 void PermissionIDSet::insert(APIPermission::ID permission_id) {
265 permissions_.insert(PermissionID(permission_id, base::string16()));
266 }
267
268 void PermissionIDSet::insert(APIPermission::ID permission_id,
269 base::string16 permission_parameter) {
270 permissions_.insert(PermissionID(permission_id, permission_parameter));
227 } 271 }
228 272
229 } // namespace extensions 273 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698