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/thumbnails/thumbnail_service_factory.h" 6 7 #include "base/logging.h" 8 #include "chrome/browser/thumbnails/thumbnail_service.h" 9 #include "chrome/browser/thumbnails/thumbnail_service_impl.h" 10 #include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 11 12 using thumbnails::ThumbnailService; 13 using thumbnails::ThumbnailServiceImpl; 14 ThumbnailServiceFactory()15ThumbnailServiceFactory::ThumbnailServiceFactory() 16 : RefcountedBrowserContextKeyedServiceFactory( 17 "ThumbnailService", 18 BrowserContextDependencyManager::GetInstance()) { 19 } 20 ~ThumbnailServiceFactory()21ThumbnailServiceFactory::~ThumbnailServiceFactory() { 22 } 23 24 // static GetForProfile(Profile * profile)25scoped_refptr<ThumbnailService> ThumbnailServiceFactory::GetForProfile( 26 Profile* profile) { 27 return static_cast<ThumbnailService*>( 28 GetInstance()->GetServiceForBrowserContext(profile, true).get()); 29 } 30 31 // static GetInstance()32ThumbnailServiceFactory* ThumbnailServiceFactory::GetInstance() { 33 return Singleton<ThumbnailServiceFactory>::get(); 34 } 35 36 scoped_refptr<RefcountedBrowserContextKeyedService> BuildServiceInstanceFor(content::BrowserContext * profile) const37 ThumbnailServiceFactory::BuildServiceInstanceFor( 38 content::BrowserContext* profile) const { 39 return scoped_refptr<RefcountedBrowserContextKeyedService>( 40 new ThumbnailServiceImpl(static_cast<Profile*>(profile))); 41 } 42