• Dominic Mazzoni's avatar
    Invalidate client subtrees in AXTreeSerializer · 7b4f9813
    Dominic Mazzoni authored
    In two recent changes, we added some calls to
    AXTreeSerializer::DeleteClientSubtree. This is often a great way to
    ensure that portions of the tree are re-serialized.
    
    However, what can happen is that there can be reparenting within a subtree,
    and the client doesn't clear out the subtree first before unserializing it,
    leading to an unserialization error.
    
    This change introduces the concept of invalidating a subtree
    instead of deleting it. That ensures the correct nodes are
    re-serialized, while also allowing the code that checks for
    reparenting.
    
    Includes a regression test.
    
    Bug: 866293
    Change-Id: I257f1a0360d73d2f42dff56fe84a52034941a63b
    Reviewed-on: https://chromium-review.googlesource.com/1152180
    Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
    Reviewed-by: default avatarDavid Tseng <dtseng@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#580703}
    7b4f9813
reparent-crash-expected-blink.txt 126 Bytes