Index: chrome/browser/extensions/shared_module_service.cc |
diff --git a/chrome/browser/extensions/shared_module_service.cc b/chrome/browser/extensions/shared_module_service.cc |
index 78e9ab74e21c6c06c95f8661e9c110e776fb5aea..22c9e25117e781595423f0f681d031c80e6ae2b0 100644 |
--- a/chrome/browser/extensions/shared_module_service.cc |
+++ b/chrome/browser/extensions/shared_module_service.cc |
@@ -8,7 +8,6 @@ |
#include "base/version.h" |
#include "chrome/browser/extensions/extension_service.h" |
-#include "chrome/browser/extensions/install_tracker.h" |
#include "chrome/browser/extensions/pending_extension_manager.h" |
#include "chrome/common/extensions/extension_constants.h" |
#include "extensions/browser/extension_registry.h" |
@@ -25,17 +24,15 @@ typedef std::list<SharedModuleInfo::ImportInfo> ImportInfoList; |
} // namespace |
SharedModuleService::SharedModuleService(content::BrowserContext* context) |
- : context_(context), observing_(false) { |
- InstallTracker::Get(context_)->AddObserver(this); |
+ : extension_registry_observer_(this), browser_context_(context) { |
+ extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); |
} |
SharedModuleService::~SharedModuleService() { |
- if (observing_) |
- InstallTracker::Get(context_)->RemoveObserver(this); |
} |
SharedModuleService::ImportStatus SharedModuleService::CheckImports( |
- const extensions::Extension* extension, |
+ const Extension* extension, |
ImportInfoList* missing_modules, |
ImportInfoList* outdated_modules) { |
DCHECK(extension); |
@@ -44,7 +41,7 @@ SharedModuleService::ImportStatus SharedModuleService::CheckImports( |
ImportStatus status = IMPORT_STATUS_OK; |
- ExtensionRegistry* registry = ExtensionRegistry::Get(context_); |
+ ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context_); |
const ImportInfoVector& imports = SharedModuleInfo::GetImports(extension); |
for (ImportInfoVector::const_iterator iter = imports.begin(); |
iter != imports.end(); |
@@ -87,7 +84,7 @@ SharedModuleService::ImportStatus SharedModuleService::SatisfyImports( |
CheckImports(extension, &missing_modules, &outdated_modules); |
ExtensionService* service = |
- ExtensionSystem::Get(context_)->extension_service(); |
+ ExtensionSystem::Get(browser_context_)->extension_service(); |
PendingExtensionManager* pending_extension_manager = |
service->pending_extension_manager(); |
@@ -112,9 +109,9 @@ scoped_ptr<const ExtensionSet> SharedModuleService::GetDependentExtensions( |
scoped_ptr<ExtensionSet> dependents(new ExtensionSet()); |
if (SharedModuleInfo::IsSharedModule(extension)) { |
- ExtensionRegistry* registry = ExtensionRegistry::Get(context_); |
+ ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context_); |
ExtensionService* service = |
- ExtensionSystem::Get(context_)->extension_service(); |
+ ExtensionSystem::Get(browser_context_)->extension_service(); |
ExtensionSet set_to_check; |
set_to_check.InsertAll(registry->enabled_extensions()); |
@@ -133,14 +130,16 @@ scoped_ptr<const ExtensionSet> SharedModuleService::GetDependentExtensions( |
return dependents.PassAs<const ExtensionSet>(); |
} |
-void SharedModuleService::PruneSharedModulesOnUninstall( |
+void SharedModuleService::OnExtensionUninstalled( |
+ content::BrowserContext* browser_context, |
const Extension* extension) { |
+ // Uninstalls shared modules that were only referenced by |extension|. |
if (!SharedModuleInfo::ImportsModules(extension)) |
return; |
- ExtensionRegistry* registry = ExtensionRegistry::Get(context_); |
+ ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context_); |
ExtensionService* service = |
- ExtensionSystem::Get(context_)->extension_service(); |
+ ExtensionSystem::Get(browser_context_)->extension_service(); |
const ImportInfoVector& imports = SharedModuleInfo::GetImports(extension); |
for (ImportInfoVector::const_iterator iter = imports.begin(); |
@@ -161,13 +160,4 @@ void SharedModuleService::PruneSharedModulesOnUninstall( |
} |
} |
-void SharedModuleService::OnExtensionUninstalled(const Extension* extension) { |
- PruneSharedModulesOnUninstall(extension); |
-} |
- |
-void SharedModuleService::OnShutdown() { |
- InstallTracker::Get(context_)->RemoveObserver(this); |
not at google - send to devlin
2014/06/10 18:12:41
so.... it does seem like this is safe to remove, b
limasdf
2014/06/11 00:26:00
yep, please let me know if there's problem about t
|
- observing_ = false; |
-} |
- |
} // namespace extensions |