| 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 70393519e174d7507f13a9d30555188818b5e2fb..67abc76b611917a42e931ba106e8c99c278bb766 100644
|
| --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| @@ -1790,13 +1790,15 @@ public class AwContents implements SmartClipProvider {
|
| * message ports to pass.
|
| */
|
| public void postMessageToFrame(String frameName, String message,
|
| - String sourceOrigin, String targetOrigin, MessagePort[] msgPorts) {
|
| + String sourceOrigin, String targetOrigin, MessagePort[] sentPorts) {
|
| if (isDestroyed()) return;
|
| int[] portIds = null;
|
| - if (msgPorts != null) {
|
| - portIds = new int[msgPorts.length];
|
| - for (int i = 0; i < msgPorts.length; i++)
|
| - portIds[i] = msgPorts[i].portId();
|
| + if (sentPorts != null) {
|
| + portIds = new int[sentPorts.length];
|
| + for (int i = 0; i < sentPorts.length; i++) {
|
| + portIds[i] = sentPorts[i].portId();
|
| + }
|
| + mBrowserContext.getMessagePortService().removeSentPorts(portIds);
|
| }
|
| nativePostMessageToFrame(mNativeAwContents, frameName, message, sourceOrigin,
|
| targetOrigin, portIds);
|
| @@ -1810,7 +1812,7 @@ public class AwContents implements SmartClipProvider {
|
| public void createMessageChannel(ValueCallback<MessageChannel> callback) {
|
| if (isDestroyed()) return;
|
| // Make sure the message port service is created.
|
| - mBrowserContext.createMessagePortService();
|
| + mBrowserContext.createMessagePortServiceIfNecessary();
|
| nativeCreateMessageChannel(mNativeAwContents, callback);
|
| }
|
|
|
|
|