Add CullRect::ApplyPaintProperties()
It will be called to map a cull rect from parent space to local space in cull rect update during PrePaint. The purpose is to mark PaintLayers needing repaint on cull rect changes before paint, instead of checking interest rect / cull rect changes during paint, to avoid setting PaintLayer needing repaint unnecessarily, especially for CAP during composited scrolling. Besides the original features of CullRect::ApplyTransforms() which is used in cull rect mapping for CompositeAfterPaint, it also implements the following features to be on par with CompositedLayerMapping:: ReComputeInterestRect(): - Considering clips in additional to scroll clips, - Clipping expanded cull rect by scrolling contents rect for composited scroll translations, - Clamping extreme geometry values, - Adaptive expansion distance for composited transforms. The next steps are: 1. Add CullRectUpdater which updates cull rects during PrePaint when runtime feature CullRectUpdate is enabled. 2. Use the updated cull rect to replace interest rect in pre-CAP and cull rect in CAP and pre-CAP, still behind the runtime feature. 3. Enable CullRectUpdate for CAP 4. Enable CullRectUpdate for pre-CAP. 5. Remove old interest rect / cull rect code. Bug: 1046544 Change-Id: I6e7e9f85bc0b4640e67de1732744e647b6f7e230 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2620090Reviewed-by:Philip Rogers <pdr@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#843304}
Showing
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment