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
3// found in the LICENSE file.
4
5#include "chrome/browser/extensions/api/networking_private/networking_private_factory_chromeos.h"
6
7#include "chrome/browser/extensions/api/networking_private/networking_private_chromeos.h"
8#include "chrome/browser/extensions/api/networking_private/networking_private_delegate.h"
9#include "components/keyed_service/content/browser_context_dependency_manager.h"
10#include "content/public/browser/browser_thread.h"
11#include "extensions/browser/extensions_browser_client.h"
12
13namespace extensions {
14
15using content::BrowserContext;
16
17// static
18NetworkingPrivateDelegate* NetworkingPrivateDelegate::GetForBrowserContext(
19    BrowserContext* browser_context) {
20  return NetworkingPrivateChromeOSFactory::GetForBrowserContext(
21      browser_context);
22}
23
24// static
25NetworkingPrivateChromeOS*
26NetworkingPrivateChromeOSFactory::GetForBrowserContext(
27    BrowserContext* browser_context) {
28  return static_cast<NetworkingPrivateChromeOS*>(
29      GetInstance()->GetServiceForBrowserContext(browser_context, true));
30}
31
32// static
33NetworkingPrivateChromeOSFactory*
34NetworkingPrivateChromeOSFactory::GetInstance() {
35  return Singleton<NetworkingPrivateChromeOSFactory>::get();
36}
37
38NetworkingPrivateChromeOSFactory::NetworkingPrivateChromeOSFactory()
39    : BrowserContextKeyedServiceFactory(
40          "NetworkingPrivateChromeOS",
41          BrowserContextDependencyManager::GetInstance()) {
42}
43
44NetworkingPrivateChromeOSFactory::~NetworkingPrivateChromeOSFactory() {
45}
46
47KeyedService* NetworkingPrivateChromeOSFactory::BuildServiceInstanceFor(
48    BrowserContext* browser_context) const {
49  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
50  return new NetworkingPrivateChromeOS(browser_context);
51}
52
53BrowserContext* NetworkingPrivateChromeOSFactory::GetBrowserContextToUse(
54    BrowserContext* context) const {
55  return ExtensionsBrowserClient::Get()->GetOriginalContext(context);
56}
57
58bool NetworkingPrivateChromeOSFactory::ServiceIsCreatedWithBrowserContext()
59    const {
60  return false;
61}
62
63bool NetworkingPrivateChromeOSFactory::ServiceIsNULLWhileTesting() const {
64  return false;
65}
66
67}  // namespace extensions
68