summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authorhush@chromium.org <hush@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-24 14:13:37 +0000
committerhush@chromium.org <hush@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-24 14:13:37 +0000
commit28a553d41969e3b864be50115e7658105ea8525a (patch)
treec800b09d18825ee5aa8082f0a855c89b3477e1df /android_webview
parentbd39f6b77d584213bd66f8701a8fae270742e74f (diff)
downloadchromium_src-28a553d41969e3b864be50115e7658105ea8525a.zip
chromium_src-28a553d41969e3b864be50115e7658105ea8525a.tar.gz
chromium_src-28a553d41969e3b864be50115e7658105ea8525a.tar.bz2
Early out when the clip is empty for software draws.
Otherwise WebView will draw with an auxiliary bitmap when the clip is empty. BUG=396981 Review URL: https://codereview.chromium.org/407093012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285245 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwContents.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
index fa623ca..bfec53f 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -2177,6 +2177,9 @@ public class AwContents {
private int mLayerType = View.LAYER_TYPE_NONE;
private ComponentCallbacks2 mComponentCallbacks;
+ // Only valid within software onDraw().
+ private final Rect mClipBoundsTemporary = new Rect();
+
@Override
public void onDraw(Canvas canvas) {
if (mNativeAwContents == 0) {
@@ -2184,6 +2187,12 @@ public class AwContents {
return;
}
+ // For hardware draws, the clip at onDraw time could be different
+ // from the clip during DrawGL.
+ if (!canvas.isHardwareAccelerated() && !canvas.getClipBounds(mClipBoundsTemporary)) {
+ return;
+ }
+
mScrollOffsetManager.syncScrollOffsetFromOnDraw();
Rect globalVisibleRect = getGlobalVisibleRect();
if (!nativeOnDraw(mNativeAwContents, canvas, canvas.isHardwareAccelerated(),