Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 226ab951753332583cb5104079fffbb5dd160aae
https://github.com/WebKit/WebKit/commit/226ab951753332583cb5104079fffbb5dd160aae
Author: Tyler Wilcock <[email protected]>
Date: 2024-11-27 (Wed, 27 Nov 2024)
Changed paths:
M Source/WebCore/accessibility/AXImage.h
M Source/WebCore/accessibility/AXRemoteFrame.h
M Source/WebCore/accessibility/AccessibilityARIAGridCell.h
M Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp
M Source/WebCore/accessibility/AccessibilityARIAGridRow.h
M Source/WebCore/accessibility/AccessibilityAttachment.h
M Source/WebCore/accessibility/AccessibilityImageMapLink.h
M Source/WebCore/accessibility/AccessibilityListBox.h
M Source/WebCore/accessibility/AccessibilityListBoxOption.cpp
M Source/WebCore/accessibility/AccessibilityListBoxOption.h
M Source/WebCore/accessibility/AccessibilityMathMLElement.cpp
M Source/WebCore/accessibility/AccessibilityMathMLElement.h
M Source/WebCore/accessibility/AccessibilityMediaObject.h
M Source/WebCore/accessibility/AccessibilityMenuList.cpp
M Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp
M Source/WebCore/accessibility/AccessibilityMenuListPopup.h
M Source/WebCore/accessibility/AccessibilityMockObject.h
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/AccessibilityNodeObject.h
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.h
M Source/WebCore/accessibility/AccessibilityProgressIndicator.h
M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
M Source/WebCore/accessibility/AccessibilityRenderObject.h
M Source/WebCore/accessibility/AccessibilitySVGObject.h
M Source/WebCore/accessibility/AccessibilitySVGRoot.h
M Source/WebCore/accessibility/AccessibilityScrollView.cpp
M Source/WebCore/accessibility/AccessibilityScrollView.h
M Source/WebCore/accessibility/AccessibilityScrollbar.h
M Source/WebCore/accessibility/AccessibilitySlider.cpp
M Source/WebCore/accessibility/AccessibilitySlider.h
M Source/WebCore/accessibility/AccessibilitySpinButton.cpp
M Source/WebCore/accessibility/AccessibilitySpinButton.h
M Source/WebCore/accessibility/AccessibilitySpinButtonPart.h
M Source/WebCore/accessibility/AccessibilityTable.cpp
M Source/WebCore/accessibility/AccessibilityTable.h
M Source/WebCore/accessibility/AccessibilityTableCell.cpp
M Source/WebCore/accessibility/AccessibilityTableCell.h
M Source/WebCore/accessibility/AccessibilityTableColumn.cpp
M Source/WebCore/accessibility/AccessibilityTableColumn.h
M Source/WebCore/accessibility/AccessibilityTableHeaderContainer.cpp
M Source/WebCore/accessibility/AccessibilityTableHeaderContainer.h
M Source/WebCore/accessibility/AccessibilityTableRow.cpp
M Source/WebCore/accessibility/AccessibilityTableRow.h
M Source/WebCore/accessibility/AccessibilityTree.h
M Source/WebCore/accessibility/AccessibilityTreeItem.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
Log Message:
-----------
AX: Improve de-virtualization opportunities by ubiquitously using final and
strengthening types from AXCoreObject to AccessibilityObject
https://bugs.webkit.org/show_bug.cgi?id=283685
rdar://140554675
Reviewed by Chris Fleizach.
Add final everywhere we can in accessibility, and strengthen types from
AXCoreObject to AccessibilityObject, giving the
compiler the ability to de-virtualize more function calls.
Strengthening the types also makes our code more logical. An
AccessibilityObject function that returns an AXCoreObject*
implicitly means it could return either an AccessibilityObject, or an
AXIsolatedObject. Returning the latter would be
a major issue. By strengthening the types, this becomes impossible.
This patch also adds an overload of `addChildren` that takes an
`AccessibilityObject&` to allow us to skip a null check
in contexts where we've already done a null check (which is most of them).
* Source/WebCore/accessibility/AXImage.h:
* Source/WebCore/accessibility/AXRemoteFrame.h:
* Source/WebCore/accessibility/AccessibilityARIAGridCell.h:
* Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::disclosedByRow const):
(WebCore::AccessibilityARIAGridRow::rowHeader):
* Source/WebCore/accessibility/AccessibilityARIAGridRow.h:
* Source/WebCore/accessibility/AccessibilityAttachment.h:
* Source/WebCore/accessibility/AccessibilityImageMapLink.h:
* Source/WebCore/accessibility/AccessibilityListBox.h:
* Source/WebCore/accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::node const): Deleted.
* Source/WebCore/accessibility/AccessibilityListBoxOption.h:
* Source/WebCore/accessibility/AccessibilityMathMLElement.cpp:
(WebCore::AccessibilityMathMLElement::addChildren):
(WebCore::AccessibilityMathMLElement::isMathScriptObject const):
(WebCore::AccessibilityMathMLElement::isMathMultiscriptObject const):
* Source/WebCore/accessibility/AccessibilityMathMLElement.h:
* Source/WebCore/accessibility/AccessibilityMediaObject.h:
* Source/WebCore/accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::AccessibilityMenuList):
* Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::addChildren):
* Source/WebCore/accessibility/AccessibilityMenuListPopup.h:
* Source/WebCore/accessibility/AccessibilityMockObject.h:
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::updateOwnedChildren):
(WebCore::AccessibilityNodeObject::internalLinkElement const):
(WebCore::AccessibilityNodeObject::isHovered const): Deleted.
* Source/WebCore/accessibility/AccessibilityNodeObject.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::insertChild):
(WebCore::AccessibilityObject::addChild): Deleted.
* Source/WebCore/accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::insertChild):
(WebCore::AccessibilityObject::addChild):
(WebCore::AccessibilityObject::isHovered const): Deleted.
* Source/WebCore/accessibility/AccessibilityProgressIndicator.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::titleUIElement const):
(WebCore::AccessibilityRenderObject::computeIsIgnored const):
(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
(WebCore::AccessibilityRenderObject::addRemoteSVGChildren):
(WebCore::AccessibilityRenderObject::addNodeOnlyChildren):
(WebCore::AccessibilityRenderObject::addChildren):
(WebCore::AccessibilityRenderObject::node const): Deleted.
* Source/WebCore/accessibility/AccessibilityRenderObject.h:
* Source/WebCore/accessibility/AccessibilitySVGObject.h:
* Source/WebCore/accessibility/AccessibilitySVGRoot.h:
* Source/WebCore/accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::addChildScrollbar):
(WebCore::AccessibilityScrollView::addRemoteFrameChild):
* Source/WebCore/accessibility/AccessibilityScrollView.h:
* Source/WebCore/accessibility/AccessibilityScrollbar.h:
* Source/WebCore/accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::addChildren):
* Source/WebCore/accessibility/AccessibilitySlider.h:
* Source/WebCore/accessibility/AccessibilitySpinButton.cpp:
(WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
(WebCore::AccessibilitySpinButton::incrementButton):
(WebCore::AccessibilitySpinButton::decrementButton):
* Source/WebCore/accessibility/AccessibilitySpinButton.h:
* Source/WebCore/accessibility/AccessibilitySpinButtonPart.h:
(isType):
* Source/WebCore/accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::computeCellSlots):
(WebCore::AccessibilityTable::headerContainer):
* Source/WebCore/accessibility/AccessibilityTable.h:
* Source/WebCore/accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::parentRow const):
(WebCore::AccessibilityTableCell::ariaOwnedByParent const): Deleted.
* Source/WebCore/accessibility/AccessibilityTableCell.h:
* Source/WebCore/accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::columnHeader):
(WebCore::AccessibilityTableColumn::addChildren):
* Source/WebCore/accessibility/AccessibilityTableColumn.h:
* Source/WebCore/accessibility/AccessibilityTableHeaderContainer.cpp:
(WebCore::AccessibilityTableHeaderContainer::addChildren):
* Source/WebCore/accessibility/AccessibilityTableHeaderContainer.h:
* Source/WebCore/accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::rowHeader):
(WebCore::AccessibilityTableRow::addChildren):
* Source/WebCore/accessibility/AccessibilityTableRow.h:
* Source/WebCore/accessibility/AccessibilityTree.h:
* Source/WebCore/accessibility/AccessibilityTreeItem.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
Canonical link: https://commits.webkit.org/287130@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes