1// Copyright 2014 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#ifndef COMPONENTS_PASSWORD_MANAGER_CONTENT_BROWSER_PASSWORD_MANAGER_INTERNALS_SERVICE_FACTORY_H_
6#define COMPONENTS_PASSWORD_MANAGER_CONTENT_BROWSER_PASSWORD_MANAGER_INTERNALS_SERVICE_FACTORY_H_
7
8#include "base/memory/singleton.h"
9#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
10
11namespace content {
12class BrowserContext;
13}
14
15namespace password_manager {
16
17class PasswordManagerInternalsService;
18
19// BrowserContextKeyedServiceFactory for PasswordManagerInternalsService.
20class PasswordManagerInternalsServiceFactory
21    : public BrowserContextKeyedServiceFactory {
22 public:
23  static PasswordManagerInternalsService* GetForBrowserContext(
24      content::BrowserContext* context);
25
26  static PasswordManagerInternalsServiceFactory* GetInstance();
27
28 private:
29  friend struct DefaultSingletonTraits<PasswordManagerInternalsServiceFactory>;
30
31  PasswordManagerInternalsServiceFactory();
32  virtual ~PasswordManagerInternalsServiceFactory();
33
34  // BrowserContextKeyedServiceFactory:
35  virtual KeyedService* BuildServiceInstanceFor(
36      content::BrowserContext* context) const OVERRIDE;
37
38  DISALLOW_COPY_AND_ASSIGN(PasswordManagerInternalsServiceFactory);
39};
40
41}  // namespace password_manager
42
43#endif  // COMPONENTS_PASSWORD_MANAGER_CONTENT_BROWSER_PASSWORD_MANAGER_INTERNALS_SERVICE_FACTORY_H_
44