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 5acd2ae8df7279b0feca3d1492fd2859b7ab174f..d3446d007110c414c6d242585bed53b1d9d00654 100644 |
--- a/chrome/browser/extensions/extension_install_prompt.cc |
+++ b/chrome/browser/extensions/extension_install_prompt.cc |
@@ -711,22 +711,18 @@ void ExtensionInstallPrompt::ShowConfirmation() { |
else |
prompt_->set_experiment(ExtensionInstallPromptExperiment::ControlGroup()); |
- if (permissions_.get()) { |
- if (extension_) { |
- const extensions::PermissionsData* permissions_data = |
- extension_->permissions_data(); |
- prompt_->SetPermissions(permissions_data->GetPermissionMessageStrings()); |
- prompt_->SetPermissionsDetails( |
- permissions_data->GetPermissionMessageDetailsStrings()); |
- } else { |
- const extensions::PermissionMessageProvider* message_provider = |
- extensions::PermissionMessageProvider::Get(); |
- prompt_->SetPermissions(message_provider->GetWarningMessages( |
- permissions_, Manifest::TYPE_UNKNOWN)); |
- prompt_->SetPermissionsDetails( |
- message_provider->GetWarningMessagesDetails(permissions_, |
- Manifest::TYPE_UNKNOWN)); |
- } |
+ if (permissions_.get() && |
+ (!extension_ || |
+ !extensions::PermissionsData::ShouldSkipPermissionWarnings( |
+ extension_->id()))) { |
+ Manifest::Type type = |
+ extension_ ? extension_->GetType() : Manifest::TYPE_UNKNOWN; |
+ const extensions::PermissionMessageProvider* message_provider = |
+ extensions::PermissionMessageProvider::Get(); |
+ prompt_->SetPermissions( |
+ message_provider->GetWarningMessages(permissions_, type)); |
+ prompt_->SetPermissionsDetails( |
+ message_provider->GetWarningMessagesDetails(permissions_, type)); |
} |
switch (prompt_->type()) { |