#include "extensions/common/permissions/permissions_info.h"
#include "base/check.h"
#include "base/containers/contains.h"
#include "base/lazy_instance.h"
#include "base/memory/ptr_util.h"
#include "base/strings/string_util.h"
#include "extensions/common/alias.h"
namespace extensions {
static base::LazyInstance<PermissionsInfo>::Leaky g_permissions_info = …;
PermissionsInfo* PermissionsInfo::GetInstance() { … }
void PermissionsInfo::RegisterPermissions(
base::span<const APIPermissionInfo::InitInfo> infos,
base::span<const Alias> aliases) { … }
const APIPermissionInfo* PermissionsInfo::GetByID(
mojom::APIPermissionID id) const { … }
const APIPermissionInfo* PermissionsInfo::GetByName(
const std::string& name) const { … }
APIPermissionSet PermissionsInfo::GetAllForTest() const { … }
APIPermissionSet PermissionsInfo::GetAllByNameForTest(
const std::set<std::string>& permission_names) const { … }
bool PermissionsInfo::HasChildPermissions(const std::string& name) const { … }
PermissionsInfo::PermissionsInfo()
: … { … }
PermissionsInfo::~PermissionsInfo() { … }
void PermissionsInfo::RegisterAlias(const Alias& alias) { … }
void PermissionsInfo::RegisterPermission(
std::unique_ptr<APIPermissionInfo> permission) { … }
}