Chromium Code Reviews| Index: chrome/browser/intents/web_intents_registry.h |
| diff --git a/chrome/browser/intents/web_intents_registry.h b/chrome/browser/intents/web_intents_registry.h |
| index 76c01dbd6b6fbf110f063ae8f95a4b6d472793ca..1fdae628c7c4219ccf67f1031d4e1b9e2f183b00 100644 |
| --- a/chrome/browser/intents/web_intents_registry.h |
| +++ b/chrome/browser/intents/web_intents_registry.h |
| @@ -13,7 +13,9 @@ |
| // Handles storing and retrieving of web intents in the web database. |
| // The registry provides filtering logic to retrieve specific types of intents. |
| -class WebIntentsRegistry : public WebDataServiceConsumer { |
| +class WebIntentsRegistry |
| + : public WebDataServiceConsumer, |
| + public base::RefCountedThreadSafe<WebIntentsRegistry> { |
|
Elliot Glaysher
2011/08/09 22:09:18
Why make this a RefCountedThreadSafe?
James Hawkins
2011/08/10 00:58:38
Removed.
|
| public: |
| // Unique identifier for intent queries. |
| typedef int QueryID; |
| @@ -31,14 +33,11 @@ class WebIntentsRegistry : public WebDataServiceConsumer { |
| virtual ~Consumer() {} |
| }; |
| - WebIntentsRegistry(); |
| - virtual ~WebIntentsRegistry(); |
| - |
| // Initializes, binds to a valid WebDataService. |
| void Initialize(scoped_refptr<WebDataService> wds); |
| // Registers a web intent provider. |
| - void RegisterIntentProvider(const WebIntentData& intent); |
| + virtual void RegisterIntentProvider(const WebIntentData& intent); |
| // Removes a web intent provider from the registry. |
| void UnregisterIntentProvider(const WebIntentData& intent); |
| @@ -47,11 +46,20 @@ class WebIntentsRegistry : public WebDataServiceConsumer { |
| // |consumer| must not be NULL. |
| QueryID GetIntentProviders(const string16& action, Consumer* consumer); |
| + protected: |
| + // Make sure that only Profile can create an instance of WebIntentsRegistry. |
| + friend class base::RefCountedThreadSafe<WebIntentsRegistry>; |
| + friend class ProfileImpl; |
| + friend class WebIntentsRegistryTest; |
| + |
| + WebIntentsRegistry(); |
| + virtual ~WebIntentsRegistry(); |
| + |
| private: |
| struct IntentsQuery; |
| // Maps web data requests to intents queries. |
| - // Allows OnWebDataServiceRequestDone to forward to appropiate consumer. |
| + // Allows OnWebDataServiceRequestDone to forward to appropriate consumer. |
| typedef base::hash_map<WebDataService::Handle, IntentsQuery*> QueryMap; |
| // WebDataServiceConsumer implementation. |