| 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()) {
|
|
|