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