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