login_ui_service_factory.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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/webui/signin/login_ui_service_factory.h"
6
7#include "base/prefs/pref_service.h"
8#include "chrome/browser/signin/signin_manager.h"
9#include "chrome/browser/ui/webui/signin/login_ui_service.h"
10#include "chrome/common/pref_names.h"
11#include "components/keyed_service/content/browser_context_dependency_manager.h"
12
13LoginUIServiceFactory::LoginUIServiceFactory()
14    : BrowserContextKeyedServiceFactory(
15        "LoginUIServiceFactory",
16        BrowserContextDependencyManager::GetInstance()) {
17}
18
19LoginUIServiceFactory::~LoginUIServiceFactory() {}
20
21// static
22LoginUIService* LoginUIServiceFactory::GetForProfile(Profile* profile) {
23  return static_cast<LoginUIService*>(
24      GetInstance()->GetServiceForBrowserContext(profile, true));
25}
26
27// static
28LoginUIServiceFactory* LoginUIServiceFactory::GetInstance() {
29  return Singleton<LoginUIServiceFactory>::get();
30}
31
32KeyedService* LoginUIServiceFactory::BuildServiceInstanceFor(
33    content::BrowserContext* profile) const {
34  return new LoginUIService(static_cast<Profile*>(profile));
35}
36