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/ui/tabs/pinned_tab_service_factory.h"
6
7#include "chrome/browser/profiles/profile.h"
8#include "chrome/browser/ui/tabs/pinned_tab_service.h"
9#include "components/keyed_service/content/browser_context_dependency_manager.h"
10
11// static
12PinnedTabService* PinnedTabServiceFactory::GetForProfile(
13    Profile* profile) {
14  return static_cast<PinnedTabService*>(
15      GetInstance()->GetServiceForBrowserContext(profile, true));
16}
17
18PinnedTabServiceFactory* PinnedTabServiceFactory::GetInstance() {
19  return Singleton<PinnedTabServiceFactory>::get();
20}
21
22PinnedTabServiceFactory::PinnedTabServiceFactory()
23    : BrowserContextKeyedServiceFactory(
24        "PinnedTabService",
25        BrowserContextDependencyManager::GetInstance()) {
26}
27
28PinnedTabServiceFactory::~PinnedTabServiceFactory() {
29}
30
31KeyedService* PinnedTabServiceFactory::BuildServiceInstanceFor(
32    content::BrowserContext* profile) const {
33  return new PinnedTabService(static_cast<Profile*>(profile));
34}
35
36bool PinnedTabServiceFactory::ServiceIsCreatedWithBrowserContext() const {
37  return true;
38}
39
40bool PinnedTabServiceFactory::ServiceIsNULLWhileTesting() const {
41  return true;
42}
43