1// Copyright (c) 2011 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/background_contents_service_factory.h"
6
7#include "base/command_line.h"
8#include "chrome/browser/background_contents_service.h"
9#include "chrome/browser/profiles/profile.h"
10#include "chrome/browser/profiles/profile_dependency_manager.h"
11
12// static
13BackgroundContentsService* BackgroundContentsServiceFactory::GetForProfile(
14    Profile* profile) {
15  return static_cast<BackgroundContentsService*>(
16      GetInstance()->GetServiceForProfile(profile));
17}
18
19// static
20BackgroundContentsServiceFactory* BackgroundContentsServiceFactory::
21    GetInstance() {
22  return Singleton<BackgroundContentsServiceFactory>::get();
23}
24
25BackgroundContentsServiceFactory::BackgroundContentsServiceFactory()
26    : ProfileKeyedServiceFactory(ProfileDependencyManager::GetInstance()) {
27}
28
29BackgroundContentsServiceFactory::~BackgroundContentsServiceFactory() {
30}
31
32ProfileKeyedService* BackgroundContentsServiceFactory::BuildServiceInstanceFor(
33    Profile* profile) const {
34  return new BackgroundContentsService(profile,
35                                       CommandLine::ForCurrentProcess());
36}
37
38bool BackgroundContentsServiceFactory::ServiceHasOwnInstanceInIncognito() {
39  return true;
40}
41