| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef CHROME_BROWSER_SEARCH_INSTANT_SERVICE_FACTORY_H_ | 5 #ifndef CHROME_BROWSER_SEARCH_INSTANT_SERVICE_FACTORY_H_ | 
| 6 #define CHROME_BROWSER_SEARCH_INSTANT_SERVICE_FACTORY_H_ | 6 #define CHROME_BROWSER_SEARCH_INSTANT_SERVICE_FACTORY_H_ | 
| 7 | 7 | 
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" | 
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" | 
| 10 #include "base/memory/singleton.h" | 10 #include "base/memory/singleton.h" | 
| 11 #include "components/keyed_service/content/browser_context_keyed_service_factory
    .h" | 11 #include "components/keyed_service/content/browser_context_keyed_service_factory
    .h" | 
| 12 | 12 | 
| 13 class InstantService; | 13 class InstantService; | 
| 14 class Profile; | 14 class Profile; | 
| 15 | 15 | 
| 16 // Singleton that owns all InstantServices and associates them with Profiles. | 16 // Singleton that owns all InstantServices and associates them with Profiles. | 
| 17 class InstantServiceFactory : public BrowserContextKeyedServiceFactory { | 17 class InstantServiceFactory : public BrowserContextKeyedServiceFactory { | 
| 18  public: | 18  public: | 
| 19   // Returns the InstantService for |profile|. | 19   // Returns the InstantService for |profile|. | 
| 20   static InstantService* GetForProfile(Profile* profile); | 20   static InstantService* GetForProfile(Profile* profile); | 
| 21 | 21 | 
| 22   static InstantServiceFactory* GetInstance(); | 22   static InstantServiceFactory* GetInstance(); | 
| 23 | 23 | 
| 24  private: | 24  private: | 
| 25   friend struct DefaultSingletonTraits<InstantServiceFactory>; | 25   friend struct base::DefaultSingletonTraits<InstantServiceFactory>; | 
| 26 | 26 | 
| 27   InstantServiceFactory(); | 27   InstantServiceFactory(); | 
| 28   ~InstantServiceFactory() override; | 28   ~InstantServiceFactory() override; | 
| 29 | 29 | 
| 30   // Overridden from BrowserContextKeyedServiceFactory: | 30   // Overridden from BrowserContextKeyedServiceFactory: | 
| 31   content::BrowserContext* GetBrowserContextToUse( | 31   content::BrowserContext* GetBrowserContextToUse( | 
| 32       content::BrowserContext* context) const override; | 32       content::BrowserContext* context) const override; | 
| 33   KeyedService* BuildServiceInstanceFor( | 33   KeyedService* BuildServiceInstanceFor( | 
| 34       content::BrowserContext* profile) const override; | 34       content::BrowserContext* profile) const override; | 
| 35 | 35 | 
| 36   DISALLOW_COPY_AND_ASSIGN(InstantServiceFactory); | 36   DISALLOW_COPY_AND_ASSIGN(InstantServiceFactory); | 
| 37 }; | 37 }; | 
| 38 | 38 | 
| 39 #endif  // CHROME_BROWSER_SEARCH_INSTANT_SERVICE_FACTORY_H_ | 39 #endif  // CHROME_BROWSER_SEARCH_INSTANT_SERVICE_FACTORY_H_ | 
| OLD | NEW | 
|---|