RESOLVED FIXED 239499
Only AXIsolatedTree::update{Children,Node} once when processing notifications in AXObjectCache::updateIsolatedTree
https://bugs.webkit.org/show_bug.cgi?id=239499
Summary Only AXIsolatedTree::update{Children,Node} once when processing notifications...
Tyler Wilcock
Reported 2022-04-19 08:24:38 PDT
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.
Attachments
Patch (4.83 KB, patch)
2022-04-19 08:32 PDT, Tyler Wilcock
no flags
Patch (4.83 KB, patch)
2022-04-19 09:06 PDT, Tyler Wilcock
no flags
Radar WebKit Bug Importer
Comment 1 2022-04-19 08:24:47 PDT
Tyler Wilcock
Comment 2 2022-04-19 08:32:22 PDT
Tyler Wilcock
Comment 3 2022-04-19 09:06:42 PDT
EWS
Comment 4 2022-04-21 13:52:51 PDT
Committed r293186 (249862@main): <https://commits.webkit.org/249862@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 457903 [details].
Note You need to log in before you can comment on or make changes to this bug.