Index: chrome/browser/extensions/extension_service.cc |
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc |
index 1a12f92bde374dc90c8ec54f34c9be017cbe7192..454cc72d17911782a2b8f1d2f22a5e477e0a61f1 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" |
@@ -750,9 +751,11 @@ bool ExtensionService::UninstallExtension( |
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(); |
} |
@@ -786,6 +789,17 @@ bool ExtensionService::UninstallExtension( |
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) || |