| 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 |