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

Unified Diff: chrome/common/extensions/permissions/chrome_permission_message_provider.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: chrome/common/extensions/permissions/chrome_permission_message_provider.cc
diff --git a/chrome/common/extensions/permissions/chrome_permission_message_provider.cc b/chrome/common/extensions/permissions/chrome_permission_message_provider.cc
index 433c18d09e5d7634861479d666f973bff7d9bc61..cbd80d66f5a3ff68c7495ec04c27157302181f1d 100644
--- a/chrome/common/extensions/permissions/chrome_permission_message_provider.cc
+++ b/chrome/common/extensions/permissions/chrome_permission_message_provider.cc
@@ -37,8 +37,12 @@ PermissionMessages ChromePermissionMessageProvider::GetPermissionMessages(
std::set<PermissionMessage> host_msgs =
GetHostPermissionMessages(permissions, extension_type);
std::set<PermissionMessage> api_msgs = GetAPIPermissionMessages(permissions);
+ std::set<PermissionMessage> manifest_permission_msgs =
+ GetManifestPermissionMessages(permissions);
messages.insert(messages.end(), host_msgs.begin(), host_msgs.end());
messages.insert(messages.end(), api_msgs.begin(), api_msgs.end());
+ messages.insert(messages.end(), manifest_permission_msgs.begin(),
+ manifest_permission_msgs.end());
return messages;
}
@@ -185,6 +189,22 @@ ChromePermissionMessageProvider::GetAPIPermissionMessages(
}
std::set<PermissionMessage>
+ChromePermissionMessageProvider::GetManifestPermissionMessages(
+ const PermissionSet* permissions) const {
+ std::set<PermissionMessage> messages;
+ for (ManifestPermissionSet::const_iterator permission_it =
+ permissions->manifest_permissions().begin();
+ permission_it != permissions->manifest_permissions().end();
+ ++permission_it) {
+ if (permission_it->HasMessages()) {
+ PermissionMessages new_messages = permission_it->GetMessages();
+ messages.insert(new_messages.begin(), new_messages.end());
+ }
+ }
+ return messages;
+}
+
+std::set<PermissionMessage>
ChromePermissionMessageProvider::GetHostPermissionMessages(
const PermissionSet* permissions,
Manifest::Type extension_type) const {

Powered by Google App Engine
This is Rietveld 408576698