Index: android_webview/java/src/org/chromium/android_webview/MessagePort.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/MessagePort.java b/android_webview/java/src/org/chromium/android_webview/MessagePort.java |
index e04035553a03630ff80d886558c469fc9101b7b1..4025c4507264c56d4fd753c4bd53be8e57955ece 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/MessagePort.java |
+++ b/android_webview/java/src/org/chromium/android_webview/MessagePort.java |
@@ -70,7 +70,11 @@ public class MessagePort { |
if (msgPorts != null) { |
portIds = new int[msgPorts.length]; |
for (int i = 0; i < msgPorts.length; i++) { |
- portIds[i] = msgPorts[i].portId(); |
+ int sentId = msgPorts[i].portId(); |
+ if (sentId == mPortId) { |
+ throw new IllegalStateException("Source port cannot be transferred"); |
+ } |
+ portIds[i] = sentId; |
} |
} |
mMessagePortService.postMessage(mPortId, message, portIds); |