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

Unified Diff: extensions/common/permissions/api_permission_set.cc

Issue 51433002: Enable permission warnings from ManifestHandlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address code review comments. Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
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 ebaf8d8bca40f11383501590c8be1bbeec4ed218..0ed7769e08e343417c954a5bf856032f5d2af7e1 100644
--- a/extensions/common/permissions/api_permission_set.cc
+++ b/extensions/common/permissions/api_permission_set.cc
@@ -109,51 +109,6 @@ bool ParseChildPermissions(const std::string& base_name,
} // namespace
-APIPermissionSet::APIPermissionSet() {
-}
-
-APIPermissionSet::APIPermissionSet(const APIPermissionSet& set) {
- this->operator=(set);
-}
-
-APIPermissionSet::~APIPermissionSet() {
-}
-
-APIPermissionSet::const_iterator::const_iterator(
- const APIPermissionMap::const_iterator& it)
- : it_(it) {
-}
-
-APIPermissionSet::const_iterator::const_iterator(
- const const_iterator& ids_it)
- : it_(ids_it.it_) {
-}
-
-APIPermissionSet& APIPermissionSet::operator=(const APIPermissionSet& rhs) {
- const_iterator it = rhs.begin();
- const const_iterator end = rhs.end();
- while (it != end) {
- insert(it->Clone());
- ++it;
- }
- return *this;
-}
-
-bool APIPermissionSet::operator==(const APIPermissionSet& rhs) const {
- const_iterator it = begin();
- const_iterator rhs_it = rhs.begin();
- const_iterator it_end = end();
- const_iterator rhs_it_end = rhs.end();
-
- while (it != it_end && rhs_it != rhs_it_end) {
- if (!it->Equal(*rhs_it))
- return false;
- ++it;
- ++rhs_it;
- }
- return it == it_end && rhs_it == rhs_it_end;
-}
-
void APIPermissionSet::insert(APIPermission::ID id) {
const APIPermissionInfo* permission_info =
PermissionsInfo::GetInstance()->GetByID(id);
@@ -161,130 +116,7 @@ void APIPermissionSet::insert(APIPermission::ID id) {
}
void APIPermissionSet::insert(APIPermission* permission) {
- map_[permission->id()].reset(permission);
-}
-
-bool APIPermissionSet::Contains(const APIPermissionSet& rhs) const {
- APIPermissionSet::const_iterator it1 = begin();
- APIPermissionSet::const_iterator it2 = rhs.begin();
- APIPermissionSet::const_iterator end1 = end();
- APIPermissionSet::const_iterator end2 = rhs.end();
-
- while (it1 != end1 && it2 != end2) {
- if (it1->id() > it2->id()) {
- return false;
- } else if (it1->id() < it2->id()) {
- ++it1;
- } else {
- if (!it1->Contains(*it2))
- return false;
- ++it1;
- ++it2;
- }
- }
-
- return it2 == end2;
-}
-
-void APIPermissionSet::Difference(
- const APIPermissionSet& set1,
- const APIPermissionSet& set2,
- APIPermissionSet* set3) {
- CHECK(set3);
- set3->clear();
-
- APIPermissionSet::const_iterator it1 = set1.begin();
- APIPermissionSet::const_iterator it2 = set2.begin();
- const APIPermissionSet::const_iterator end1 = set1.end();
- const APIPermissionSet::const_iterator end2 = set2.end();
-
- while (it1 != end1 && it2 != end2) {
- if (it1->id() < it2->id()) {
- set3->insert(it1->Clone());
- ++it1;
- } else if (it1->id() > it2->id()) {
- ++it2;
- } else {
- APIPermission* p = it1->Diff(*it2);
- if (p)
- set3->insert(p);
- ++it1;
- ++it2;
- }
- }
-
- while (it1 != end1) {
- set3->insert(it1->Clone());
- ++it1;
- }
-}
-
-void APIPermissionSet::Intersection(
- const APIPermissionSet& set1,
- const APIPermissionSet& set2,
- APIPermissionSet* set3) {
- DCHECK(set3);
- set3->clear();
-
- APIPermissionSet::const_iterator it1 = set1.begin();
- APIPermissionSet::const_iterator it2 = set2.begin();
- const APIPermissionSet::const_iterator end1 = set1.end();
- const APIPermissionSet::const_iterator end2 = set2.end();
-
- while (it1 != end1 && it2 != end2) {
- if (it1->id() < it2->id()) {
- ++it1;
- } else if (it1->id() > it2->id()) {
- ++it2;
- } else {
- APIPermission* p = it1->Intersect(*it2);
- if (p)
- set3->insert(p);
- ++it1;
- ++it2;
- }
- }
-}
-
-void APIPermissionSet::Union(
- const APIPermissionSet& set1,
- const APIPermissionSet& set2,
- APIPermissionSet* set3) {
- DCHECK(set3);
- set3->clear();
-
- APIPermissionSet::const_iterator it1 = set1.begin();
- APIPermissionSet::const_iterator it2 = set2.begin();
- const APIPermissionSet::const_iterator end1 = set1.end();
- const APIPermissionSet::const_iterator end2 = set2.end();
-
- while (true) {
- if (it1 == end1) {
- while (it2 != end2) {
- set3->insert(it2->Clone());
- ++it2;
- }
- break;
- }
- if (it2 == end2) {
- while (it1 != end1) {
- set3->insert(it1->Clone());
- ++it1;
- }
- break;
- }
- if (it1->id() < it2->id()) {
- set3->insert(it1->Clone());
- ++it1;
- } else if (it1->id() > it2->id()) {
- set3->insert(it2->Clone());
- ++it2;
- } else {
- set3->insert(it1->Union(*it2));
- ++it1;
- ++it2;
- }
- }
+ BaseSetOperators<APIPermissionSet>::insert(permission);
}
// static
@@ -334,8 +166,8 @@ void APIPermissionSet::AddImpliedPermissions() {
// The fileSystem.write and fileSystem.directory permissions imply
// fileSystem.writeDirectory.
// TODO(sammc): Remove this. See http://crbug.com/284849.
- if (ContainsKey(map_, APIPermission::kFileSystemWrite) &&
- ContainsKey(map_, APIPermission::kFileSystemDirectory)) {
+ if (ContainsKey(map(), APIPermission::kFileSystemWrite) &&
+ ContainsKey(map(), APIPermission::kFileSystemDirectory)) {
insert(APIPermission::kFileSystemWriteDirectory);
}
}

Powered by Google App Engine
This is Rietveld 408576698