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 14 MediaGalleriesPreferences* 15 MediaGalleriesPreferencesFactory::GetForProfile(Profile* profile) { 16 return static_cast<MediaGalleriesPreferences*>( 17 GetInstance()->GetServiceForBrowserContext(profile, true)); 18 } 19 20 // static 21 MediaGalleriesPreferencesFactory* 22 MediaGalleriesPreferencesFactory::GetInstance() { 23 return Singleton<MediaGalleriesPreferencesFactory>::get(); 24 } 25 26 MediaGalleriesPreferencesFactory::MediaGalleriesPreferencesFactory() 27 : BrowserContextKeyedServiceFactory( 28 "MediaGalleriesPreferences", 29 BrowserContextDependencyManager::GetInstance()) {} 30 31 MediaGalleriesPreferencesFactory::~MediaGalleriesPreferencesFactory() {} 32 33 KeyedService* MediaGalleriesPreferencesFactory::BuildServiceInstanceFor( 34 content::BrowserContext* profile) const { 35 return new MediaGalleriesPreferences(static_cast<Profile*>(profile)); 36 } 37 38 void MediaGalleriesPreferencesFactory::RegisterProfilePrefs( 39 user_prefs::PrefRegistrySyncable* prefs) { 40 MediaGalleriesPreferences::RegisterProfilePrefs(prefs); 41 } 42 43 content::BrowserContext* 44 MediaGalleriesPreferencesFactory::GetBrowserContextToUse( 45 content::BrowserContext* context) const { 46 return chrome::GetBrowserContextRedirectedInIncognito(context); 47 } 48