Index: chrome/browser/extensions/extension_message_handler.h |
diff --git a/chrome/browser/extensions/extension_message_handler.h b/chrome/browser/extensions/extension_message_handler.h |
index e7ee28cf95f3efd2cd1937b88175dc76ef351332..2e94a93e4ce4adb5fd9ad52871d3fa5253aec5f0 100644 |
--- a/chrome/browser/extensions/extension_message_handler.h |
+++ b/chrome/browser/extensions/extension_message_handler.h |
@@ -6,8 +6,11 @@ |
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_MESSAGE_HANDLER_H_ |
#pragma once |
+#include "base/memory/weak_ptr.h" |
+#include "chrome/browser/extensions/app_notify_channel_setup.h" |
#include "content/browser/renderer_host/render_view_host_observer.h" |
+class GURL; |
class Profile; |
struct ExtensionHostMsg_DomMessage_Params; |
@@ -20,7 +23,10 @@ struct ExtensionHostMsg_DomMessage_Params; |
// could eliminate this class. Right now, we don't end up with an EFD for tab |
// contents unless that tab contents is hosting chrome-extension:// URLs. That |
// still leaves content scripts. See also: crbug.com/80307. |
-class ExtensionMessageHandler : public RenderViewHostObserver { |
+class ExtensionMessageHandler |
+ : public RenderViewHostObserver, |
+ public AppNotifyChannelSetup::Delegate, |
+ public base::SupportsWeakPtr<ExtensionMessageHandler> { |
public: |
// |sender| is guaranteed to outlive this object. |
explicit ExtensionMessageHandler(RenderViewHost* render_view_host); |
@@ -30,9 +36,17 @@ class ExtensionMessageHandler : public RenderViewHostObserver { |
virtual void RenderViewHostInitialized() OVERRIDE; |
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
+ // Implementing the AppNotifyChannelSetup::Delegate interface. |
+ virtual void AppNotifyChannelSetupComplete(int request_id, |
+ const std::string& channel_id, |
+ const std::string& error); |
+ |
private: |
// Message handlers. |
void OnPostMessage(int port_id, const std::string& message); |
+ void OnGetAppNotifyChannel(int request_id, |
+ const GURL& requestor_url, |
+ const std::string& client_id); |
DISALLOW_COPY_AND_ASSIGN(ExtensionMessageHandler); |
}; |