Skip to content
Commit 043fe30b authored by Xianzhu Wang's avatar Xianzhu Wang Committed by Chromium LUCI CQ
Browse files

[IntersectionOptimization] Use cached rects on scroll only and bug fixes

This may be the last effort for IntersectionOptimization.

Now IntersectionOptimizatio uses the following cached rect
invalidation method:
- If the change is not scroll and visibility only, don't use cached
  rects; This avoids the complexity and under-invalidation issues
  for the cached rects.
- If the change is scroll and visibility only, use the cached rects
  if there are no intermediate clippers.

Bug fixes:
- No-change transform update was treated as a non-scroll-only change
  (fixed in OnUpdateTransform in paint_property_tree_builder.cc);
- Scrollbar paint invalidations were treated as non-scroll-only
  changes (now check for paint invalidation reason on the
  DisplayItemClient instead of NeedsCheckLayoutForPaintInvalidation).

Bug: 40883761
Change-Id: Ic821c7d02420cf863d11ab1acd7a70180cf78a7f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5400423


Reviewed-by: default avatarStefan Zager <szager@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1280241}
parent ce444862
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment