Index: cc/tiles/tile_manager.cc |
diff --git a/cc/tiles/tile_manager.cc b/cc/tiles/tile_manager.cc |
index e0968d19392183453a4e51cce3b7a5d182445889..f7c3a3b8f69a1834de6610fa3cb42f493fe804ac 100644 |
--- a/cc/tiles/tile_manager.cc |
+++ b/cc/tiles/tile_manager.cc |
@@ -632,11 +632,13 @@ TileManager::PrioritizedWorkToSchedule TileManager::AssignGpuMemoryToTiles() { |
} |
bool tile_is_needed_now = priority.priority_bin == TilePriority::NOW; |
- if (tile->use_picture_analysis() && kUseColorEstimator) { |
+ if (!tile->is_solid_color_analysis_performed() && |
+ tile->use_picture_analysis() && kUseColorEstimator) { |
// We analyze for solid color here, to decide to continue |
// or drop the tile for scheduling and raster. |
// TODO(sohanjg): Check if we could use a shared analysis |
// canvas which is reset between tiles. |
+ tile->set_solid_color_analysis_performed(true); |
SkColor color = SK_ColorTRANSPARENT; |
bool is_solid_color = |
prioritized_tile.raster_source()->PerformSolidColorAnalysis( |