instant_service_factory.cc revision 558790d6acca3451cf3a6b497803a5f07d0bec58
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/search/instant_service_factory.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/profiles/incognito_helpers.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/profiles/profile.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/search/instant_service.h" 103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "chrome/browser/search_engines/template_url_service_factory.h" 113551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "chrome/browser/themes/theme_service_factory.h" 123551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 133551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)InstantService* InstantServiceFactory::GetForProfile(Profile* profile) { 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return static_cast<InstantService*>( 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetInstance()->GetServiceForBrowserContext(profile, true)); 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)InstantServiceFactory* InstantServiceFactory::GetInstance() { 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return Singleton<InstantServiceFactory>::get(); 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)InstantServiceFactory::InstantServiceFactory() 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) : BrowserContextKeyedServiceFactory( 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "InstantService", 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BrowserContextDependencyManager::GetInstance()) { 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DependsOn(TemplateURLServiceFactory::GetInstance()); 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(ENABLE_THEMES) 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DependsOn(ThemeServiceFactory::GetInstance()); 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)InstantServiceFactory::~InstantServiceFactory() { 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)content::BrowserContext* InstantServiceFactory::GetBrowserContextToUse( 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content::BrowserContext* context) const { 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return chrome::GetBrowserContextOwnInstanceInIncognito(context); 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 4258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)BrowserContextKeyedService* InstantServiceFactory::BuildServiceInstanceFor( 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content::BrowserContext* profile) const { 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return new InstantService(static_cast<Profile*>(profile)); 4658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)