Index: chrome/browser/extensions/extension_service.cc |
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc |
index 8fd7b595f5d7ea0fcce3ace65afc0484cb719cf3..cafda0597147f55e4c025e3ef03d75d26f626c49 100644 |
--- a/chrome/browser/extensions/extension_service.cc |
+++ b/chrome/browser/extensions/extension_service.cc |
@@ -1736,7 +1736,7 @@ void ExtensionService::HandleExtensionAlertAccept( |
global_error.get_external_extension_ids(); |
for (ExtensionIdSet::const_iterator iter = extension_ids->begin(); |
iter != extension_ids->end(); ++iter) { |
- extension_prefs_->AcknowledgeExternalExtension(*iter); |
+ AcknowledgeExternalExtension(*iter); |
} |
extension_ids = global_error.get_blacklisted_extension_ids(); |
for (ExtensionIdSet::const_iterator iter = extension_ids->begin(); |
@@ -1750,6 +1750,10 @@ void ExtensionService::HandleExtensionAlertAccept( |
} |
} |
+void ExtensionService::AcknowledgeExternalExtension(const std::string& id) { |
+ extension_prefs_->AcknowledgeExternalExtension(id); |
+} |
+ |
void ExtensionService::HandleExtensionAlertDetails( |
const ExtensionGlobalError& global_error, Browser* browser) { |
if (browser) { |
@@ -2242,7 +2246,8 @@ void ExtensionService::OnExternalExtensionFileFound( |
const Version* version, |
const FilePath& path, |
Extension::Location location, |
- int creation_flags) { |
+ int creation_flags, |
+ bool should_acknowledge) { |
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
CHECK(Extension::IdIsValid(id)); |
if (extension_prefs_->IsExternalExtensionUninstalled(id)) |
@@ -2279,6 +2284,9 @@ void ExtensionService::OnExternalExtensionFileFound( |
installer->set_install_cause(extension_misc::INSTALL_CAUSE_EXTERNAL_FILE); |
installer->set_creation_flags(creation_flags); |
installer->InstallCrx(path); |
+ |
+ if (should_acknowledge) |
+ AcknowledgeExternalExtension(id); |
} |
void ExtensionService::ReportExtensionLoadError( |