[webkit-changes] [WebKit/WebKit] f890a7: AX: AXObjectCache::updateIsolatedTree may cause th...

AndresGonzalezApple noreply at github.com
Tue Jan 16 17:25:40 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f890a7cc18de8d183ebfe5f948686af8d1e31a50
      https://github.com/WebKit/WebKit/commit/f890a7cc18de8d183ebfe5f948686af8d1e31a50
  Author: Andres Gonzalez <andresg_22 at apple.com>
  Date:   2024-01-16 (Tue, 16 Jan 2024)

  Changed paths:
    M Source/WebCore/accessibility/AXObjectCache.cpp

  Log Message:
  -----------
  AX: AXObjectCache::updateIsolatedTree may cause the update of dependent properties for the same object multiple times unnecessarily.
https://bugs.webkit.org/show_bug.cgi?id=267599
<rdar://problem/121065998>

Reviewed by Tyler Wilcock.

AXObjectCache::updateIsolatedTree calls AXIsolatedTree::updateDependentProperties twice unnecessarily in the following scenario:
1. The passed Vector of { object, notification } contains two LabelChanged notifications.
2. There is another notification in between the two label changes that causes an updateNode.
This patch fixes this problem and replaces the struct UpdatedFields that was being used before to prevent duplication of node updates with an OptionSet. This should be somewhat more efficient and less errorprone than the existing implementation.

* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):

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




More information about the webkit-changes mailing list