blob: e02297d4fd40d438702a7ca33b284adc4e768ec6 [file] [log] [blame]
[email protected]4b7111f22013-06-18 14:22:121// 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]dbb03fb2014-02-15 05:36:338#include "apps/app_window_registry.h"
[email protected]4b7111f22013-06-18 14:22:129#include "chrome/browser/profiles/profile.h"
[email protected]12b7af32014-03-13 05:28:2010#include "components/keyed_service/content/browser_context_dependency_manager.h"
[email protected]175a74d2014-02-08 02:06:2011#include "extensions/browser/extensions_browser_client.h"
[email protected]4b7111f22013-06-18 14:22:1212
13namespace apps {
14
15// static
16AppLifetimeMonitor* AppLifetimeMonitorFactory::GetForProfile(Profile* profile) {
17 return static_cast<AppLifetimeMonitor*>(
18 GetInstance()->GetServiceForBrowserContext(profile, false));
19}
20
21AppLifetimeMonitorFactory* AppLifetimeMonitorFactory::GetInstance() {
22 return Singleton<AppLifetimeMonitorFactory>::get();
23}
24
25AppLifetimeMonitorFactory::AppLifetimeMonitorFactory()
26 : BrowserContextKeyedServiceFactory(
27 "AppLifetimeMonitor",
28 BrowserContextDependencyManager::GetInstance()) {
[email protected]dbb03fb2014-02-15 05:36:3329 DependsOn(AppWindowRegistry::Factory::GetInstance());
[email protected]4b7111f22013-06-18 14:22:1230}
31
32AppLifetimeMonitorFactory::~AppLifetimeMonitorFactory() {}
33
[email protected]12b7af32014-03-13 05:28:2034KeyedService* AppLifetimeMonitorFactory::BuildServiceInstanceFor(
[email protected]4b7111f22013-06-18 14:22:1235 content::BrowserContext* profile) const {
36 return new AppLifetimeMonitor(static_cast<Profile*>(profile));
37}
38
39bool AppLifetimeMonitorFactory::ServiceIsCreatedWithBrowserContext() const {
40 return true;
41}
42
43content::BrowserContext* AppLifetimeMonitorFactory::GetBrowserContextToUse(
44 content::BrowserContext* context) const {
[email protected]175a74d2014-02-08 02:06:2045 return extensions::ExtensionsBrowserClient::Get()->
46 GetOriginalContext(context);
[email protected]4b7111f22013-06-18 14:22:1247}
48
49} // namespace apps