Index: content/renderer/web_intents_host.h |
diff --git a/content/renderer/web_intents_host.h b/content/renderer/web_intents_host.h |
index 4567dcdcbf70ab0e7f4bf6d99abc2be183049b04..f11675a077b7f2030e0415a7d1e3fbf060525211 100644 |
--- a/content/renderer/web_intents_host.h |
+++ b/content/renderer/web_intents_host.h |
@@ -6,6 +6,8 @@ |
#define CONTENT_RENDERER_WEB_INTENTS_HOST_H_ |
#pragma once |
+#include <map> |
+ |
#include "base/memory/scoped_ptr.h" |
#include "content/public/renderer/render_view_observer.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" |
@@ -15,6 +17,7 @@ |
class RenderViewImpl; |
namespace WebKit { |
+class WebIntentRequest; |
class WebFrame; |
} |
@@ -31,6 +34,9 @@ class WebIntentsHost : public content::RenderViewObserver { |
explicit WebIntentsHost(RenderViewImpl* render_view); |
virtual ~WebIntentsHost(); |
+ // Called by the RenderView to register a new Web Intent invocation. |
+ int RegisterWebIntent(const WebKit::WebIntentRequest& request); |
+ |
// Called by the bound intent object to register the result from the service |
// page. |
void OnResult(const WebKit::WebString& data); |
@@ -39,6 +45,14 @@ class WebIntentsHost : public content::RenderViewObserver { |
private: |
class BoundDeliveredIntent; |
+ // A counter used to assign unique IDs to web intents invocations in this |
+ // renderer. |
+ int id_counter_; |
+ |
+ // Map tracking registered Web Intent requests by assigned ID numbers to |
+ // correctly route any return data. |
+ std::map<int, WebKit::WebIntentRequest> intent_requests_; |
+ |
// RenderView::Observer implementation. |
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
virtual void DidClearWindowObject(WebKit::WebFrame* frame) OVERRIDE; |