| Index: android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| index a9115ae330af0270667770edd7b531bbd2116d44..760c0ba46f86c8d6627dfaf72601aa4fb92c938b 100644
|
| --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| @@ -1739,6 +1739,35 @@ public class AwContents {
|
| if (!isDestroyed()) mWebContents.evaluateJavaScript(script, null);
|
| }
|
|
|
| + /**
|
| + * Post a message to a frame.
|
| + * TODO(sgurun) investigate if we should hardcode the source origin to some
|
| + * value instead.
|
| + *
|
| + * @param frameName The name of the frame. If the name is null the message is posted
|
| + * to the main frame.
|
| + * @param message The message
|
| + * @param sourceOrigin The source origin
|
| + * @param targetOrigin The target origin
|
| + * @param msgPorts The sent message ports, if any. Pass null if there is no
|
| + * message ports to pass.
|
| + */
|
| + public void postMessageToFrame(String frameName, String message,
|
| + String sourceOrigin, String targetOrigin, int[] msgPorts) {
|
| + nativePostMessageToFrame(mNativeAwContents, frameName, message, sourceOrigin,
|
| + targetOrigin, msgPorts);
|
| + }
|
| +
|
| + /**
|
| + * Creates a message channel.
|
| + *
|
| + * @param callback The message channel created.
|
| + */
|
| + public void createMessageChannel(ValueCallback<MessageChannel> callback) {
|
| + nativeCreateMessageChannel(mNativeAwContents, callback);
|
| + }
|
| +
|
| +
|
| //--------------------------------------------------------------------------------------------
|
| // View and ViewGroup method implementations
|
| //--------------------------------------------------------------------------------------------
|
| @@ -2151,6 +2180,12 @@ public class AwContents {
|
| }
|
| }
|
|
|
| + @CalledByNative
|
| + private static void onMessageChannelCreated(int portId1, int portId2,
|
| + ValueCallback<MessageChannel> callback) {
|
| + callback.onReceiveValue(new MessageChannel(portId1, portId2));
|
| + }
|
| +
|
| // -------------------------------------------------------------------------------------------
|
| // Helper methods
|
| // -------------------------------------------------------------------------------------------
|
| @@ -2602,4 +2637,10 @@ public class AwContents {
|
|
|
| private native void nativePreauthorizePermission(long nativeAwContents, String origin,
|
| long resources);
|
| +
|
| + private native void nativePostMessageToFrame(long nativeAwContents, String frameId,
|
| + String message, String sourceOrigin, String targetOrigin, int[] msgPorts);
|
| +
|
| + private native void nativeCreateMessageChannel(long nativeAwContents,
|
| + ValueCallback<MessageChannel> callback);
|
| }
|
|
|