| 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 b7dc50638047944bc3d5274028ae1d971e4d2ee6..657c9a0f81a816d1ebd2f17a9c966a205fc9847f 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
|
| @@ -19,14 +19,13 @@ import org.chromium.base.VisibleForTesting;
|
| import org.chromium.base.annotations.CalledByNative;
|
| import org.chromium.base.annotations.JNINamespace;
|
| import org.chromium.content.browser.AppWebMessagePort;
|
| -import org.chromium.content.browser.AppWebMessagePortService;
|
| import org.chromium.content.browser.MediaSessionImpl;
|
| import org.chromium.content_public.browser.AccessibilitySnapshotCallback;
|
| 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.MessagePortService;
|
| +import org.chromium.content_public.browser.MessagePort;
|
| import org.chromium.content_public.browser.NavigationController;
|
| import org.chromium.content_public.browser.SmartClipCallback;
|
| import org.chromium.content_public.browser.WebContents;
|
| @@ -342,17 +341,25 @@ import java.util.UUID;
|
|
|
| @Override
|
| public void postMessageToFrame(String frameName, String message,
|
| - String sourceOrigin, String targetOrigin, int[] sentPortIds) {
|
| - nativePostMessageToFrame(mNativeWebContentsAndroid, frameName, message,
|
| - sourceOrigin, targetOrigin, sentPortIds);
|
| + String sourceOrigin, 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, sourceOrigin, targetOrigin, ports);
|
| }
|
|
|
| @Override
|
| - public AppWebMessagePort[] createMessageChannel(MessagePortService service)
|
| + public AppWebMessagePort[] createMessageChannel()
|
| throws IllegalStateException {
|
| - AppWebMessagePort[] ports = ((AppWebMessagePortService) service).createMessageChannel();
|
| - nativeCreateMessageChannel(mNativeWebContentsAndroid, ports);
|
| - return ports;
|
| + return AppWebMessagePort.createPair();
|
| }
|
|
|
| @Override
|
| @@ -579,9 +586,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 sourceOrigin, String targetOrigin, int[] sentPortIds);
|
| - private native void nativeCreateMessageChannel(
|
| - long nativeWebContentsAndroid, AppWebMessagePort[] ports);
|
| + String message, String sourceOrigin, String targetOrigin, MessagePort[] ports);
|
| private native boolean nativeHasAccessedInitialDocument(
|
| long nativeWebContentsAndroid);
|
| private native int nativeGetThemeColor(long nativeWebContentsAndroid);
|
|
|