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

Unified Diff: chrome/browser/extensions/extension_install_prompt.cc

Issue 51433002: Enable permission warnings from ManifestHandlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Working on adding ManifestPermissionSet to PermissionSet. 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/browser/extensions/extension_install_prompt.cc
diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc
index 286bec570ca5c827dd56b2efd4a1b35211a36045..841f786642e3544484831899f9fabb544b5accdc 100644
--- a/chrome/browser/extensions/extension_install_prompt.cc
+++ b/chrome/browser/extensions/extension_install_prompt.cc
@@ -785,14 +785,44 @@ void ExtensionInstallPrompt::ShowConfirmation() {
(!extension_ ||
!extensions::PermissionsData::ShouldSkipPermissionWarnings(
extension_))) {
- Manifest::Type extension_type = extension_ ?
- extension_->GetType() : Manifest::TYPE_UNKNOWN;
- prompt_.SetPermissions(
+ DCHECK(extension_);
+
+ std::vector<string16> all_messages;
+ std::vector<string16> all_messages_details;
+
+ // Messages from PermissionMessageProvider
+ Manifest::Type extension_type = extension_->GetType();
+ std::vector<string16> permission_messages =
extensions::PermissionMessageProvider::Get()->
- GetWarningMessages(permissions_, extension_type));
- prompt_.SetPermissionsDetails(
+ GetWarningMessages(permissions_, extension_type);
+ std::vector<string16> permission_messages_details =
extensions::PermissionMessageProvider::Get()->
- GetWarningMessagesDetails(permissions_, extension_type));
+ GetWarningMessagesDetails(permissions_, extension_type);
+
+ all_messages.insert(all_messages.end(),
+ permission_messages.begin(),
+ permission_messages.end());
+ all_messages_details.insert(all_messages_details.end(),
+ permission_messages_details.begin(),
+ permission_messages_details.end());
+
+ // Messages from extension's ManifestHandlers
+ std::vector<string16> manifest_messages =
+ extensions::ManifestHandler::
+ GetExtensionPermissionWarningMessages(extension_);
+ std::vector<string16> manifest_messages_details =
+ extensions::ManifestHandler::
+ GetExtensionPermissionWarningMessagesDetails(extension_);
+
+ all_messages.insert(all_messages.end(),
+ manifest_messages.begin(),
+ manifest_messages.end());
+ all_messages_details.insert(all_messages_details.end(),
+ manifest_messages_details.begin(),
+ manifest_messages_details.end());
+
+ prompt_.SetPermissions(all_messages);
+ prompt_.SetPermissionsDetails(all_messages_details);
}
switch (prompt_.type()) {

Powered by Google App Engine
This is Rietveld 408576698