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/ntp/ntp_resource_cache_factory.h" 6 7 #include "chrome/browser/profiles/incognito_helpers.h" 8 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/themes/theme_service_factory.h" 10 #include "chrome/browser/ui/webui/ntp/ntp_resource_cache.h" 11 #include "components/keyed_service/content/browser_context_dependency_manager.h" 12 13 // static GetForProfile(Profile * profile)14NTPResourceCache* NTPResourceCacheFactory::GetForProfile(Profile* profile) { 15 return static_cast<NTPResourceCache*>( 16 GetInstance()->GetServiceForBrowserContext(profile, true)); 17 } 18 19 // static GetInstance()20NTPResourceCacheFactory* NTPResourceCacheFactory::GetInstance() { 21 return Singleton<NTPResourceCacheFactory>::get(); 22 } 23 NTPResourceCacheFactory()24NTPResourceCacheFactory::NTPResourceCacheFactory() 25 : BrowserContextKeyedServiceFactory( 26 "NTPResourceCache", 27 BrowserContextDependencyManager::GetInstance()) { 28 #if defined(ENABLE_THEMES) 29 DependsOn(ThemeServiceFactory::GetInstance()); 30 #endif 31 } 32 ~NTPResourceCacheFactory()33NTPResourceCacheFactory::~NTPResourceCacheFactory() {} 34 BuildServiceInstanceFor(content::BrowserContext * profile) const35KeyedService* NTPResourceCacheFactory::BuildServiceInstanceFor( 36 content::BrowserContext* profile) const { 37 return new NTPResourceCache(static_cast<Profile*>(profile)); 38 } 39 GetBrowserContextToUse(content::BrowserContext * context) const40content::BrowserContext* NTPResourceCacheFactory::GetBrowserContextToUse( 41 content::BrowserContext* context) const { 42 return chrome::GetBrowserContextRedirectedInIncognito(context); 43 } 44