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

Ensure changed status of all referenced paint properties are cleared

Previously in the following case:
 Transform tree:
   Root
     t1
     t2
 Clip tree:
   Root
     c1 (localTransformSpace=t1)
       c2 (localTransformSpace=t2)
 Paint chunk: (t2, c2, e0)

after a document lifecycle update, t1's changed status was left
not cleared, causing DCHECK failure if the next document update
just needed repaint (which requires no changed status of all
referenced paint properties).

Now when clearing changed status, for clip and effect nodes, also
clear LocalTransformSpace and OutputClip (for effect). To avoid
the cost of repeated walking along the same tree paths, use
cleared_sequence_number_ to indicate which nodes have been cleared.

Bug: 1276097
Change-Id: I59541f6cd6ae3c89352a7278d0519c52379187a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3371548


Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#956796}
parent 654aab5c
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