Home | History | Annotate | Download | only in browser
      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 
     11 namespace content {
     12 class BrowserContext;
     13 }
     14 
     15 namespace password_manager {
     16 
     17 class PasswordManagerInternalsService;
     18 
     19 // BrowserContextKeyedServiceFactory for PasswordManagerInternalsService.
     20 class 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