You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2014/06/09 04:55:15 UTC
[16/18] android commit: CB-6851 Deprecate WebView.sendJavascript()
CB-6851 Deprecate WebView.sendJavascript()
Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/b4076410
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/b4076410
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/b4076410
Branch: refs/heads/4.0.x
Commit: b40764104958e5b8a4c7ef19ae98d3a83be17810
Parents: 32e07c2
Author: Andrew Grieve <ag...@chromium.org>
Authored: Sun Jun 8 22:47:41 2014 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Sun Jun 8 22:47:41 2014 -0400
----------------------------------------------------------------------
.../src/org/apache/cordova/CordovaWebView.java | 21 +++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/b4076410/framework/src/org/apache/cordova/CordovaWebView.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaWebView.java b/framework/src/org/apache/cordova/CordovaWebView.java
index 9e98ac6..bb51a7a 100755
--- a/framework/src/org/apache/cordova/CordovaWebView.java
+++ b/framework/src/org/apache/cordova/CordovaWebView.java
@@ -557,10 +557,25 @@ public class CordovaWebView extends WebView {
/**
* Send JavaScript statement back to JavaScript.
- * (This is a convenience method)
- *
- * @param statement
+ * Deprecated (https://issues.apache.org/jira/browse/CB-6851)
+ * Instead of executing snippets of JS, you should use the exec bridge
+ * to create a Java->JS communication channel.
+ * To do this:
+ * 1. Within plugin.xml (to have your JS run before deviceready):
+ * <js-module><runs/></js-module>
+ * 2. Within your .js (call exec on start-up):
+ * require('cordova/channel').onCordovaReady.subscribe(function() {
+ * require('cordova/exec')(win, null, 'Plugin', 'method', []);
+ * function win(message) {
+ * ... process message from java here ...
+ * }
+ * });
+ * 3. Within your .java:
+ * PluginResult dataResult = new PluginResult(PluginResult.Status.OK, CODE);
+ * dataResult.setKeepCallback(true);
+ * savedCallbackContext.sendPluginResult(dataResult);
*/
+ @Deprecated
public void sendJavascript(String statement) {
this.jsMessageQueue.addJavaScript(statement);
}