Index: chrome/browser/download/chrome_download_manager_delegate.cc |
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc |
index 4ff4ebf400c4a8046b229a3c74ccb1da813862ee..8b12de3596361a544e49199043aae47a53defb92 100644 |
--- a/chrome/browser/download/chrome_download_manager_delegate.cc |
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc |
@@ -35,6 +35,7 @@ |
#include "chrome/browser/download/save_package_file_picker.h" |
#include "chrome/browser/extensions/api/downloads/downloads_api.h" |
#include "chrome/browser/extensions/crx_installer.h" |
+#include "chrome/browser/extensions/webstore_installer.h" |
#include "chrome/browser/platform_util.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/safe_browsing/safe_browsing_service.h" |
@@ -370,7 +371,8 @@ bool ChromeDownloadManagerDelegate::ShouldCompleteDownload( |
bool ChromeDownloadManagerDelegate::ShouldOpenDownload( |
DownloadItem* item, const content::DownloadOpenDelayedCallback& callback) { |
- if (download_crx_util::IsExtensionDownload(*item)) { |
+ if (download_crx_util::IsExtensionDownload(*item) && |
+ !extensions::WebstoreInstaller::GetAssociatedApproval(*item)) { |
scoped_refptr<extensions::CrxInstaller> crx_installer = |
download_crx_util::OpenChromeExtension(profile_, *item); |