Index: chrome/browser/extensions/extension_service.cc |
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc |
index 037abdbbdbe63e221bd4e4d1888fafcbb310cb18..ec7ee1ab4c7625a048a2fa3e87ac12adaacbf3d0 100644 |
--- a/chrome/browser/extensions/extension_service.cc |
+++ b/chrome/browser/extensions/extension_service.cc |
@@ -22,6 +22,7 @@ |
#include "chrome/browser/extensions/component_loader.h" |
#include "chrome/browser/extensions/crx_installer.h" |
#include "chrome/browser/extensions/data_deleter.h" |
+#include "chrome/browser/extensions/extension_assets_manager.h" |
#include "chrome/browser/extensions/extension_disabled_ui.h" |
#include "chrome/browser/extensions/extension_error_controller.h" |
#include "chrome/browser/extensions/extension_install_ui.h" |
@@ -725,9 +726,11 @@ bool ExtensionService::UninstallExtension(const std::string& extension_id, |
if (!Manifest::IsUnpackedLocation(extension->location())) { |
if (!GetFileTaskRunner()->PostTask( |
FROM_HERE, |
- base::Bind(&extensions::file_util::UninstallExtension, |
+ base::Bind(&ExtensionService::UninstallExtensionOnFileThread, |
+ extension_id, |
+ profile_, |
install_directory_, |
- extension_id))) |
+ extension->path()))) |
NOTREACHED(); |
} |
@@ -760,6 +763,17 @@ bool ExtensionService::UninstallExtension(const std::string& extension_id, |
return true; |
} |
+// static |
+void ExtensionService::UninstallExtensionOnFileThread( |
+ const std::string& id, |
+ Profile* profile, |
+ const base::FilePath& install_dir, |
+ const base::FilePath& extension_path) { |
+ extensions::ExtensionAssetsManager* assets_manager = |
+ extensions::ExtensionAssetsManager::GetInstance(); |
+ assets_manager->UninstallExtension(id, profile, install_dir, extension_path); |
+} |
+ |
bool ExtensionService::IsExtensionEnabled( |
const std::string& extension_id) const { |
if (registry_->enabled_extensions().Contains(extension_id) || |