Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 4f6bfdb2981a21197bad72053e068f6b34ae6fd8..b6d37094a634689cfe6588a3145ef8405e0b0c06 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -1369,4 +1369,23 @@ bool PictureLayerImpl::HasValidTilePriorities() const { |
is_drawn_render_surface_layer_list_member(); |
} |
+void PictureLayerImpl::InvalidateRegionForImages( |
+ const std::unordered_set<ImageId>& images_to_invalidate) { |
+ InvalidationRegion image_invalidation; |
+ for (auto image_id : images_to_invalidate) { |
+ image_invalidation.Union(raster_source_->GetRectForImage(image_id)); |
+ } |
+ |
+ if (image_invalidation.IsEmpty()) |
vmpstr
2017/02/10 19:25:42
Should we just check if (images_to_invalidate.empt
Khushal
2017/02/10 22:09:19
Good point. That check should be in LayerTreeImpl
|
+ return; |
+ |
+ Region invalidation; |
+ image_invalidation.Swap(&invalidation); |
+ TRACE_EVENT1("cc", "PictureLayerImpl::InvalidatingForImages", "invalidation", |
+ invalidation.ToString()); |
+ invalidation_.Union(invalidation); |
+ tilings_->UpdateTilingsForImplSideInvalidation(invalidation); |
+ SetNeedsPushProperties(); |
+} |
+ |
} // namespace cc |