| OLD | NEW | 
| (Empty) |  | 
 |   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 #ifndef CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_FACTORY_H_ | 
 |   6 #define CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_FACTORY_H_ | 
 |   7  | 
 |   8 #include "base/basictypes.h" | 
 |   9 #include "base/compiler_specific.h" | 
 |  10 #include "chrome/browser/profiles/profile_keyed_service_factory.h" | 
 |  11  | 
 |  12 class Profile; | 
 |  13 class ProtocolHandlerRegistry; | 
 |  14 template <typename T> struct DefaultSingletonTraits; | 
 |  15  | 
 |  16 // Singleton that owns all ProtocolHandlerRegistrys and associates them with | 
 |  17 // Profiles. Listens for the Profile's destruction notification and cleans up | 
 |  18 // the associated ProtocolHandlerRegistry. | 
 |  19 class ProtocolHandlerRegistryFactory : public ProfileKeyedServiceFactory { | 
 |  20  public: | 
 |  21   // Returns the singleton instance of the ProtocolHandlerRegistryFactory. | 
 |  22   static ProtocolHandlerRegistryFactory* GetInstance(); | 
 |  23  | 
 |  24   // Returns the ProtocolHandlerRegistry that provides intent registration for | 
 |  25   // |profile|. Ownership stays with this factory object. | 
 |  26   static ProtocolHandlerRegistry* GetForProfile(Profile* profile); | 
 |  27  | 
 |  28  protected: | 
 |  29   // ProfileKeyedServiceFactory implementation. | 
 |  30   virtual bool ServiceIsCreatedWithProfile() OVERRIDE; | 
 |  31   virtual bool ServiceRedirectedInIncognito() OVERRIDE; | 
 |  32   virtual bool ServiceIsNULLWhileTesting() OVERRIDE; | 
 |  33  | 
 |  34  private: | 
 |  35   friend struct DefaultSingletonTraits<ProtocolHandlerRegistryFactory>; | 
 |  36  | 
 |  37   ProtocolHandlerRegistryFactory(); | 
 |  38   virtual ~ProtocolHandlerRegistryFactory(); | 
 |  39  | 
 |  40   // ProfileKeyedServiceFactory implementation. | 
 |  41   virtual ProfileKeyedService* BuildServiceInstanceFor( | 
 |  42       Profile* profile) const OVERRIDE; | 
 |  43  | 
 |  44   DISALLOW_COPY_AND_ASSIGN(ProtocolHandlerRegistryFactory); | 
 |  45 }; | 
 |  46  | 
 |  47 #endif  // CHROME_BROWSER_CUSTOM_HANDLERS_PROTOCOL_HANDLER_REGISTRY_FACTORY_H_ | 
| OLD | NEW |