OLD | NEW |
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 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 bool PermissionIDSet::ContainsAllIDs( | 247 bool PermissionIDSet::ContainsAllIDs( |
248 const std::set<APIPermission::ID>& permission_ids) const { | 248 const std::set<APIPermission::ID>& permission_ids) const { |
249 return std::includes(permissions_.begin(), permissions_.end(), | 249 return std::includes(permissions_.begin(), permissions_.end(), |
250 permission_ids.begin(), permission_ids.end(), | 250 permission_ids.begin(), permission_ids.end(), |
251 [] (const PermissionIDCompareHelper& lhs, | 251 [] (const PermissionIDCompareHelper& lhs, |
252 const PermissionIDCompareHelper& rhs) { | 252 const PermissionIDCompareHelper& rhs) { |
253 return lhs.id < rhs.id; | 253 return lhs.id < rhs.id; |
254 }); | 254 }); |
255 } | 255 } |
256 | 256 |
| 257 bool PermissionIDSet::ContainsAnyID( |
| 258 const std::set<APIPermission::ID>& permission_ids) const { |
| 259 for (APIPermission::ID id : permission_ids) { |
| 260 if (ContainsID(id)) |
| 261 return true; |
| 262 } |
| 263 return false; |
| 264 } |
| 265 |
| 266 PermissionIDSet PermissionIDSet::GetAllPermissionsWithID( |
| 267 APIPermission::ID permission_id) const { |
| 268 PermissionIDSet subset; |
| 269 auto it = permissions_.lower_bound(PermissionID(permission_id)); |
| 270 while (it != permissions_.end() && it->id() == permission_id) { |
| 271 subset.permissions_.insert(*it); |
| 272 ++it; |
| 273 } |
| 274 return subset; |
| 275 } |
| 276 |
257 PermissionIDSet PermissionIDSet::GetAllPermissionsWithIDs( | 277 PermissionIDSet PermissionIDSet::GetAllPermissionsWithIDs( |
258 const std::set<APIPermission::ID>& permission_ids) const { | 278 const std::set<APIPermission::ID>& permission_ids) const { |
259 PermissionIDSet subset; | 279 PermissionIDSet subset; |
260 for (const auto& permission : permissions_) { | 280 for (const auto& permission : permissions_) { |
261 if (ContainsKey(permission_ids, permission.id())) { | 281 if (ContainsKey(permission_ids, permission.id())) { |
262 subset.permissions_.insert(permission); | 282 subset.permissions_.insert(permission); |
263 } | 283 } |
264 } | 284 } |
265 return subset; | 285 return subset; |
266 } | 286 } |
(...skipping 19 matching lines...) Expand all Loading... |
286 | 306 |
287 bool PermissionIDSet::empty() const { | 307 bool PermissionIDSet::empty() const { |
288 return permissions_.empty(); | 308 return permissions_.empty(); |
289 } | 309 } |
290 | 310 |
291 PermissionIDSet::PermissionIDSet(const std::set<PermissionID>& permissions) | 311 PermissionIDSet::PermissionIDSet(const std::set<PermissionID>& permissions) |
292 : permissions_(permissions) { | 312 : permissions_(permissions) { |
293 } | 313 } |
294 | 314 |
295 } // namespace extensions | 315 } // namespace extensions |
OLD | NEW |