Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 806ae0a7f67a7dd26cca02a56162458b7ff126b1..fec12b0e6a2fb41ccfcca69042d2da8672a00a16 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -259,8 +259,19 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
gfx::Rect scaled_viewport_for_tile_priority = gfx::ScaleToEnclosingRect( |
viewport_rect_for_tile_priority_in_content_space_, max_contents_scale); |
+ // Determine if num_incomplete_tiles and num_missing_tiles can become 0 |
+ // if we wait long enough. |
+ auto ideal_tiling = tilings_->FindTilingWithScale(ideal_contents_scale_); |
+ bool ideal_tiling_visible_tiles_can_be_rasterized = |
+ ideal_tiling && ideal_tiling->RasterSourceCoversCurrentVisibleTiles(); |
+ auto raster_tiling = tilings_->FindTilingWithScale(raster_contents_scale_); |
+ bool raster_tiling_visible_tiles_can_be_rasterized = |
+ raster_tiling && raster_tiling->RasterSourceCoversCurrentVisibleTiles(); |
+ append_quads_data->raster_source_covers_visible_high_res_tiles = |
+ ideal_tiling_visible_tiles_can_be_rasterized || |
+ raster_tiling_visible_tiles_can_be_rasterized; |
+ |
size_t missing_tile_count = 0u; |
- size_t on_demand_missing_tile_count = 0u; |
only_used_low_res_last_append_quads_ = true; |
for (PictureLayerTilingSet::CoverageIterator iter( |
tilings_.get(), max_contents_scale, |
@@ -366,13 +377,9 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
} |
if (missing_tile_count) { |
- TRACE_EVENT_INSTANT2("cc", |
- "PictureLayerImpl::AppendQuads checkerboard", |
- TRACE_EVENT_SCOPE_THREAD, |
- "missing_tile_count", |
- missing_tile_count, |
- "on_demand_missing_tile_count", |
- on_demand_missing_tile_count); |
+ TRACE_EVENT_INSTANT1("cc", "PictureLayerImpl::AppendQuads checkerboard", |
+ TRACE_EVENT_SCOPE_THREAD, "missing_tile_count", |
+ missing_tile_count); |
} |
// Aggressively remove any tilings that are not seen to save memory. Note |