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/printing/cloud_print/cloud_print_proxy_service_factory.h" 6 7#include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" 8#include "chrome/browser/profiles/profile.h" 9#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 10 11// static 12CloudPrintProxyService* CloudPrintProxyServiceFactory::GetForProfile( 13 Profile* profile) { 14 return static_cast<CloudPrintProxyService*>( 15 GetInstance()->GetServiceForBrowserContext(profile, true)); 16} 17 18CloudPrintProxyServiceFactory* CloudPrintProxyServiceFactory::GetInstance() { 19 return Singleton<CloudPrintProxyServiceFactory>::get(); 20} 21 22CloudPrintProxyServiceFactory::CloudPrintProxyServiceFactory() 23 : BrowserContextKeyedServiceFactory( 24 "CloudPrintProxyService", 25 BrowserContextDependencyManager::GetInstance()) { 26} 27 28CloudPrintProxyServiceFactory::~CloudPrintProxyServiceFactory() { 29} 30 31BrowserContextKeyedService* 32CloudPrintProxyServiceFactory::BuildServiceInstanceFor( 33 content::BrowserContext* profile) const { 34 CloudPrintProxyService* service = 35 new CloudPrintProxyService(static_cast<Profile*>(profile)); 36 service->Initialize(); 37 38 return service; 39} 40 41bool CloudPrintProxyServiceFactory::ServiceIsNULLWhileTesting() const { 42 return true; 43} 44