Index: android_webview/java/src/org/chromium/android_webview/PostMessageSender.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/PostMessageSender.java b/android_webview/java/src/org/chromium/android_webview/PostMessageSender.java |
index 01d7caed64e6e1e7c606cb5bd121370f32cf9635..318eaba94b4d2c4f140aadf97885c211bd9d1b10 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/PostMessageSender.java |
+++ b/android_webview/java/src/org/chromium/android_webview/PostMessageSender.java |
@@ -122,8 +122,14 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs |
// Sanity check all the ports that are being transferred. |
if (sentPorts != null) { |
for (MessagePort p : sentPorts) { |
- if (p.isClosed() || p.isTransferred()) { |
- throw new IllegalStateException("Port cannot be transferred"); |
+ if (p.isClosed()) { |
+ throw new IllegalStateException("Closed port cannot be transfered"); |
+ } |
+ if (p.isTransferred()) { |
+ throw new IllegalStateException("Port cannot be re-transferred"); |
+ } |
+ if (p.isStarted()) { |
+ throw new IllegalStateException("Started port cannot be transferred"); |
} |
p.setTransferred(); |
} |