// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/extensions/extension_garbage_collector_factory.h" #include "base/memory/singleton.h" #include "chrome/browser/extensions/extension_garbage_collector.h" #include "chrome/browser/extensions/extension_system_factory.h" #include "chrome/browser/extensions/install_tracker_factory.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" #include "extensions/browser/extensions_browser_client.h" namespace extensions { // static ExtensionGarbageCollector* ExtensionGarbageCollectorFactory::GetForBrowserContext( content::BrowserContext* context) { return static_cast<ExtensionGarbageCollector*>( GetInstance()->GetServiceForBrowserContext(context, true)); } // static ExtensionGarbageCollectorFactory* ExtensionGarbageCollectorFactory::GetInstance() { return Singleton<ExtensionGarbageCollectorFactory>::get(); } ExtensionGarbageCollectorFactory::ExtensionGarbageCollectorFactory() : BrowserContextKeyedServiceFactory( "ExtensionGarbageCollector", BrowserContextDependencyManager::GetInstance()) { DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); DependsOn(InstallTrackerFactory::GetInstance()); } ExtensionGarbageCollectorFactory::~ExtensionGarbageCollectorFactory() {} // static KeyedService* ExtensionGarbageCollectorFactory::BuildInstanceFor( content::BrowserContext* context) { return new ExtensionGarbageCollector(context); } KeyedService* ExtensionGarbageCollectorFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { return BuildInstanceFor(context); } bool ExtensionGarbageCollectorFactory::ServiceIsCreatedWithBrowserContext() const { return true; } bool ExtensionGarbageCollectorFactory::ServiceIsNULLWhileTesting() const { return true; } } // namespace extensions