summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/webkit')
-rw-r--r--core/java/android/webkit/WebView.java17
-rw-r--r--core/java/android/webkit/WebViewClassic.java6
-rw-r--r--core/java/android/webkit/WebViewProvider.java2
3 files changed, 25 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 0149f03..7146d0d 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -850,6 +850,23 @@ public class WebView extends AbsoluteLayout
}
/**
+ * Asynchronously evaluates JavaScript in the context of the currently displayed page.
+ * If non-null, |resultCallback| will be invoked with any result returned from that
+ * execution. This method must be called on the UI thread and the callback will
+ * be made on the UI thread.
+ *
+ * @param script the JavaScript to execute.
+ * @param resultCallback A callback to be invoked when the script execution
+ * completes with the result of the execution (if any).
+ * May be null if no notificaion of the result is required.
+ * @hide pending API council approval and CTS test coverage.
+ */
+ public void evaluateJavascript(String script, ValueCallback<String> resultCallback) {
+ checkThread();
+ mProvider.evaluateJavaScript(script, resultCallback);
+ }
+
+ /**
* Saves the current view as a web archive.
*
* @param filename the filename where the archive should be placed
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index 5a9e6c9..b930276 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -2656,6 +2656,12 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
clearHelpers();
}
+ @Override
+ public void evaluateJavaScript(String script, ValueCallback<String> resultCallback) {
+ // K-only API not implemented in WebViewClassic.
+ throw new IllegalStateException("This API not supported in Classic WebView.");
+ }
+
/**
* See {@link WebView#saveWebArchive(String)}
*/
diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java
index 41d6333..8c5c4ce 100644
--- a/core/java/android/webkit/WebViewProvider.java
+++ b/core/java/android/webkit/WebViewProvider.java
@@ -114,6 +114,8 @@ public interface WebViewProvider {
public void loadDataWithBaseURL(String baseUrl, String data,
String mimeType, String encoding, String historyUrl);
+ public void evaluateJavaScript(String script, ValueCallback<String> resultCallback);
+
public void saveWebArchive(String filename);
public void saveWebArchive(String basename, boolean autoname, ValueCallback<String> callback);