Chromium Code Reviews| Index: extensions/common/permissions/api_permission_set.cc |
| diff --git a/extensions/common/permissions/api_permission_set.cc b/extensions/common/permissions/api_permission_set.cc |
| index d5b14a083ef52db2477e5d31b3781f411359071f..48a174e92977b8b29c5f90ff2eb3124d26c927ee 100644 |
| --- a/extensions/common/permissions/api_permission_set.cc |
| +++ b/extensions/common/permissions/api_permission_set.cc |
| @@ -197,6 +197,13 @@ PermissionID::~PermissionID() { |
| PermissionIDSet::PermissionIDSet() { |
| } |
| +PermissionIDSet::PermissionIDSet( |
| + const std::initializer_list<APIPermission::ID>& permissions) { |
|
Devlin
2017/02/10 19:54:46
nit: if we make this a pass-by-value (or rvalue re
Ivan Šandrk
2017/02/13 13:18:20
This doesn't really compile. I've tried getting it
Devlin
2017/02/13 22:33:59
Oh, grr, you're right. Not something you should h
|
| + for (auto permission : permissions) { |
| + permissions_.insert(PermissionID(permission)); |
| + } |
| +} |
| + |
| PermissionIDSet::PermissionIDSet(const PermissionIDSet& other) = default; |
| PermissionIDSet::~PermissionIDSet() { |
| @@ -236,9 +243,13 @@ std::vector<base::string16> PermissionIDSet::GetAllPermissionParameters() |
| return params; |
| } |
| +bool PermissionIDSet::ContainsID(PermissionID permission_id) const { |
| + auto it = permissions_.lower_bound(permission_id); |
| + return it != permissions_.end() && it->id() == permission_id.id(); |
| +} |
| + |
| bool PermissionIDSet::ContainsID(APIPermission::ID permission_id) const { |
| - auto it = permissions_.lower_bound(PermissionID(permission_id)); |
| - return it != permissions_.end() && it->id() == permission_id; |
| + return ContainsID(PermissionID(permission_id)); |
| } |
| bool PermissionIDSet::ContainsAllIDs( |
| @@ -260,6 +271,14 @@ bool PermissionIDSet::ContainsAnyID( |
| return false; |
| } |
| +bool PermissionIDSet::ContainsAnyID(const PermissionIDSet& other) const { |
| + for (const auto& id : other) { |
| + if (ContainsID(id)) |
| + return true; |
| + } |
| + return false; |
| +} |
| + |
| PermissionIDSet PermissionIDSet::GetAllPermissionsWithID( |
| APIPermission::ID permission_id) const { |
| PermissionIDSet subset; |