Index: cc/resources/display_list_recording_source.cc |
diff --git a/cc/resources/display_list_recording_source.cc b/cc/resources/display_list_recording_source.cc |
index 7ada580ab931d70f4e1ff5dcdbc2579d02e5a353..701db9bfd9dbd23fb5b238590bdb0e24b5260136 100644 |
--- a/cc/resources/display_list_recording_source.cc |
+++ b/cc/resources/display_list_recording_source.cc |
@@ -119,17 +119,18 @@ bool DisplayListRecordingSource::UpdateAndExpandInvalidation( |
} |
} |
for (int i = 0; i < repeat_count; ++i) { |
- display_list_ = painter->PaintContentsToDisplayList(recorded_viewport_, |
- painting_control); |
+ const bool use_cached_picture = true; |
+ display_list_ = |
+ DisplayItemList::Create(recorded_viewport_, use_cached_picture); |
+ painter->PaintContentsToDisplayList(display_list_.get(), recorded_viewport_, |
+ painting_control); |
} |
- display_list_->set_layer_rect(recorded_viewport_); |
+ display_list_->CreateAndCacheSkPicture(); |
+ |
is_suitable_for_gpu_rasterization_ = |
display_list_->IsSuitableForGpuRasterization(); |
- |
DetermineIfSolidColor(); |
display_list_->EmitTraceSnapshot(); |
- |
- display_list_->CreateAndCacheSkPicture(); |
if (gather_pixel_refs_) |
display_list_->GatherPixelRefs(grid_cell_size_); |