cc: Fix CanRaster dcheck failures ONCE AND FOR ALL.
When a PicturePile grows along either axis, the tiles on the edge where it grew are dropped if any new pixels are added to their recordings. This means that we need to invalidate them to inform the impl side about the recording being dropped. However, if we're going to re-record the tile (it intersects the interest_rect), then there's no need to invalidate it as the old recorded pixels remain valid. Previously we made the assumption that when a PicturePile resized, the interest rect's center would be to the left and above the old edge of the pile. However, the interest rect can move at the same time as the pile is resized, and it can live anywhere with respect to the recording tiles being dropped. So we invalidate everything inside the row/column of tiles that were dropped that is outside of the interest rect by invalidating on all four sides of the interest rect, but clamping the resulting invalidation rects to within the dropped tiles row/column. R=enne BUG=386998 Review URL: https://codereview.chromium.org/504513002 Cr-Commit-Position: refs/heads/master@{#291762}
Showing
This diff is collapsed.
Please register or sign in to comment