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); |
} |