precache_manager_factory.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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.
4
5#include "components/precache/content/precache_manager_factory.h"
6
7#include "components/keyed_service/content/browser_context_dependency_manager.h"
8#include "components/precache/content/precache_manager.h"
9#include "content/public/browser/browser_context.h"
10
11namespace precache {
12
13// static
14PrecacheManager* PrecacheManagerFactory::GetForBrowserContext(
15    content::BrowserContext* browser_context) {
16  return static_cast<PrecacheManager*>(
17      GetInstance()->GetServiceForBrowserContext(browser_context, true));
18}
19
20// static
21PrecacheManagerFactory* PrecacheManagerFactory::GetInstance() {
22  return Singleton<PrecacheManagerFactory>::get();
23}
24
25PrecacheManagerFactory::PrecacheManagerFactory()
26    : BrowserContextKeyedServiceFactory(
27          "PrecacheManager", BrowserContextDependencyManager::GetInstance()) {}
28
29PrecacheManagerFactory::~PrecacheManagerFactory() {}
30
31KeyedService* PrecacheManagerFactory::BuildServiceInstanceFor(
32    content::BrowserContext* browser_context) const {
33  return new PrecacheManager(browser_context);
34}
35
36}  // namespace precache
37