[email protected] | 4b7111f2 | 2013-06-18 14:22:12 | [diff] [blame] | 1 | // Copyright 2013 The Chromium Authors. All rights reserved. |
2 | // Use of this source code is governed by a BSD-style license that can be | ||||
3 | // found in the LICENSE file. | ||||
4 | |||||
5 | #include "apps/app_lifetime_monitor_factory.h" | ||||
6 | |||||
7 | #include "apps/app_lifetime_monitor.h" | ||||
[email protected] | 4b7111f2 | 2013-06-18 14:22:12 | [diff] [blame] | 8 | #include "chrome/browser/profiles/profile.h" |
[email protected] | 12b7af3 | 2014-03-13 05:28:20 | [diff] [blame] | 9 | #include "components/keyed_service/content/browser_context_dependency_manager.h" |
hashimoto | ad3c687 | 2014-08-29 09:46:57 | [diff] [blame] | 10 | #include "extensions/browser/app_window/app_window_registry.h" |
[email protected] | 175a74d | 2014-02-08 02:06:20 | [diff] [blame] | 11 | #include "extensions/browser/extensions_browser_client.h" |
[email protected] | 4b7111f2 | 2013-06-18 14:22:12 | [diff] [blame] | 12 | |
13 | namespace apps { | ||||
14 | |||||
15 | // static | ||||
16 | AppLifetimeMonitor* AppLifetimeMonitorFactory::GetForProfile(Profile* profile) { | ||||
17 | return static_cast<AppLifetimeMonitor*>( | ||||
18 | GetInstance()->GetServiceForBrowserContext(profile, false)); | ||||
19 | } | ||||
20 | |||||
21 | AppLifetimeMonitorFactory* AppLifetimeMonitorFactory::GetInstance() { | ||||
olli.raula | 36aa8be | 2015-09-10 11:14:22 | [diff] [blame] | 22 | return base::Singleton<AppLifetimeMonitorFactory>::get(); |
[email protected] | 4b7111f2 | 2013-06-18 14:22:12 | [diff] [blame] | 23 | } |
24 | |||||
25 | AppLifetimeMonitorFactory::AppLifetimeMonitorFactory() | ||||
26 | : BrowserContextKeyedServiceFactory( | ||||
27 | "AppLifetimeMonitor", | ||||
28 | BrowserContextDependencyManager::GetInstance()) { | ||||
hashimoto | ad3c687 | 2014-08-29 09:46:57 | [diff] [blame] | 29 | DependsOn(extensions::AppWindowRegistry::Factory::GetInstance()); |
[email protected] | 4b7111f2 | 2013-06-18 14:22:12 | [diff] [blame] | 30 | } |
31 | |||||
32 | AppLifetimeMonitorFactory::~AppLifetimeMonitorFactory() {} | ||||
33 | |||||
[email protected] | 12b7af3 | 2014-03-13 05:28:20 | [diff] [blame] | 34 | KeyedService* AppLifetimeMonitorFactory::BuildServiceInstanceFor( |
[email protected] | 4b7111f2 | 2013-06-18 14:22:12 | [diff] [blame] | 35 | content::BrowserContext* profile) const { |
36 | return new AppLifetimeMonitor(static_cast<Profile*>(profile)); | ||||
37 | } | ||||
38 | |||||
39 | bool AppLifetimeMonitorFactory::ServiceIsCreatedWithBrowserContext() const { | ||||
40 | return true; | ||||
41 | } | ||||
42 | |||||
43 | content::BrowserContext* AppLifetimeMonitorFactory::GetBrowserContextToUse( | ||||
44 | content::BrowserContext* context) const { | ||||
[email protected] | 175a74d | 2014-02-08 02:06:20 | [diff] [blame] | 45 | return extensions::ExtensionsBrowserClient::Get()-> |
46 | GetOriginalContext(context); | ||||
[email protected] | 4b7111f2 | 2013-06-18 14:22:12 | [diff] [blame] | 47 | } |
48 | |||||
49 | } // namespace apps |