Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(988)

Unified Diff: android_webview/java/src/org/chromium/android_webview/AwContents.java

Issue 831523004: Enable posting a message from JS to Android webview. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix component builds Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 4d80be73e6d07d234a2cfeef69823b3e5675638d..70393519e174d7507f13a9d30555188818b5e2fb 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -1790,9 +1790,16 @@ public class AwContents implements SmartClipProvider {
* message ports to pass.
*/
public void postMessageToFrame(String frameName, String message,
- String sourceOrigin, String targetOrigin, int[] msgPorts) {
+ String sourceOrigin, String targetOrigin, MessagePort[] msgPorts) {
+ 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();
+ }
nativePostMessageToFrame(mNativeAwContents, frameName, message, sourceOrigin,
- targetOrigin, msgPorts);
+ targetOrigin, portIds);
}
/**
@@ -1801,10 +1808,12 @@ public class AwContents implements SmartClipProvider {
* @param callback The message channel created.
*/
public void createMessageChannel(ValueCallback<MessageChannel> callback) {
+ if (isDestroyed()) return;
+ // Make sure the message port service is created.
+ mBrowserContext.createMessagePortService();
nativeCreateMessageChannel(mNativeAwContents, callback);
}
-
//--------------------------------------------------------------------------------------------
// View and ViewGroup method implementations
//--------------------------------------------------------------------------------------------
@@ -2217,12 +2226,6 @@ public class AwContents implements SmartClipProvider {
}
}
- @CalledByNative
- private static void onMessageChannelCreated(int portId1, int portId2,
- ValueCallback<MessageChannel> callback) {
- callback.onReceiveValue(new MessageChannel(portId1, portId2));
- }
-
// -------------------------------------------------------------------------------------------
// Helper methods
// -------------------------------------------------------------------------------------------

Powered by Google App Engine
This is Rietveld 408576698