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