Index: android_webview/java/src/org/chromium/android_webview/AwMessagePortService.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/AwMessagePortService.java b/android_webview/java/src/org/chromium/android_webview/AwMessagePortService.java |
index 626d427473197bddf14472a170c098cfdbcc7817..e7c887b29ba17775a14901619844eb67dde4d2f8 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/AwMessagePortService.java |
+++ b/android_webview/java/src/org/chromium/android_webview/AwMessagePortService.java |
@@ -144,8 +144,14 @@ public class AwMessagePortService { |
// Called on IO thread. |
@CalledByNative |
private void onReceivedMessage(int portId, String message, int[] ports) { |
- // TODO(sgurun) implement receiving ports from native |
- mPortStorage.get(portId).onReceivedMessage(message); |
+ MessagePort[] messagePorts = null; |
+ for (int i = 0; i < ports.length; i++) { |
+ if (messagePorts == null) { |
+ messagePorts = new MessagePort[ports.length]; |
+ } |
+ messagePorts[i] = addPort(new MessagePort(this), ports[i]); |
+ } |
+ mPortStorage.get(portId).onReceivedMessage(message, messagePorts); |
} |
@CalledByNative |