AX: Update isolated tree in response to AXReadOnlyStatusChanged, AXRequiredStatusChanged, and AXPressedStateChanged notifications
https://bugs.webkit.org/show_bug.cgi?id=239047
Reviewed by Chris Fleizach.
Source/WebCore:
When these notifications come in for a live object, we need to update the
cached properties of the corresponding isolated object.
Tests: accessibility/aria-readonly-updates-after-dynamic-change.html,
accessibility/aria-required-updates-after-dynamic-change.html,
accessibility/mac/aria-pressed-button-attributes.html
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper accessibilityIsRequired]):
Added both of these methods so the tests added in this patch can run on iOS.
* accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
Handle updates to AXPropertyName::IsRequired, AXPropertyName::CanSetValueAttribute,
and AXPropertyName::ReadOnlyValue.
Tools:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::isAttributeSettable):
(AccessibilityUIElement::isRequired const):
Added both of these methods so that the tests added with this patch can run on iOS.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::isRequired const):
Added both of these methods so that the tests added with this patch can run on iOS.
LayoutTests:
* accessibility/aria-readonly-updates-after-dynamic-change-expected.txt: Added.
* accessibility/aria-readonly-updates-after-dynamic-change.html: Added.
* accessibility/aria-required-updates-after-dynamic-change-expected.txt: Added.
* accessibility/aria-required-updates-after-dynamic-change.html: Added.
* accessibility/mac/aria-pressed-button-attributes-expected.txt:
* accessibility/mac/aria-pressed-button-attributes.html:
Add testcases that dynamically change aria-pressed and expect the
right attributes.
* platform/ios/TestExpectations: Enable new tests.
* platform/win/TestExpectations: Skip new tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@292763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
16 files changed: