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

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

Issue 2379763003: Extract permission alias info from PermissionsProvider (Closed)
Patch Set: . Created 4 years, 2 months 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/permissions_info.cc
diff --git a/extensions/common/permissions/permissions_info.cc b/extensions/common/permissions/permissions_info.cc
index a3c942ead06f8b65d7a84d82d87904d7dfc6b598..75a1a64ccca74478aa694b1f38b370a3e782fef8 100644
--- a/extensions/common/permissions/permissions_info.cc
+++ b/extensions/common/permissions/permissions_info.cc
@@ -8,6 +8,7 @@
#include "base/logging.h"
#include "base/stl_util.h"
#include "base/strings/string_util.h"
+#include "extensions/common/alias.h"
namespace extensions {
@@ -19,14 +20,15 @@ PermissionsInfo* PermissionsInfo::GetInstance() {
return g_permissions_info.Pointer();
}
-void PermissionsInfo::AddProvider(const PermissionsProvider& provider) {
- auto permissions = provider.GetAllPermissions();
- auto aliases = provider.GetAllAliases();
+void PermissionsInfo::AddProvider(
+ const PermissionsProvider& permissions_provider,
+ const std::vector<Alias>& aliases) {
+ auto permissions = permissions_provider.GetAllPermissions();
for (auto& permission : permissions)
RegisterPermission(std::move(permission));
for (const auto& alias : aliases)
- RegisterAlias(alias.name, alias.alias);
+ RegisterAlias(alias);
}
const APIPermissionInfo* PermissionsInfo::GetByID(APIPermission::ID id) const {
@@ -72,12 +74,10 @@ PermissionsInfo::PermissionsInfo()
PermissionsInfo::~PermissionsInfo() {
}
-void PermissionsInfo::RegisterAlias(
- const char* name,
- const char* alias) {
- DCHECK(base::ContainsKey(name_map_, name));
- DCHECK(!base::ContainsKey(name_map_, alias));
- name_map_[alias] = name_map_[name];
+void PermissionsInfo::RegisterAlias(const Alias& alias) {
+ DCHECK(base::ContainsKey(name_map_, alias.real_name()));
+ DCHECK(!base::ContainsKey(name_map_, alias.name()));
+ name_map_[alias.name()] = name_map_[alias.real_name()];
}
void PermissionsInfo::RegisterPermission(
« no previous file with comments | « extensions/common/permissions/permissions_info.h ('k') | extensions/common/permissions/permissions_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698