Index: chrome/browser/extensions/crx_installer.cc |
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc |
index f419eab38665ea39cbda5627996314b25a058d76..9a5e4ef6c0adddbe057327a420eb99c1bd36a0f0 100644 |
--- a/chrome/browser/extensions/crx_installer.cc |
+++ b/chrome/browser/extensions/crx_installer.cc |
@@ -491,7 +491,6 @@ void CrxInstaller::CheckImportsAndRequirements() { |
SharedModuleInfo::GetImports(extension()); |
std::vector<SharedModuleInfo::ImportInfo>::const_iterator i; |
for (i = imports.begin(); i != imports.end(); ++i) { |
- Version version_required(i->minimum_version); |
const Extension* imported_module = |
service->GetExtensionById(i->extension_id, true); |
if (imported_module && |
@@ -501,6 +500,14 @@ void CrxInstaller::CheckImportsAndRequirements() { |
IDS_EXTENSION_INSTALL_DEPENDENCY_NOT_SHARED_MODULE, |
base::ASCIIToUTF16(i->extension_id)))); |
return; |
+ } else if (imported_module && |
+ !SharedModuleInfo::IsExportAllowedByWhitelist(imported_module, |
+ extension()->id())) { |
+ ReportFailureFromUIThread( |
+ CrxInstallerError(l10n_util::GetStringFUTF16( |
+ IDS_EXTENSION_INSTALL_DEPENDENCY_NOT_WHITELISTED, |
+ base::ASCIIToUTF16(i->extension_id)))); |
+ return; |
} |
} |
} |