Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: components/browser_context_keyed_service/browser_context_keyed_service_factory.h

Issue 15517005: Remove references to Profile from browser_context_keyed_service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase & style Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 f222c42c993a036954400048f7a215a1e60ac6fc..0ce3a1db92be72c6f42532f11f25777a02120363 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
@@ -12,104 +12,109 @@
#include "components/browser_context_keyed_service/browser_context_keyed_base_factory.h"
#include "components/browser_context_keyed_service/browser_context_keyed_service.h"
-class ProfileDependencyManager;
-class ProfileKeyedService;
+class BrowserContextDependencyManager;
+class BrowserContextKeyedService;
-// Base class for Factories that take a Profile object and return some service
-// on a one-to-one mapping. Each factory that derives from this class *must*
-// be a Singleton (only unit tests don't do that). See ThemeServiceFactory as
-// an example of how to derive from this class.
+// Base class for Factories that take a BrowserContext object and return some
+// service on a one-to-one mapping. Each factory that derives from this class
+// *must* be a Singleton (only unit tests don't do that).
//
// We do this because services depend on each other and we need to control
// shutdown/destruction order. In each derived classes' constructors, the
// implementors must explicitly state which services are depended on.
-class ProfileKeyedServiceFactory : public ProfileKeyedBaseFactory {
+class BrowserContextKeyedServiceFactory
+ : public BrowserContextKeyedBaseFactory {
public:
- // A function that supplies the instance of a ProfileKeyedService for a given
- // Profile. This is used primarily for testing, where we want to feed a
- // specific mock into the PKSF system.
- typedef ProfileKeyedService*
- (*FactoryFunction)(content::BrowserContext* profile);
-
- // Associates |factory| with |profile| so that |factory| is used to create
- // the ProfileKeyedService when requested. |factory| can be NULL to signal
- // that ProfileKeyedService should be NULL. Multiple calls to
+ // A function that supplies the instance of a BrowserContextKeyedService
+ // for a given BrowserContext. This is used primarily for testing, where
+ // we want to feed a specific mock into the BCKSF system.
+ typedef BrowserContextKeyedService*
+ (*FactoryFunction)(content::BrowserContext* context);
+
+ // Associates |factory| with |context| so that |factory| is used to create
+ // the BrowserContextKeyedService when requested. |factory| can be NULL
+ // to signal that BrowserContextKeyedService should be NULL. Multiple calls to
// SetTestingFactory() are allowed; previous services will be shut down.
- void SetTestingFactory(content::BrowserContext* profile,
+ void SetTestingFactory(content::BrowserContext* context,
FactoryFunction factory);
- // Associates |factory| with |profile| and immediately returns the created
- // ProfileKeyedService. Since the factory will be used immediately, it may
- // not be NULL.
- ProfileKeyedService* SetTestingFactoryAndUse(content::BrowserContext* profile,
- FactoryFunction factory);
+ // Associates |factory| with |context| and immediately returns the created
+ // BrowserContextKeyedService. Since the factory will be used immediately,
+ // it may not be NULL.
+ BrowserContextKeyedService* SetTestingFactoryAndUse(
+ content::BrowserContext* context,
+ FactoryFunction factory);
protected:
- // ProfileKeyedServiceFactories must communicate with a
- // ProfileDependencyManager. For all non-test code, write your subclass
+ // BrowserContextKeyedServiceFactories must communicate with a
+ // BrowserContextDependencyManager. For all non-test code, write your subclass
// constructors like this:
//
// MyServiceFactory::MyServiceFactory()
- // : ProfileKeyedServiceFactory(
+ // : BrowserContextKeyedServiceFactory(
// "MyService",
- // ProfileDependencyManager::GetInstance())
+ // BrowserContextDependencyManager::GetInstance())
// {}
- ProfileKeyedServiceFactory(const char* name,
- ProfileDependencyManager* manager);
- virtual ~ProfileKeyedServiceFactory();
+ BrowserContextKeyedServiceFactory(const char* name,
+ BrowserContextDependencyManager* manager);
+ virtual ~BrowserContextKeyedServiceFactory();
- // Common implementation that maps |profile| to some service object. Deals
- // with incognito profiles per subclass instructions with
+ // Common implementation that maps |context| to some service object. Deals
+ // with incognito contexts per subclass instructions with
// ServiceRedirectedInIncognito() and ServiceHasOwnInstanceInIncognito()
- // through the GetProfileToUse() method on the base. If |create| is true,
- // the service will be created using BuildServiceInstanceFor() if it doesn't
- // already exist.
- ProfileKeyedService* GetServiceForProfile(content::BrowserContext* profile,
- bool create);
-
- // Maps |profile| to |service| with debug checks to prevent duplication.
- void Associate(content::BrowserContext* profile,
- ProfileKeyedService* service);
-
- // All subclasses of ProfileKeyedServiceFactory must return a
- // ProfileKeyedService instead of just a ProfileKeyedBase.
- virtual ProfileKeyedService* BuildServiceInstanceFor(
- content::BrowserContext* profile) const = 0;
-
- // A helper object actually listens for notifications about Profile
+ // through the GetBrowserContextToUse() method on the base.
+ // If |create| is true, the service will be created using
+ // BuildServiceInstanceFor() if it doesn't already exist.
+ BrowserContextKeyedService* GetServiceForBrowserContext(
+ content::BrowserContext* context,
+ bool create);
+
+ // Maps |context| to |service| with debug checks to prevent duplication.
+ void Associate(content::BrowserContext* context,
+ BrowserContextKeyedService* service);
+
+ // All subclasses of BrowserContextKeyedServiceFactory must return a
+ // BrowserContextKeyedService instead of just a BrowserContextKeyedBase.
+ virtual BrowserContextKeyedService* BuildServiceInstanceFor(
+ content::BrowserContext* context) const = 0;
+
+ // A helper object actually listens for notifications about BrowserContext
// destruction, calculates the order in which things are destroyed and then
// does a two pass shutdown.
//
- // First, ProfileShutdown() is called on every ServiceFactory and will
- // usually call ProfileKeyedService::Shutdown(), which gives each
- // ProfileKeyedService a chance to remove dependencies on other services that
- // it may be holding.
+ // First, BrowserContextShutdown() is called on every ServiceFactory and will
+ // usually call BrowserContextKeyedService::Shutdown(), which gives each
+ // BrowserContextKeyedService a chance to remove dependencies on other
+ // services that it may be holding.
//
- // Secondly, ProfileDestroyed() is called on every ServiceFactory and the
- // default implementation removes it from |mapping_| and deletes the pointer.
- virtual void ProfileShutdown(content::BrowserContext* profile) OVERRIDE;
- virtual void ProfileDestroyed(content::BrowserContext* profile) OVERRIDE;
+ // Secondly, BrowserContextDestroyed() is called on every ServiceFactory
+ // and the default implementation removes it from |mapping_| and deletes
+ // the pointer.
+ virtual void BrowserContextShutdown(
+ content::BrowserContext* context) OVERRIDE;
+ virtual void BrowserContextDestroyed(
+ content::BrowserContext* context) OVERRIDE;
virtual void SetEmptyTestingFactory(
- content::BrowserContext* profile) OVERRIDE;
- virtual void CreateServiceNow(content::BrowserContext* profile) OVERRIDE;
+ content::BrowserContext* context) OVERRIDE;
+ virtual void CreateServiceNow(content::BrowserContext* context) OVERRIDE;
private:
- friend class ProfileDependencyManager;
- friend class ProfileDependencyManagerUnittests;
+ friend class BrowserContextDependencyManager;
+ friend class BrowserContextDependencyManagerUnittests;
- typedef std::map<content::BrowserContext*, ProfileKeyedService*>
- ProfileKeyedServices;
+ typedef std::map<content::BrowserContext*, BrowserContextKeyedService*>
+ BrowserContextKeyedServices;
typedef std::map<content::BrowserContext*, FactoryFunction>
- ProfileOverriddenFunctions;
+ BrowserContextOverriddenFunctions;
- // The mapping between a Profile and its service.
- std::map<content::BrowserContext*, ProfileKeyedService*> mapping_;
+ // The mapping between a BrowserContext and its service.
+ std::map<content::BrowserContext*, BrowserContextKeyedService*> mapping_;
- // The mapping between a Profile and its overridden FactoryFunction.
+ // The mapping between a BrowserContext and its overridden FactoryFunction.
std::map<content::BrowserContext*, FactoryFunction> factories_;
- DISALLOW_COPY_AND_ASSIGN(ProfileKeyedServiceFactory);
+ DISALLOW_COPY_AND_ASSIGN(BrowserContextKeyedServiceFactory);
};
#endif // COMPONENTS_BROWSER_CONTEXT_KEYED_SERVICE_BROWSER_CONTEXT_KEYED_SERVICE_FACTORY_H_

Powered by Google App Engine
This is Rietveld 408576698