Index: chrome/browser/extensions/extension_service.cc |
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc |
index 5463968d73ac7c4bfa1f3389b1db804bd027f7b5..76d52a2e5081ceb6bb12a84dc75fc5471a9e75e5 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" |
@@ -730,9 +731,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(); |
} |
@@ -765,6 +768,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) || |