instant_service_factory.cc revision 90dce4d38c5ff5333bea97d859d4e484e27edf0c
11d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert// Copyright 2013 The Chromium Authors. All rights reserved. 21d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert// Use of this source code is governed by a BSD-style license that can be 31d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert// found in the LICENSE file. 41d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 51d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert#include "chrome/browser/search/instant_service_factory.h" 61d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 71d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert#include "chrome/browser/profiles/incognito_helpers.h" 81d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert#include "chrome/browser/profiles/profile.h" 91d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert#include "chrome/browser/search/instant_service.h" 101d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 111d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 121d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert// static 131d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn BringertInstantService* InstantServiceFactory::GetForProfile(Profile* profile) { 141d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return static_cast<InstantService*>( 151d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert GetInstance()->GetServiceForBrowserContext(profile, true)); 161d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert} 171d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 181d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert// static 191d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn BringertInstantServiceFactory* InstantServiceFactory::GetInstance() { 201d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return Singleton<InstantServiceFactory>::get(); 211d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert} 221d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 231d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn BringertInstantServiceFactory::InstantServiceFactory() 241d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert : BrowserContextKeyedServiceFactory( 251d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert "InstantService", 261d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert BrowserContextDependencyManager::GetInstance()) { 271d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert // No dependencies. 281d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert} 291d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 301d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn BringertInstantServiceFactory::~InstantServiceFactory() { 311d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert} 321d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 331d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertcontent::BrowserContext* InstantServiceFactory::GetBrowserContextToUse( 341d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert content::BrowserContext* context) const { 351d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return chrome::GetBrowserContextOwnInstanceInIncognito(context); 361d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert} 371d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 381d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn BringertBrowserContextKeyedService* InstantServiceFactory::BuildServiceInstanceFor( 391d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert content::BrowserContext* profile) const { 401d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return new InstantService(static_cast<Profile*>(profile)); 411d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert} 421d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert