[webkit-changes] [WebKit/WebKit] d084df: AX: Move isMatchingPlugin off of the main thread
Joshua Hoffman
noreply at github.com
Wed Nov 15 12:29:17 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d084dfdc80b668ae9b7ae5c185e1f74fd6cfe52e
https://github.com/WebKit/WebKit/commit/d084dfdc80b668ae9b7ae5c185e1f74fd6cfe52e
Author: Joshua Hoffman <jhoffman23 at apple.com>
Date: 2023-11-15 (Wed, 15 Nov 2023)
Changed paths:
A LayoutTests/accessibility/mac/widget-visibility-expected.txt
A LayoutTests/accessibility/mac/widget-visibility.html
M LayoutTests/platform/mac-wk1/TestExpectations
M Source/WebCore/accessibility/AXCoreObject.h
M Source/WebCore/accessibility/AXLogger.cpp
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/AXObjectCache.h
M Source/WebCore/accessibility/AccessibilityObject.h
M Source/WebCore/accessibility/AccessibilityRenderObject.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
M Source/WebCore/rendering/RenderWidget.cpp
Log Message:
-----------
AX: Move isMatchingPlugin off of the main thread
https://bugs.webkit.org/show_bug.cgi?id=264262
rdar://problem/118001876
Reviewed by Tyler Wilcock.
The attribute isMatchingPlugin currently hits the main thread every time it is requested, so in our efforts
to move all properties to the AX thread, we need to address this case. To calculate this on the AX thread,
this patch caches a new property: isPlugin. We also update the cached property of IsVisible via the
AXObject cache as necessary.
The added test confirms that the cached value for isVisible is updated when the widget is shown or
hidden as the style of the embed element changes.
* LayoutTests/accessibility/mac/widget-visibility-expected.txt: Added.
* LayoutTests/accessibility/mac/widget-visibility.html: Added.
* LayoutTests/platform/mac-wk1/TestExpectations:
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
(WebCore::AXObjectCache::onWidgetVisibilityChanged):
* Source/WebCore/accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::onWidgetVisibilityChanged):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeProperties):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperties):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(isMatchingPlugin):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
* Source/WebCore/rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidget):
(WebCore::RenderWidget::styleDidChange):
Canonical link: https://commits.webkit.org/270785@main
More information about the webkit-changes
mailing list