| 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);
|
| }
|
| }
|
|
|