Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(457)

Unified Diff: skia/ext/analysis_canvas.cc

Issue 14322017: Revert "cc: Move canvas clear from picture to picture_pile_impl" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: skia/ext/analysis_canvas.cc
diff --git a/skia/ext/analysis_canvas.cc b/skia/ext/analysis_canvas.cc
index 74a7c23fd8c2aed515c8218cef63076b2a003703..d8e5b15913a5b7ad7a2179349dce9184c40fba44 100644
--- a/skia/ext/analysis_canvas.cc
+++ b/skia/ext/analysis_canvas.cc
@@ -171,7 +171,8 @@ void AnalysisDevice::clear(SkColor color) {
void AnalysisDevice::drawPaint(const SkDraw&, const SkPaint& paint) {
addBitmapFromPaint(paint);
- isSolidColor_ = false;
+ isSolidColor_ =
+ (isSolidColor_ && isSolidColorPaint(paint) && paint.getColor() == color_);
isTransparent_ = false;
}
@@ -219,9 +220,12 @@ void AnalysisDevice::drawRect(const SkDraw& draw, const SkRect& rect,
// - We're not in "forced not solid" mode
// - Paint is solid color
// - The quad is a full tile quad
+ // - The exception is if the tile is already solid tile,
+ // and we're drawing the same solid color paint then
+ // the tile remains solid.
Tom Hudson 2013/04/30 09:43:59 This could be a different CL? But nice catch! Does
vmpstr 2013/04/30 17:06:23 This shows up on low res tiles. However, with the
if (!isForcedNotSolid_ &&
isSolidColorPaint(paint) &&
- doesCoverCanvas) {
+ (doesCoverCanvas || (isSolidColor_ && paint.getColor() == color_))) {
isSolidColor_ = true;
color_ = paint.getColor();
hasText_ = false;

Powered by Google App Engine
This is Rietveld 408576698