blob: ffb97810d0b4b020a23a2a91bc95ce42ef740d30 [file] [log] [blame]
[email protected]810ffba2012-06-12 01:07:481// 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/autocomplete/autocomplete_classifier_factory.h"
6
7#include "chrome/browser/autocomplete/autocomplete_classifier.h"
[email protected]f9dac2c72014-03-19 00:13:438#include "chrome/browser/autocomplete/shortcuts_backend_factory.h"
[email protected]018bf652013-05-03 23:18:349#include "chrome/browser/profiles/incognito_helpers.h"
[email protected]c7fa4362013-04-26 18:09:0210#include "chrome/browser/profiles/profile.h"
[email protected]810ffba2012-06-12 01:07:4811#include "chrome/browser/search_engines/template_url_service_factory.h"
[email protected]95003d522014-03-13 20:22:3112#include "components/keyed_service/content/browser_context_dependency_manager.h"
[email protected]d46c0502014-02-14 13:33:3613#include "extensions/browser/extension_system_provider.h"
14#include "extensions/browser/extensions_browser_client.h"
[email protected]810ffba2012-06-12 01:07:4815
16// static
17AutocompleteClassifier* AutocompleteClassifierFactory::GetForProfile(
18 Profile* profile) {
19 return static_cast<AutocompleteClassifier*>(
[email protected]f1484c52013-05-22 23:25:4420 GetInstance()->GetServiceForBrowserContext(profile, true));
[email protected]810ffba2012-06-12 01:07:4821}
22
23// static
24AutocompleteClassifierFactory* AutocompleteClassifierFactory::GetInstance() {
25 return Singleton<AutocompleteClassifierFactory>::get();
26}
27
28// static
[email protected]95003d522014-03-13 20:22:3129KeyedService* AutocompleteClassifierFactory::BuildInstanceFor(
[email protected]c7fa4362013-04-26 18:09:0230 content::BrowserContext* profile) {
31 return new AutocompleteClassifier(static_cast<Profile*>(profile));
[email protected]810ffba2012-06-12 01:07:4832}
33
34AutocompleteClassifierFactory::AutocompleteClassifierFactory()
[email protected]f1484c52013-05-22 23:25:4435 : BrowserContextKeyedServiceFactory(
36 "AutocompleteClassifier",
37 BrowserContextDependencyManager::GetInstance()) {
[email protected]d46c0502014-02-14 13:33:3638 DependsOn(
39 extensions::ExtensionsBrowserClient::Get()->GetExtensionSystemFactory());
[email protected]810ffba2012-06-12 01:07:4840 DependsOn(TemplateURLServiceFactory::GetInstance());
41 // TODO(pkasting): Uncomment these once they exist.
42 // DependsOn(PrefServiceFactory::GetInstance());
[email protected]1467cfe2012-07-04 01:19:1543 DependsOn(ShortcutsBackendFactory::GetInstance());
[email protected]810ffba2012-06-12 01:07:4844}
45
46AutocompleteClassifierFactory::~AutocompleteClassifierFactory() {
47}
48
[email protected]018bf652013-05-03 23:18:3449content::BrowserContext* AutocompleteClassifierFactory::GetBrowserContextToUse(
50 content::BrowserContext* context) const {
51 return chrome::GetBrowserContextRedirectedInIncognito(context);
[email protected]810ffba2012-06-12 01:07:4852}
53
[email protected]bb05cae12012-09-06 00:37:5254bool AutocompleteClassifierFactory::ServiceIsNULLWhileTesting() const {
[email protected]810ffba2012-06-12 01:07:4855 return true;
56}
57
[email protected]95003d522014-03-13 20:22:3158KeyedService* AutocompleteClassifierFactory::BuildServiceInstanceFor(
[email protected]c7fa4362013-04-26 18:09:0259 content::BrowserContext* profile) const {
60 return BuildInstanceFor(static_cast<Profile*>(profile));
[email protected]810ffba2012-06-12 01:07:4861}