| 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 962f5debaf435708853d6862cadc7dffd760550e..473175adc8caee0b1cfd675f5b1d773f18be466c 100644
|
| --- a/chrome/browser/intents/web_intents_registry.h
|
| +++ b/chrome/browser/intents/web_intents_registry.h
|
| @@ -14,6 +14,8 @@
|
| #include "chrome/browser/webdata/web_data_service.h"
|
| #include "webkit/glue/web_intent_service_data.h"
|
|
|
| +struct DefaultWebIntentService;
|
| +
|
| // Handles storing and retrieving of web intents services in the web database.
|
| // The registry provides filtering logic to retrieve specific types of services.
|
| class WebIntentsRegistry
|
| @@ -35,6 +37,13 @@ class WebIntentsRegistry
|
| QueryID query_id,
|
| const IntentServiceList& services) = 0;
|
|
|
| + // Notifies the observer that a request for intents default service
|
| + // has been completed. If no default is found, the |default_service|
|
| + // service_url field will be empty.
|
| + virtual void OnIntentsDefaultsQueryDone(
|
| + QueryID query_id,
|
| + const DefaultWebIntentService& default_service) = 0;
|
| +
|
| protected:
|
| virtual ~Consumer() {}
|
| };
|
| @@ -68,6 +77,22 @@ class WebIntentsRegistry
|
| const webkit_glue::WebIntentServiceData& service,
|
| const base::Callback<void(bool)>& callback);
|
|
|
| + // Record the given default service entry.
|
| + virtual void RegisterDefaultIntentService(
|
| + const DefaultWebIntentService& default_service);
|
| +
|
| + // Delete the given default service entry. Deletes entries matching
|
| + // the |action|, |type|, and |url_pattern| of |default_service|.
|
| + virtual void UnregisterDefaultIntentService(
|
| + const DefaultWebIntentService& default_service);
|
| +
|
| + // Requests the best default intent service for the given invocation
|
| + // parameters.
|
| + QueryID GetDefaultIntentService(const string16& action,
|
| + const string16& type,
|
| + const GURL& invoking_url,
|
| + Consumer* consumer);
|
| +
|
| protected:
|
| // Make sure that only WebIntentsRegistryFactory can create an instance of
|
| // WebIntentsRegistry.
|
| @@ -79,6 +104,8 @@ class WebIntentsRegistry
|
| virtual ~WebIntentsRegistry();
|
|
|
| private:
|
| + const Extension* ExtensionForURL(const std::string& url);
|
| +
|
| struct IntentsQuery;
|
|
|
| // Maps web data requests to intents queries.
|
| @@ -90,6 +117,11 @@ class WebIntentsRegistry
|
| WebDataService::Handle h,
|
| const WDTypedResult* result) OVERRIDE;
|
|
|
| + // Delegate for defaults requests from OnWebDataServiceRequestDone.
|
| + virtual void OnWebDataServiceDefaultsRequestDone(
|
| + WebDataService::Handle h,
|
| + const WDTypedResult* result);
|
| +
|
| // Map for all in-flight web data requests/intent queries.
|
| QueryMap queries_;
|
|
|
|
|