Home | History | Annotate | Download | only in thumbnails
      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