| 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 e87694f7c6419b628164ac5e57a29a41501ecae3..e48ccacaa22e462d5c52cfaa6c73edefe318b3c7 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
|
| @@ -539,7 +550,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(
|
|
|