[webkit-changes] [WebKit/WebKit] d72913: AX: AccessibilityNodeObject never resets m_childre...

Tyler Wilcock noreply at github.com
Sat Sep 17 20:01:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d7291370c5dfcf0aed4818c07d1836ed55e0a336
      https://github.com/WebKit/WebKit/commit/d7291370c5dfcf0aed4818c07d1836ed55e0a336
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2022-09-17 (Sat, 17 Sep 2022)

  Changed paths:
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
    M Source/WebCore/accessibility/AccessibilityNodeObject.h
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/accessibility/AccessibilityRenderObject.h

  Log Message:
  -----------
  AX: AccessibilityNodeObject never resets m_childrenDirty to false
https://bugs.webkit.org/show_bug.cgi?id=245322
rdar://problem/100073372

Reviewed by Chris Fleizach.

In https://bugs.webkit.org/show_bug.cgi?id=245212, we moved these
methods from AccessibilityRenderObject to AccessibilityNodeObject:

  - updateChildrenIfNecessary
  - setNeedsToUpdateChildren
  - needsToUpdateChildren
  - setNeedsToUpdateSubtree

But crucially, we did not move the implementation of clearChildren,
which is what resets m_childrenDirty to false when necessary, causing a
performance issue (not a correctness issue) for these objects.

* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::clearChildren):
* Source/WebCore/accessibility/AccessibilityNodeObject.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::clearChildren): Deleted.
* Source/WebCore/accessibility/AccessibilityRenderObject.h:

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




More information about the webkit-changes mailing list