[webkit-changes] [WebKit/WebKit] ae20ce: AX: Stop caching 9 isolated object properties unne...

Tyler Wilcock noreply at github.com
Fri Mar 10 10:27:39 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ae20ce99baa2f31dccfe852df3d505f76fa070e8
      https://github.com/WebKit/WebKit/commit/ae20ce99baa2f31dccfe852df3d505f76fa070e8
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2023-03-10 (Fri, 10 Mar 2023)

  Changed paths:
    M Source/WebCore/accessibility/AccessibilityMenuListOption.h
    M Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp
    M Source/WebCore/accessibility/AccessibilityMenuListPopup.h
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.h
    M Source/WebCore/accessibility/AccessibilityObjectInterface.h
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/accessibility/AccessibilityRenderObject.h
    M Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp
    M Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

  Log Message:
  -----------
  AX: Stop caching 9 isolated object properties unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=253612
rdar://problem/106456887

Reviewed by Chris Fleizach.

There are several properties that we currently cache for
AXIsolatedObjects that can be expressed entirely by AXCoreObject
methods. This means that caching them is unncessary if we move their
implementation to AXCoreObject.

Besides the performance and memory improvements from caching less
properties, this also improves correctness, as these properties can no
longer be stale (because they don't exist). For example, prior to this patch,
AXPropertyName::IsInsideLiveRegion could've become stale for re-parented AX objects.

* Source/WebCore/accessibility/AccessibilityMenuListOption.h:
(isType):
* Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::selectedChildren):
* Source/WebCore/accessibility/AccessibilityMenuListPopup.h:
(isType):
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::selectedTabItem):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::contents):
(WebCore::AccessibilityObject::isInsideLiveRegion const): Deleted.
(WebCore::AccessibilityObject::liveRegionAncestor const): Deleted.
* Source/WebCore/accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isMenuListPopup const):
(WebCore::AccessibilityObject::isMenuListOption const):
* Source/WebCore/accessibility/AccessibilityObjectInterface.h:
(WebCore::AXCoreObject::isInsideLiveRegion const):
(WebCore::AXCoreObject::tabChildren):
(WebCore::AXCoreObject::canSetTextRangeAttributes const):
(WebCore::AXCoreObject::canSetExpandedAttribute const):
(WebCore::Accessibility::liveRegionAncestor):
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::canSetExpandedAttribute const): Deleted.
(WebCore::AccessibilityRenderObject::canSetTextRangeAttributes const): Deleted.
(WebCore::AccessibilityRenderObject::tabChildren): Deleted.
* Source/WebCore/accessibility/AccessibilityRenderObject.h:
* Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::attributes const):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::AXIsolatedObject):
(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::linkRelValue const):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

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




More information about the webkit-changes mailing list