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