autocomplete_action_predictor_factory.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
16d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 26d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 36d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// found in the LICENSE file. 46d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 56d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "chrome/browser/predictors/autocomplete_action_predictor_factory.h" 66d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 76d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "chrome/browser/history/history_service_factory.h" 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/predictors/autocomplete_action_predictor.h" 96d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "chrome/browser/predictors/predictor_database_factory.h" 106d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "chrome/browser/profiles/profile.h" 116d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "chrome/browser/profiles/profile_dependency_manager.h" 126d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 136d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)namespace predictors { 146d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 156d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// static 166d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)AutocompleteActionPredictor* AutocompleteActionPredictorFactory::GetForProfile( 176d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) Profile* profile) { 186d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) return static_cast<AutocompleteActionPredictor*>( 196d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) GetInstance()->GetServiceForProfile(profile, true)); 206d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} 216d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 226d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// static 236d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)AutocompleteActionPredictorFactory* 246d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) AutocompleteActionPredictorFactory::GetInstance() { 256d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) return Singleton<AutocompleteActionPredictorFactory>::get(); 266d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} 276d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 286d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)AutocompleteActionPredictorFactory::AutocompleteActionPredictorFactory() 296d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) : ProfileKeyedServiceFactory("AutocompleteActionPredictor", 306d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) ProfileDependencyManager::GetInstance()) { 316d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) DependsOn(HistoryServiceFactory::GetInstance()); 326d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) DependsOn(PredictorDatabaseFactory::GetInstance()); 336d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} 346d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 356d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)AutocompleteActionPredictorFactory::~AutocompleteActionPredictorFactory() {} 366d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 376d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)bool 386d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)AutocompleteActionPredictorFactory::ServiceHasOwnInstanceInIncognito() const { 396d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) return true; 406d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} 416d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 426d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)ProfileKeyedService* 436d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) AutocompleteActionPredictorFactory::BuildServiceInstanceFor( 446d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) Profile* profile) const { 456d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) return new AutocompleteActionPredictor(profile); 466d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} 476d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 486d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)} // namespace predictors 496d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)