Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5bc669a03a79ddd5cf785f2b4308d43a2f76e94b
      
https://github.com/WebKit/WebKit/commit/5bc669a03a79ddd5cf785f2b4308d43a2f76e94b
  Author: Joshua Hoffman <[email protected]>
  Date:   2025-02-21 (Fri, 21 Feb 2025)

  Changed paths:
    M LayoutTests/accessibility/accessibility-object-detached-expected.txt
    M LayoutTests/accessibility/accessibility-object-detached.html
    M LayoutTests/accessibility/canvas-fallback-content-expected.txt
    M LayoutTests/accessibility/canvas-fallback-content.html
    M 
LayoutTests/accessibility/datetime/input-date-field-labels-and-value-changes-expected.txt
    M 
LayoutTests/accessibility/datetime/input-date-field-labels-and-value-changes.html
    M LayoutTests/accessibility/mac/element-is-ignored-expected.txt
    M LayoutTests/accessibility/mac/element-is-ignored.html
    M LayoutTests/accessibility/mac/focus-moves-cursor-expected.txt
    M LayoutTests/accessibility/mac/focus-moves-cursor.html
    M LayoutTests/accessibility/mac/slider-thumb-value-crash-expected.txt
    M LayoutTests/accessibility/mac/slider-thumb-value-crash.html
    M LayoutTests/accessibility/mac/stale-textmarker-crash.html
    M LayoutTests/accessibility/mac/textmarker-routines-expected.txt
    M LayoutTests/accessibility/mac/textmarker-routines.html
    M LayoutTests/accessibility/title-ui-element-correctness.html
    M 
LayoutTests/platform/mac/accessibility/canvas-fallback-content-expected.txt
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
    M Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm

  Log Message:
  -----------
  AX: Defer isolated tree node removals so they are batched with other queued 
node updates
https://bugs.webkit.org/show_bug.cgi?id=288001
rdar://145164516

Reviewed by Tyler Wilcock.

In 271907@main, we added a new mechanism to de-duplicate node changes by 
batching them and
processing them in batches off of a timer. This included most types of changes, 
but did not
include node removals. This means that nodes could possibly be removed before 
other types
of updates happen, causing the tree to be temporarily out of sync.

To fix this, let's start to queue node changes as well in `queueNodeRemoval`. 
This changes
handles that and updates `removeNode` to work off of AXIDs instead of object 
references
which it has before.

Many layout tests were updated to be asynchronous, or to be made more 
asynchronous, due to
behavior this change exposed.

* LayoutTests/accessibility/accessibility-object-detached-expected.txt:
* LayoutTests/accessibility/accessibility-object-detached.html:
* LayoutTests/accessibility/canvas-fallback-content-expected.txt:
* LayoutTests/accessibility/canvas-fallback-content.html:
* 
LayoutTests/accessibility/datetime/input-date-field-labels-and-value-changes.html:
* LayoutTests/accessibility/mac/element-is-ignored-expected.txt:
* LayoutTests/accessibility/mac/element-is-ignored.html:
* LayoutTests/accessibility/mac/focus-moves-cursor-expected.txt:
* LayoutTests/accessibility/mac/focus-moves-cursor.html:
* LayoutTests/accessibility/mac/slider-thumb-value-crash-expected.txt:
* LayoutTests/accessibility/mac/slider-thumb-value-crash.html:
* LayoutTests/accessibility/mac/stale-textmarker-crash.html:
* LayoutTests/accessibility/mac/textmarker-routines-expected.txt:
* LayoutTests/accessibility/mac/textmarker-routines.html:
* LayoutTests/accessibility/title-ui-element-correctness.html:
* LayoutTests/platform/mac/accessibility/canvas-fallback-content-expected.txt:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::remove):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::removeNode):
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
(WebCore::AXIsolatedTree::queueNodeRemoval):
(WebCore::AXIsolatedTree::processQueuedNodeUpdates):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:

Canonical link: https://commits.webkit.org/290812@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to