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