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/media_galleries/media_galleries_preferences_factory.h"
6
7#include "chrome/browser/media_galleries/media_galleries_preferences.h"
8#include "chrome/browser/profiles/incognito_helpers.h"
9#include "chrome/browser/profiles/profile.h"
10#include "components/keyed_service/content/browser_context_dependency_manager.h"
11#include "components/pref_registry/pref_registry_syncable.h"
12
13// static
14MediaGalleriesPreferences*
15MediaGalleriesPreferencesFactory::GetForProfile(Profile* profile) {
16  return static_cast<MediaGalleriesPreferences*>(
17      GetInstance()->GetServiceForBrowserContext(profile, true));
18}
19
20// static
21MediaGalleriesPreferencesFactory*
22MediaGalleriesPreferencesFactory::GetInstance() {
23  return Singleton<MediaGalleriesPreferencesFactory>::get();
24}
25
26MediaGalleriesPreferencesFactory::MediaGalleriesPreferencesFactory()
27    : BrowserContextKeyedServiceFactory(
28        "MediaGalleriesPreferences",
29        BrowserContextDependencyManager::GetInstance()) {}
30
31MediaGalleriesPreferencesFactory::~MediaGalleriesPreferencesFactory() {}
32
33KeyedService* MediaGalleriesPreferencesFactory::BuildServiceInstanceFor(
34    content::BrowserContext* profile) const {
35  return new MediaGalleriesPreferences(static_cast<Profile*>(profile));
36}
37
38void MediaGalleriesPreferencesFactory::RegisterProfilePrefs(
39    user_prefs::PrefRegistrySyncable* prefs) {
40  MediaGalleriesPreferences::RegisterProfilePrefs(prefs);
41}
42
43content::BrowserContext*
44MediaGalleriesPreferencesFactory::GetBrowserContextToUse(
45    content::BrowserContext* context) const {
46  return chrome::GetBrowserContextRedirectedInIncognito(context);
47}
48