| 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) ||
|
|
|