summaryrefslogtreecommitdiff
path: root/chromium/plat_support
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2013-08-15 10:13:45 -0700
committerKristian Monsen <kristianm@google.com>2013-08-23 22:49:57 +0000
commite7724b41b327660a3b3d6d4f0580da7cbe03be64 (patch)
treec75df8d9c79d1149ab1c8b7441614443b4170605 /chromium/plat_support
parente3145d2889cb61b5baee0752c007ef0430cb8b33 (diff)
downloadwebview-e7724b41b327660a3b3d6d4f0580da7cbe03be64.tar.gz
Temp fix for bug 10152369: Broken SW draw with multiple layers
We didn't know this was possible. For now just early out with null. Change-Id: I9bce3130dc79c32e28c96a4755101d0dd5218126 (cherry picked from commit a77d0c1c7ac335e66004daf977fa86840f063304)
Diffstat (limited to 'chromium/plat_support')
-rw-r--r--chromium/plat_support/graphics_utils.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/chromium/plat_support/graphics_utils.cpp b/chromium/plat_support/graphics_utils.cpp
index f269614..4db61a1 100644
--- a/chromium/plat_support/graphics_utils.cpp
+++ b/chromium/plat_support/graphics_utils.cpp
@@ -106,6 +106,12 @@ PixelInfo* TryToCreatePixelInfo(SkCanvas* canvas) {
const SkBitmap* bitmap = &device->accessBitmap(true);
if (!bitmap->lockPixelsAreWritable())
return NULL;
+ const SkRegion& region = layer.clip();
+ layer.next();
+ // Currently don't handle multiple layers well, so early out
+ // TODO: Return all layers in PixelInfo
+ if (!layer.done())
+ return NULL;
UniquePtr<PixelInfo> pixels(new PixelInfo(canvas, bitmap));
pixels->config =
@@ -124,7 +130,6 @@ PixelInfo* TryToCreatePixelInfo(SkCanvas* canvas) {
pixels->matrix[i] = matrix.get(i);
}
- const SkRegion& region = layer.clip();
if (region.isEmpty()) {
pixels->AddRectToClip(region.getBounds());
} else {