Index: extensions/common/permissions/permissions_data.cc |
diff --git a/extensions/common/permissions/permissions_data.cc b/extensions/common/permissions/permissions_data.cc |
index fb9cecb1cbca59ccb2fa73487ad004ce8018f44d..2002b2946108b2c9e4ef0f28854a53e3cbf7abe9 100644 |
--- a/extensions/common/permissions/permissions_data.cc |
+++ b/extensions/common/permissions/permissions_data.cc |
@@ -297,6 +297,19 @@ PermissionMessages PermissionsData::GetPermissionMessages() const { |
*active_permissions_unsafe_, manifest_type_)); |
} |
+PermissionMessages PermissionsData::GetNewPermissionMessages( |
+ const PermissionSet& granted_permissions) const { |
+ base::AutoLock auto_lock(runtime_lock_); |
+ |
+ std::unique_ptr<const PermissionSet> new_permissions = |
+ PermissionSet::CreateDifference(*active_permissions_unsafe_, |
+ granted_permissions); |
+ |
+ return PermissionMessageProvider::Get()->GetPermissionMessages( |
+ PermissionMessageProvider::Get()->GetAllPermissionIDs(*new_permissions, |
+ manifest_type_)); |
+} |
+ |
bool PermissionsData::HasWithheldImpliedAllHosts() const { |
base::AutoLock auto_lock(runtime_lock_); |
// Since we currently only withhold all_hosts, it's sufficient to check |