| Index: android_webview/browser/aw_message_port_message_filter.cc
|
| diff --git a/android_webview/browser/aw_message_port_message_filter.cc b/android_webview/browser/aw_message_port_message_filter.cc
|
| index 60b143ed5c1659a5d14a402506ceb3e6302f79d2..fc2d314496c1c7d716376d85f5f9cccca3657a79 100644
|
| --- a/android_webview/browser/aw_message_port_message_filter.cc
|
| +++ b/android_webview/browser/aw_message_port_message_filter.cc
|
| @@ -35,6 +35,7 @@ bool AwMessagePortMessageFilter::OnMessageReceived(
|
| AwMessagePortService::OnConvertedWebToAppMessage)
|
| IPC_MESSAGE_HANDLER(AwMessagePortHostMsg_ConvertedAppToWebMessage,
|
| OnConvertedAppToWebMessage)
|
| + IPC_MESSAGE_HANDLER(AwMessagePortHostMsg_ClosePortAck, OnClosePortAck)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| return handled;
|
| @@ -44,10 +45,17 @@ void AwMessagePortMessageFilter::OnConvertedAppToWebMessage(
|
| int msg_port_id,
|
| const base::string16& message,
|
| const std::vector<int>& sent_message_port_ids) {
|
| +
|
| MessagePortProvider::PostMessageToPort(msg_port_id, message,
|
| sent_message_port_ids);
|
| }
|
|
|
| +void AwMessagePortMessageFilter::OnClosePortAck(int message_port_id) {
|
| + MessagePortProvider::ClosePort(message_port_id);
|
| + AwBrowserContext::GetDefault()->GetMessagePortService()->
|
| + CleanupPort(message_port_id);
|
| +}
|
| +
|
| void AwMessagePortMessageFilter::OnDestruct() const {
|
| BrowserThread::DeleteOnIOThread::Destruct(this);
|
| }
|
| @@ -62,6 +70,10 @@ void AwMessagePortMessageFilter::SendAppToWebMessage(
|
| message, sent_message_port_ids));
|
| }
|
|
|
| +void AwMessagePortMessageFilter::SendClosePortMessage(int message_port_id) {
|
| + Send(new AwMessagePortMsg_ClosePort(route_id_, message_port_id));
|
| +}
|
| +
|
| void AwMessagePortMessageFilter::SendMessage(
|
| int msg_port_route_id,
|
| const base::string16& message,
|
|
|