Trigger a full screen repaint when touching layers, as webkitDraw()
may not generate the correct invalidations.
counterpart java CL: https://android-git.corp.google.com/g/#/c/140427/
bug:5425608 bug:5218173
Change-Id: I4a958a6fac4054a1040cb077cdfa2aff076e3fad
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 440ee79..9d92653 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -2019,10 +2019,10 @@
if (nativeUpdateLayers(mLastDrawData.mBaseLayer)) {
// If anything more complex than position has been touched, let's do a full draw
webkitDraw();
- } else {
- Message.obtain(mWebView.mPrivateHandler,
- WebView.INVAL_RECT_MSG_ID).sendToTarget();
}
+ mWebView.mPrivateHandler.removeMessages(WebView.INVAL_RECT_MSG_ID);
+ mWebView.mPrivateHandler.sendMessageAtFrontOfQueue(mWebView.mPrivateHandler
+ .obtainMessage(WebView.INVAL_RECT_MSG_ID));
}
private void webkitDraw() {