[Webkit-unassigned] [Bug 239499] New: Only AXIsolatedTree::update{Children, Node} once when processing notifications in AXObjectCache::updateIsolatedTree

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 19 08:24:38 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=239499

            Bug ID: 239499
           Summary: Only AXIsolatedTree::update{Children,Node} once when
                    processing notifications in
                    AXObjectCache::updateIsolatedTree
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Accessibility
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: tyler_w at apple.com
                CC: andresg_22 at apple.com,
                    webkit-bug-importer at group.apple.com

Currently, we do try to prevent performing duplicate updates, but we do so only if we have an exact match for a previous notification for any given object:

case AXTextChanged:
case AXValueChanged: {

    bool needsUpdate = appendIfNotContainsMatching(filteredNotifications, notification, [&notification] (const std::pair<RefPtr<AXCoreObject>, AXNotification>& note) {
       return note.second == notification.second && note.first.get() == notification.first.get();
    });

    if (needsUpdate)
        tree->updateNode(*notification.first);


However, multiple notifications trigger AXIsolatedTree::updateNode and children, so we'll still do wasted work in this case. For example, in the above snippet, we'd update the node twice if the same object got both an AXTextChanged and AXValueChanged notification in the same batch.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220419/91d76b90/attachment.htm>


More information about the webkit-unassigned mailing list