1 // Copyright 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.
5 #include "chrome/browser/precache/precache_manager_factory.h"
7 #include "chrome/browser/history/history_service_factory.h"
8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/sync/profile_sync_service_factory.h"
10 #include "components/keyed_service/content/browser_context_dependency_manager.h"
11 #include "components/keyed_service/core/service_access_type.h"
12 #include "components/precache/content/precache_manager.h"
13 #include "content/public/browser/browser_context.h"
18 PrecacheManager
* PrecacheManagerFactory::GetForBrowserContext(
19 content::BrowserContext
* browser_context
) {
20 return static_cast<PrecacheManager
*>(
21 GetInstance()->GetServiceForBrowserContext(browser_context
, true));
25 PrecacheManagerFactory
* PrecacheManagerFactory::GetInstance() {
26 return Singleton
<PrecacheManagerFactory
>::get();
29 PrecacheManagerFactory::PrecacheManagerFactory()
30 : BrowserContextKeyedServiceFactory(
32 BrowserContextDependencyManager::GetInstance()) {
35 PrecacheManagerFactory::~PrecacheManagerFactory() {
38 KeyedService
* PrecacheManagerFactory::BuildServiceInstanceFor(
39 content::BrowserContext
* browser_context
) const {
40 return new PrecacheManager(
42 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(
44 HistoryServiceFactory::GetForProfile(
45 Profile::FromBrowserContext(browser_context
),
46 ServiceAccessType::IMPLICIT_ACCESS
));
49 } // namespace precache