| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index a409420dfbb39c47d0085be060892b98f24856c5..308125f13ed5d9a86f6979ef5d754212ba01cd56 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -600,9 +600,11 @@ void ExtensionService::Init() {
|
| GarbageCollectExtensions();
|
| }
|
|
|
| -void ExtensionService::UpdateExtension(const std::string& id,
|
| - const FilePath& extension_path,
|
| - const GURL& download_url) {
|
| +bool ExtensionService::UpdateExtension(
|
| + const std::string& id,
|
| + const FilePath& extension_path,
|
| + const GURL& download_url,
|
| + Source<CrxInstaller>* out_install_notification_source) {
|
| CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|
| PendingExtensionInfo pending_extension_info;
|
| @@ -621,7 +623,8 @@ void ExtensionService::UpdateExtension(const std::string& id,
|
| NewRunnableFunction(
|
| extension_file_util::DeleteFile, extension_path, false)))
|
| NOTREACHED();
|
| - return;
|
| +
|
| + return false;
|
| }
|
|
|
| // We want a silent install only for non-pending extensions and
|
| @@ -640,6 +643,11 @@ void ExtensionService::UpdateExtension(const std::string& id,
|
| installer->set_original_url(download_url);
|
| installer->set_install_cause(extension_misc::INSTALL_CAUSE_UPDATE);
|
| installer->InstallCrx(extension_path);
|
| +
|
| + if (out_install_notification_source)
|
| + *out_install_notification_source = Source<CrxInstaller>(installer);
|
| +
|
| + return true;
|
| }
|
|
|
| void ExtensionService::ReloadExtension(const std::string& extension_id) {
|
|
|