Cast: Stop logging kVideoFrameSentToEncoder and rename a couple events.
[chromium-blink-merge.git] / chrome / browser / dom_distiller / dom_distiller_service_factory.h
blob78644b3101d314c5d327f0aa9d9fbd328c9db623
1 // Copyright 2013 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.
5 #ifndef CHROME_BROWSER_DOM_DISTILLER_DOM_DISTILLER_SERVICE_FACTORY_H_
6 #define CHROME_BROWSER_DOM_DISTILLER_DOM_DISTILLER_SERVICE_FACTORY_H_
8 #include "base/memory/singleton.h"
9 #include "components/dom_distiller/core/dom_distiller_service.h"
10 #include "components/keyed_service/content/browser_context_keyed_service_factory.h"
12 namespace content {
13 class BrowserContext;
14 } // namespace content
16 namespace dom_distiller {
18 // A simple wrapper for DomDistillerService to expose it as a
19 // KeyedService.
20 class DomDistillerContextKeyedService : public KeyedService,
21 public DomDistillerService {
22 public:
23 DomDistillerContextKeyedService(
24 scoped_ptr<DomDistillerStoreInterface> store,
25 scoped_ptr<DistillerFactory> distiller_factory,
26 scoped_ptr<DistillerPageFactory> distiller_page_factory);
27 virtual ~DomDistillerContextKeyedService() {}
29 private:
30 DISALLOW_COPY_AND_ASSIGN(DomDistillerContextKeyedService);
33 class DomDistillerServiceFactory : public BrowserContextKeyedServiceFactory {
34 public:
35 static DomDistillerServiceFactory* GetInstance();
36 static DomDistillerContextKeyedService* GetForBrowserContext(
37 content::BrowserContext* context);
39 private:
40 friend struct DefaultSingletonTraits<DomDistillerServiceFactory>;
42 DomDistillerServiceFactory();
43 virtual ~DomDistillerServiceFactory();
45 virtual KeyedService* BuildServiceInstanceFor(
46 content::BrowserContext* context) const OVERRIDE;
48 virtual content::BrowserContext* GetBrowserContextToUse(
49 content::BrowserContext* context) const OVERRIDE;
52 } // namespace dom_distiller
54 #endif // CHROME_BROWSER_DOM_DISTILLER_DOM_DISTILLER_SERVICE_FACTORY_H_