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

Unified Diff: chrome/browser/intents/web_intents_registry.h

Issue 9430027: Add default query method to WebIntentsRegistry. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix forward decl Created 8 years, 10 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
« no previous file with comments | « no previous file | chrome/browser/intents/web_intents_registry.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « no previous file | chrome/browser/intents/web_intents_registry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698