1faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath// Copyright 2014 The Chromium Authors. All rights reserved.
2faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath// Use of this source code is governed by a BSD-style license that can be
3faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath// found in the LICENSE file.
4faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
5faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath#include "chrome/browser/extensions/api/networking_private/networking_private_factory_chromeos.h"
6faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
7faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath#include "chrome/browser/extensions/api/networking_private/networking_private_chromeos.h"
8faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath#include "chrome/browser/extensions/api/networking_private/networking_private_delegate.h"
9faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath#include "components/keyed_service/content/browser_context_dependency_manager.h"
10faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath#include "content/public/browser/browser_thread.h"
11faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath#include "extensions/browser/extensions_browser_client.h"
12faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
13faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamathnamespace extensions {
14faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
15faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamathusing content::BrowserContext;
16faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
17faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath// static
18faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathNetworkingPrivateDelegate* NetworkingPrivateDelegate::GetForBrowserContext(
19faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath    BrowserContext* browser_context) {
20faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath  return NetworkingPrivateChromeOSFactory::GetForBrowserContext(
21faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath      browser_context);
22faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
23faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
24faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath// static
25faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathNetworkingPrivateChromeOS*
26faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathNetworkingPrivateChromeOSFactory::GetForBrowserContext(
27faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath    BrowserContext* browser_context) {
28faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath  return static_cast<NetworkingPrivateChromeOS*>(
29faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath      GetInstance()->GetServiceForBrowserContext(browser_context, true));
30faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
31faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
32faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath// static
33faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathNetworkingPrivateChromeOSFactory*
34faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathNetworkingPrivateChromeOSFactory::GetInstance() {
35faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath  return Singleton<NetworkingPrivateChromeOSFactory>::get();
36faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
37faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
38faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathNetworkingPrivateChromeOSFactory::NetworkingPrivateChromeOSFactory()
39faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath    : BrowserContextKeyedServiceFactory(
40faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath          "NetworkingPrivateChromeOS",
41faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath          BrowserContextDependencyManager::GetInstance()) {
42faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
43faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
44faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathNetworkingPrivateChromeOSFactory::~NetworkingPrivateChromeOSFactory() {
45faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
46faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
47faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathKeyedService* NetworkingPrivateChromeOSFactory::BuildServiceInstanceFor(
48faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath    BrowserContext* browser_context) const {
49faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
50faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath  return new NetworkingPrivateChromeOS(browser_context);
51faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
52faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
53faf49723fb689c626f69876e718c58018eff8ee7Narayan KamathBrowserContext* NetworkingPrivateChromeOSFactory::GetBrowserContextToUse(
54faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath    BrowserContext* context) const {
55faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath  return ExtensionsBrowserClient::Get()->GetOriginalContext(context);
56faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
57faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
58faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamathbool NetworkingPrivateChromeOSFactory::ServiceIsCreatedWithBrowserContext()
59faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath    const {
60faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath  return false;
61faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
62faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
63faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamathbool NetworkingPrivateChromeOSFactory::ServiceIsNULLWhileTesting() const {
64faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath  return false;
65faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}
66faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath
67faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath}  // namespace extensions
68faf49723fb689c626f69876e718c58018eff8ee7Narayan Kamath