autocomplete_classifier_factory.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1// 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" 8#include "chrome/browser/history/shortcuts_backend_factory.h" 9#include "chrome/browser/profiles/incognito_helpers.h" 10#include "chrome/browser/profiles/profile.h" 11#include "chrome/browser/search_engines/template_url_service_factory.h" 12#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 13#include "extensions/browser/extension_system_provider.h" 14#include "extensions/browser/extensions_browser_client.h" 15 16// static 17AutocompleteClassifier* AutocompleteClassifierFactory::GetForProfile( 18 Profile* profile) { 19 return static_cast<AutocompleteClassifier*>( 20 GetInstance()->GetServiceForBrowserContext(profile, true)); 21} 22 23// static 24AutocompleteClassifierFactory* AutocompleteClassifierFactory::GetInstance() { 25 return Singleton<AutocompleteClassifierFactory>::get(); 26} 27 28// static 29BrowserContextKeyedService* AutocompleteClassifierFactory::BuildInstanceFor( 30 content::BrowserContext* profile) { 31 return new AutocompleteClassifier(static_cast<Profile*>(profile)); 32} 33 34AutocompleteClassifierFactory::AutocompleteClassifierFactory() 35 : BrowserContextKeyedServiceFactory( 36 "AutocompleteClassifier", 37 BrowserContextDependencyManager::GetInstance()) { 38 DependsOn( 39 extensions::ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); 40 DependsOn(TemplateURLServiceFactory::GetInstance()); 41 // TODO(pkasting): Uncomment these once they exist. 42 // DependsOn(PrefServiceFactory::GetInstance()); 43 DependsOn(ShortcutsBackendFactory::GetInstance()); 44} 45 46AutocompleteClassifierFactory::~AutocompleteClassifierFactory() { 47} 48 49content::BrowserContext* AutocompleteClassifierFactory::GetBrowserContextToUse( 50 content::BrowserContext* context) const { 51 return chrome::GetBrowserContextRedirectedInIncognito(context); 52} 53 54bool AutocompleteClassifierFactory::ServiceIsNULLWhileTesting() const { 55 return true; 56} 57 58BrowserContextKeyedService* 59AutocompleteClassifierFactory::BuildServiceInstanceFor( 60 content::BrowserContext* profile) const { 61 return BuildInstanceFor(static_cast<Profile*>(profile)); 62} 63