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