16d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 26d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 36d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// found in the LICENSE file. 46d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 56d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#ifndef CHROME_BROWSER_BITMAP_FETCHER_BITMAP_FETCHER_SERVICE_FACTORY_H_ 66d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#define CHROME_BROWSER_BITMAP_FETCHER_BITMAP_FETCHER_SERVICE_FACTORY_H_ 76d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 86d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "base/memory/singleton.h" 96d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "components/keyed_service/content/browser_context_keyed_service_factory.h" 106d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 116d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)class BitmapFetcherService; 126d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 136d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)class BitmapFetcherServiceFactory : BrowserContextKeyedServiceFactory { 146d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) public: 156d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) // TODO(groby): Maybe make this GetForProfile? 166d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) static BitmapFetcherService* GetForBrowserContext( 176d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) content::BrowserContext* context); 186d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) static BitmapFetcherServiceFactory* GetInstance(); 196d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 206d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) private: 216d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) friend struct DefaultSingletonTraits<BitmapFetcherServiceFactory>; 226d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 236d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) BitmapFetcherServiceFactory(); 246d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) virtual ~BitmapFetcherServiceFactory(); 256d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 266d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) // BrowserContextKeyedServiceFactory: 276d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) virtual KeyedService* BuildServiceInstanceFor( 286d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) content::BrowserContext* context) const OVERRIDE; 296d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 306d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(BitmapFetcherServiceFactory); 316d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}; 326d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 336d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#endif // CHROME_BROWSER_BITMAP_FETCHER_BITMAP_FETCHER_SERVICE_FACTORY_H_ 34