instant_service_factory.cc revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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) 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/profiles/incognito_helpers.h" 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/profiles/profile.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/profiles/profile_dependency_manager.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/search/instant_service.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)InstantService* InstantServiceFactory::GetForProfile(Profile* profile) { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return static_cast<InstantService*>( 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetInstance()->GetServiceForProfile(profile, true)); 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)InstantServiceFactory* InstantServiceFactory::GetInstance() { 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return Singleton<InstantServiceFactory>::get(); 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)InstantServiceFactory::InstantServiceFactory() 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) : ProfileKeyedServiceFactory("InstantService", 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ProfileDependencyManager::GetInstance()) { 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // No dependencies. 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)InstantServiceFactory::~InstantServiceFactory() { 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)content::BrowserContext* InstantServiceFactory::GetBrowserContextToUse( 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) content::BrowserContext* context) const { 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return chrome::GetBrowserContextOwnInstanceInIncognito(context); 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)ProfileKeyedService* InstantServiceFactory::BuildServiceInstanceFor( 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) content::BrowserContext* profile) const { 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return new InstantService(static_cast<Profile*>(profile)); 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 41