Reland "Add CullRect::ApplyPaintProperties()"
This reverts commit 91c206e0. Reason for revert: The original CL accidentally removed some RuntimeEnabledFeatures::CompositeAfterPaintEnabled() guard. Fixed in this reland. Original change's description: > Revert "Add CullRect::ApplyPaintProperties()" > > This reverts commit 6f895b07. > > Reason for revert: The reverted CL is supposed not to affect > production, but it seems to cause crbug.com/1166540. > > Original change's description: > > 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/+/2620090 > > Reviewed-by: Philip Rogers <pdr@chromium.org> > > Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#843304} > > TBR=szager@chromium.org,wangxianzhu@chromium.org,pdr@chromium.org,chromium-scoped@luci-project-accounts.iam.gserviceaccount.com > > Change-Id: Idc3374d3d426b9f571e417b1acbbc18227fdf274 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 1046544, 1166540 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2628021 > Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> > Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> > Cr-Commit-Position: refs/heads/master@{#843592} TBR=szager@chromium.org,wangxianzhu@chromium.org,pdr@chromium.org,chromium-scoped@luci-project-accounts.iam.gserviceaccount.com # Not skipping CQ checks because this is a reland. Bug: 1046544 Bug: 1166540 Change-Id: Idb93eed1ab34750cfd1c0903551ba8fd66102354 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2628383Reviewed-by:Philip Rogers <pdr@chromium.org> Reviewed-by:
Xianzhu Wang <wangxianzhu@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#843679}
Showing
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment