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