Index: android_webview/browser/aw_message_port_message_filter.h |
diff --git a/android_webview/browser/aw_message_port_message_filter.h b/android_webview/browser/aw_message_port_message_filter.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d63774bb9b216c86843b7a6c9bedd5f8e1fe77c5 |
--- /dev/null |
+++ b/android_webview/browser/aw_message_port_message_filter.h |
@@ -0,0 +1,45 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef ANDROID_WEBVIEW_BROWSER_MESSAGE_PORT_MESSAGE_FILTER_H_ |
+#define ANDROID_WEBVIEW_BROWSER_MESSAGE_PORT_MESSAGE_FILTER_H_ |
+ |
+#include "base/callback.h" |
+#include "content/public/browser/browser_message_filter.h" |
+#include "content/public/browser/message_port_delegate.h" |
+ |
+namespace android_webview { |
+ |
+// Filter for Aw specific MessagePort related IPC messages (creating and |
+// destroying a MessagePort, sending a message via a MessagePort etc). |
+class AwMessagePortMessageFilter : public content::BrowserMessageFilter, |
+ public content::MessagePortDelegate { |
+ public: |
+ explicit AwMessagePortMessageFilter(int route_id); |
+ |
+ // BrowserMessageFilter implementation. |
+ void OnChannelClosing() override; |
+ bool OnMessageReceived(const IPC::Message& message) override; |
+ void OnDestruct() const override; |
+ |
+ // MessagePortDelegate implementation. |
+ void SendMessage(int msg_port_route_id, |
+ const base::string16& message, |
palmer
2015/01/21 01:56:19
I don't quite believe :) that |message| does not h
sgurun-gerrit only
2015/01/21 02:25:54
I think my answer was not well worded before, sorr
|
+ const std::vector<int>& sent_message_port_ids) override; |
+ void SendMessagesAreQueued(int route_id) override; |
+ |
+ private: |
+ friend class content::BrowserThread; |
+ friend class base::DeleteHelper<AwMessagePortMessageFilter>; |
+ |
+ ~AwMessagePortMessageFilter() override; |
+ |
+ int route_id_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(AwMessagePortMessageFilter); |
+}; |
+ |
+} // namespace android_webview |
+ |
+#endif // ANDROID_WEBVIEW_BROWSER_MESSAGE_PORT_MESSAGE_FILTER_H_ |