Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: chrome/browser/extensions/extension_garbage_collector_factory.cc

Issue 303693011: Add garbage collection for shared extensions on Chrome OS (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_garbage_collector_factory.h" 5 #include "chrome/browser/extensions/extension_garbage_collector_factory.h"
6 6
7 #include "base/memory/singleton.h" 7 #include "base/memory/singleton.h"
8 #include "chrome/browser/extensions/extension_garbage_collector.h" 8 #include "chrome/browser/extensions/extension_garbage_collector.h"
9 #include "chrome/browser/extensions/extension_system_factory.h" 9 #include "chrome/browser/extensions/extension_system_factory.h"
10 #include "chrome/browser/extensions/install_tracker_factory.h" 10 #include "chrome/browser/extensions/install_tracker_factory.h"
11 #include "components/keyed_service/content/browser_context_dependency_manager.h" 11 #include "components/keyed_service/content/browser_context_dependency_manager.h"
12 #include "extensions/browser/extensions_browser_client.h" 12 #include "extensions/browser/extensions_browser_client.h"
13 13
14 #if defined(OS_CHROMEOS)
15 #include "chrome/browser/extensions/extension_garbage_collector_chromeos.h"
16 #endif
17
14 namespace extensions { 18 namespace extensions {
15 19
16 // static 20 // static
17 ExtensionGarbageCollector* 21 ExtensionGarbageCollector*
18 ExtensionGarbageCollectorFactory::GetForBrowserContext( 22 ExtensionGarbageCollectorFactory::GetForBrowserContext(
19 content::BrowserContext* context) { 23 content::BrowserContext* context) {
20 return static_cast<ExtensionGarbageCollector*>( 24 return static_cast<ExtensionGarbageCollector*>(
21 GetInstance()->GetServiceForBrowserContext(context, true)); 25 GetInstance()->GetServiceForBrowserContext(context, true));
22 } 26 }
23 27
24 // static 28 // static
25 ExtensionGarbageCollectorFactory* 29 ExtensionGarbageCollectorFactory*
26 ExtensionGarbageCollectorFactory::GetInstance() { 30 ExtensionGarbageCollectorFactory::GetInstance() {
27 return Singleton<ExtensionGarbageCollectorFactory>::get(); 31 return Singleton<ExtensionGarbageCollectorFactory>::get();
28 } 32 }
29 33
30 ExtensionGarbageCollectorFactory::ExtensionGarbageCollectorFactory() 34 ExtensionGarbageCollectorFactory::ExtensionGarbageCollectorFactory()
31 : BrowserContextKeyedServiceFactory( 35 : BrowserContextKeyedServiceFactory(
32 "ExtensionGarbageCollector", 36 "ExtensionGarbageCollector",
33 BrowserContextDependencyManager::GetInstance()) { 37 BrowserContextDependencyManager::GetInstance()) {
34 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); 38 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
35 DependsOn(InstallTrackerFactory::GetInstance()); 39 DependsOn(InstallTrackerFactory::GetInstance());
36 } 40 }
37 41
38 ExtensionGarbageCollectorFactory::~ExtensionGarbageCollectorFactory() {} 42 ExtensionGarbageCollectorFactory::~ExtensionGarbageCollectorFactory() {}
39 43
40 // static 44 // static
41 KeyedService* ExtensionGarbageCollectorFactory::BuildInstanceFor( 45 KeyedService* ExtensionGarbageCollectorFactory::BuildInstanceFor(
42 content::BrowserContext* context) { 46 content::BrowserContext* context) {
47 #if defined(OS_CHROMEOS)
48 return new ExtensionGarbageCollectorChromeOS(context);
49 #else
43 return new ExtensionGarbageCollector(context); 50 return new ExtensionGarbageCollector(context);
51 #endif
44 } 52 }
45 53
46 KeyedService* ExtensionGarbageCollectorFactory::BuildServiceInstanceFor( 54 KeyedService* ExtensionGarbageCollectorFactory::BuildServiceInstanceFor(
47 content::BrowserContext* context) const { 55 content::BrowserContext* context) const {
48 return BuildInstanceFor(context); 56 return BuildInstanceFor(context);
49 } 57 }
50 58
51 bool ExtensionGarbageCollectorFactory::ServiceIsCreatedWithBrowserContext() 59 bool ExtensionGarbageCollectorFactory::ServiceIsCreatedWithBrowserContext()
52 const { 60 const {
53 return true; 61 return true;
54 } 62 }
55 63
56 bool ExtensionGarbageCollectorFactory::ServiceIsNULLWhileTesting() const { 64 bool ExtensionGarbageCollectorFactory::ServiceIsNULLWhileTesting() const {
57 return true; 65 return true;
58 } 66 }
59 67
60 } // namespace extensions 68 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698