blob: d267445cdfb59a3357a39f5eb904b7a88c0f9aad [file] [log] [blame]
juncai33e462102015-05-18 20:48:441// Copyright 2015 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/extensions/install_verifier_factory.h"
6
7#include "chrome/browser/extensions/install_verifier.h"
8#include "chrome/browser/profiles/profile.h"
9#include "components/keyed_service/content/browser_context_dependency_manager.h"
10#include "extensions/browser/extension_prefs.h"
11#include "extensions/browser/extension_prefs_factory.h"
12#include "extensions/browser/extension_registry_factory.h"
13#include "extensions/browser/extensions_browser_client.h"
14
15using content::BrowserContext;
16
17namespace extensions {
18
19// static
20InstallVerifier* InstallVerifierFactory::GetForBrowserContext(
21 BrowserContext* context) {
22 return static_cast<InstallVerifier*>(
23 GetInstance()->GetServiceForBrowserContext(context, true));
24}
25
26// static
27InstallVerifierFactory* InstallVerifierFactory::GetInstance() {
olli.raula36aa8be2015-09-10 11:14:2228 return base::Singleton<InstallVerifierFactory>::get();
juncai33e462102015-05-18 20:48:4429}
30
31InstallVerifierFactory::InstallVerifierFactory()
32 : BrowserContextKeyedServiceFactory(
33 "InstallVerifier",
34 BrowserContextDependencyManager::GetInstance()) {
35 DependsOn(ExtensionPrefsFactory::GetInstance());
36 DependsOn(ExtensionRegistryFactory::GetInstance());
37}
38
39InstallVerifierFactory::~InstallVerifierFactory() {
40}
41
42KeyedService* InstallVerifierFactory::BuildServiceInstanceFor(
43 BrowserContext* context) const {
44 return new InstallVerifier(ExtensionPrefs::Get(context), context);
45}
46
47BrowserContext* InstallVerifierFactory::GetBrowserContextToUse(
48 BrowserContext* context) const {
49 // Redirected in incognito.
50 return ExtensionsBrowserClient::Get()->GetOriginalContext(context);
51}
52
53} // namespace extensions