1// Copyright (c) 2012 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 "chrome/browser/extensions/api/dial/dial_api_factory.h"
6
7#include "chrome/browser/extensions/api/dial/dial_api.h"
8#include "components/keyed_service/content/browser_context_dependency_manager.h"
9#include "extensions/browser/extension_system_provider.h"
10#include "extensions/browser/extensions_browser_client.h"
11
12namespace extensions {
13
14// static
15scoped_refptr<DialAPI> DialAPIFactory::GetForBrowserContext(
16    content::BrowserContext* context) {
17  return static_cast<DialAPI*>(
18      GetInstance()->GetServiceForBrowserContext(context, true).get());
19}
20
21// static
22DialAPIFactory* DialAPIFactory::GetInstance() {
23  return Singleton<DialAPIFactory>::get();
24}
25
26DialAPIFactory::DialAPIFactory() : RefcountedBrowserContextKeyedServiceFactory(
27    "DialAPI", BrowserContextDependencyManager::GetInstance()) {
28  DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
29}
30
31DialAPIFactory::~DialAPIFactory() {
32}
33
34scoped_refptr<RefcountedBrowserContextKeyedService>
35    DialAPIFactory::BuildServiceInstanceFor(
36        content::BrowserContext* profile) const {
37  return scoped_refptr<DialAPI>(new DialAPI(static_cast<Profile*>(profile)));
38}
39
40bool DialAPIFactory::ServiceIsCreatedWithBrowserContext() const {
41  return true;
42}
43
44bool DialAPIFactory::ServiceIsNULLWhileTesting() const {
45  return true;
46}
47
48}  // namespace extensions
49