Index: content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java |
index cc33b2dac09e8da12217a110430cce8147bc3c13..8c5d159b1002dc067eb2b40435cb00f6b30b95ea 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java |
@@ -24,6 +24,7 @@ import org.chromium.content_public.browser.AccessibilitySnapshotNode; |
import org.chromium.content_public.browser.ContentBitmapCallback; |
import org.chromium.content_public.browser.ImageDownloadCallback; |
import org.chromium.content_public.browser.JavaScriptCallback; |
+import org.chromium.content_public.browser.MessagePort; |
import org.chromium.content_public.browser.MessagePortService; |
import org.chromium.content_public.browser.NavigationController; |
import org.chromium.content_public.browser.WebContents; |
@@ -337,9 +338,19 @@ import java.util.UUID; |
@Override |
public void postMessageToFrame( |
- String frameName, String message, String targetOrigin, int[] sentPortIds) { |
+ String frameName, String message, String targetOrigin, MessagePort[] ports) { |
+ if (ports != null) { |
+ for (MessagePort port : ports) { |
+ if (port.isClosed() || port.isTransferred()) { |
+ throw new IllegalStateException("Port is already closed or transferred"); |
+ } |
+ if (port.isStarted()) { |
+ throw new IllegalStateException("Port is already started"); |
+ } |
+ } |
+ } |
nativePostMessageToFrame( |
- mNativeWebContentsAndroid, frameName, message, targetOrigin, sentPortIds); |
+ mNativeWebContentsAndroid, frameName, message, targetOrigin, ports); |
} |
@Override |
@@ -531,7 +542,7 @@ import java.util.UUID; |
private native void nativeAddMessageToDevToolsConsole( |
long nativeWebContentsAndroid, int level, String message); |
private native void nativePostMessageToFrame(long nativeWebContentsAndroid, String frameName, |
- String message, String targetOrigin, int[] sentPortIds); |
+ String message, String targetOrigin, MessagePort[] ports); |
private native void nativeCreateMessageChannel( |
long nativeWebContentsAndroid, AppWebMessagePort[] ports); |
private native boolean nativeHasAccessedInitialDocument( |