Chromium Code Reviews| Index: components/browser_context_keyed_service/browser_context_keyed_service_factory.h |
| diff --git a/components/browser_context_keyed_service/browser_context_keyed_service_factory.h b/components/browser_context_keyed_service/browser_context_keyed_service_factory.h |
| index 2775e4cc45b28e44510b75f983613d7c88952a29..8142d9cb161feb1cb792f88c53688b4b104e2279 100644 |
| --- a/components/browser_context_keyed_service/browser_context_keyed_service_factory.h |
| +++ b/components/browser_context_keyed_service/browser_context_keyed_service_factory.h |
| @@ -39,6 +39,15 @@ class BROWSER_CONTEXT_KEYED_SERVICE_EXPORT BrowserContextKeyedServiceFactory |
| void SetTestingFactory(content::BrowserContext* context, |
| FactoryFunction factory); |
| + // Like SetTestingFactory(), but takes effect for all contexts. This is useful |
| + // for injecting services that are created as part of context initialization. |
| + // Callers should be sure to call ResetGlobalTestingFactory() at the end of |
| + // their test to avoid polluting the singletons for future tests. |
| + void SetGlobalTestingFactory(FactoryFunction factory); |
|
Elliot Glaysher
2013/08/16 18:07:59
(Other half of code commented on.)
Andrew T Wilson (Slow)
2013/08/19 12:15:56
So, yeah, I'm happy to revert this part of my CL (
|
| + |
| + // Clears a global testing factory that was previously set. |
| + void ResetGlobalTestingFactory(); |
| + |
| // Associates |factory| with |context| and immediately returns the created |
| // BrowserContextKeyedService. Since the factory will be used immediately, |
| // it may not be NULL. |
| @@ -110,12 +119,17 @@ class BROWSER_CONTEXT_KEYED_SERVICE_EXPORT BrowserContextKeyedServiceFactory |
| typedef std::map<content::BrowserContext*, FactoryFunction> |
| BrowserContextOverriddenFunctions; |
| + void CleanupExistingServices(content::BrowserContext* context); |
| + |
| // The mapping between a BrowserContext and its service. |
| std::map<content::BrowserContext*, BrowserContextKeyedService*> mapping_; |
| // The mapping between a BrowserContext and its overridden FactoryFunction. |
| std::map<content::BrowserContext*, FactoryFunction> factories_; |
| + FactoryFunction global_factory_; |
| + bool have_global_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(BrowserContextKeyedServiceFactory); |
| }; |