From 9f3ed850b6521bec8a946a54bb8a15565b4aa67e Mon Sep 17 00:00:00 2001 From: Bo Liu Date: Fri, 18 Jul 2014 10:03:12 -0700 Subject: [PATCH] Add WebView.enableSlowWholeDocumentDraw BUG: 16300353 Change-Id: Id4475f04f32bb176a6a59ee9d5a09e3f65b94ef0 --- api/current.txt | 1 + core/java/android/webkit/WebView.java | 10 ++++++++++ core/java/android/webkit/WebViewFactoryProvider.java | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/api/current.txt b/api/current.txt index 4a96399692aa6..9a11d0a1f71b8 100644 --- a/api/current.txt +++ b/api/current.txt @@ -37059,6 +37059,7 @@ package android.webkit { method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(java.lang.String); method public void destroy(); method public void documentHasImages(android.os.Message); + method public static void enableSlowWholeDocumentDraw(); method public void evaluateJavascript(java.lang.String, android.webkit.ValueCallback); method public static java.lang.String findAddress(java.lang.String); method public deprecated int findAll(java.lang.String); diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 9cf3e4f1eb1ac..2326d5a2f2a07 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -1623,6 +1623,16 @@ public class WebView extends AbsoluteLayout return getFactory().getStatics().findAddress(addr); } + /** + * Enable drawing the entire HTML document at a significant performance + * cost. Call this to enable drawing and capturing HTML content outside of + * the WebView's viewport. This should be called before any WebViews are + * created. + */ + public static void enableSlowWholeDocumentDraw() { + getFactory().getStatics().enableSlowWholeDocumentDraw(); + } + /** * Clears the highlighting surrounding text matches created by * {@link #findAllAsync}. diff --git a/core/java/android/webkit/WebViewFactoryProvider.java b/core/java/android/webkit/WebViewFactoryProvider.java index 5ff265568380d..48f3ca3704549 100644 --- a/core/java/android/webkit/WebViewFactoryProvider.java +++ b/core/java/android/webkit/WebViewFactoryProvider.java @@ -64,6 +64,12 @@ public interface WebViewFactoryProvider { * {@link android.webkit.WebView#optOutDataReductionProxy() } */ void optOutDataReductionProxy(); + + /** + * Implements the API method: + * {@link android.webkit.WebView#setSlowWholeDocumentDrawEnabled(boolean) } + */ + void enableSlowWholeDocumentDraw(); } Statics getStatics();