Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d084dfdc80b668ae9b7ae5c185e1f74fd6cfe52e
      
https://github.com/WebKit/WebKit/commit/d084dfdc80b668ae9b7ae5c185e1f74fd6cfe52e
  Author: Joshua Hoffman <jhoffma...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to