diff options
Diffstat (limited to 'core/java/android/webkit')
-rw-r--r-- | core/java/android/webkit/WebView.java | 17 | ||||
-rw-r--r-- | core/java/android/webkit/WebViewClassic.java | 6 | ||||
-rw-r--r-- | core/java/android/webkit/WebViewProvider.java | 2 |
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); |