• Aaron Leventhal's avatar
    Fix reparenting errors in serializer · aa46d57a
    Aaron Leventhal authored
    Fix cases where AnyDescendantWasReparented() fails to notice a
    reparenting occurrence, because it stops recursing when there is an
    unignored node. This is correct; however, sometimes it thinks
    something is unignored when it's really ignored, because there are two
    places to look for this info -- currently it only looks to see if
    the node was ignored at the end of the previous serialization, but it
    also needs to check if the node has recently become ignored.
    
    In release builds, these illegal reparenting crashes cause a Reset(),
    which is a fail safe, but also indicates there's an inconsistency,
    leads to performance problems and causes virtual buffer resets.
    Cleaning up these types of issues over time will improve stability,
    performance and predictability.
    
    Bug: 1141720,1141916
    Change-Id: I4e1d065df08c2bf642561618b435fc7a987eafc1
    Cq-Do-Not-Cancel-Tryjobs: true
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2504194
    Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
    Reviewed-by: default avatarDominic Mazzoni <dmazzoni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#821908}
    aa46d57a
aria-owns-crash-expected-blink.txt 383 Bytes