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 14NTPResourceCache* NTPResourceCacheFactory::GetForProfile(Profile* profile) { 15 return static_cast<NTPResourceCache*>( 16 GetInstance()->GetServiceForBrowserContext(profile, true)); 17} 18 19// static 20NTPResourceCacheFactory* NTPResourceCacheFactory::GetInstance() { 21 return Singleton<NTPResourceCacheFactory>::get(); 22} 23 24NTPResourceCacheFactory::NTPResourceCacheFactory() 25 : BrowserContextKeyedServiceFactory( 26 "NTPResourceCache", 27 BrowserContextDependencyManager::GetInstance()) { 28#if defined(ENABLE_THEMES) 29 DependsOn(ThemeServiceFactory::GetInstance()); 30#endif 31} 32 33NTPResourceCacheFactory::~NTPResourceCacheFactory() {} 34 35KeyedService* NTPResourceCacheFactory::BuildServiceInstanceFor( 36 content::BrowserContext* profile) const { 37 return new NTPResourceCache(static_cast<Profile*>(profile)); 38} 39 40content::BrowserContext* NTPResourceCacheFactory::GetBrowserContextToUse( 41 content::BrowserContext* context) const { 42 return chrome::GetBrowserContextRedirectedInIncognito(context); 43} 44