haikuwebkit/LayoutTests/accessibility/listbox-clear-selection-exp...

14 lines
357 B
Plaintext
Raw Permalink Normal View History

AX: [ATK] Attempting to clear selection on ARIA listboxes results in crash https://bugs.webkit.org/show_bug.cgi?id=164331 Reviewed by Chris Fleizach. Source/WebCore: The ATK code is using is<AccessibilityListBox>() to identify native listboxes. But is<AccessibilityListBox>() returns the value of isListBox() which returns true both for AccessibilityListBox instances as well as for AccessibilityObject instances which have an AccessibilityRole value of ListBoxRole. Because only native listboxes should be AccessibilityListBoxes, add isNativeListBox() so that we can distinguish native and ARIA listboxes. Tests: accessibility/aria-listbox-clear-selection-crash.html accessibility/listbox-clear-selection.html * accessibility/AccessibilityListBox.h: * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isNativeListBox): (WebCore::AccessibilityObject::isListBox): Tools: Add AccessibilityUIElement::clearSelectedChildren() to DRT and WKTR. Implement it for ATK. * DumpRenderTree/AccessibilityUIElement.h: * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: (AccessibilityUIElement::clearSelectedChildren): * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (AccessibilityUIElement::clearSelectedChildren): * DumpRenderTree/win/AccessibilityUIElementWin.cpp: (AccessibilityUIElement::clearSelectedChildren): * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::clearSelectedChildren): * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::clearSelectedChildren): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::clearSelectedChildren): LayoutTests: Add tests to verify clearing selection works for native listboxes, and does not crash for ARIA listboxes. These tests are being skipped for the Mac and Win ports which do not yet implement AccessibilityUIElement::clearSelectedChildren(). * accessibility/aria-listbox-clear-selection-crash-expected.txt: Added. * accessibility/aria-listbox-clear-selection-crash.html: Added. * accessibility/listbox-clear-selection-expected.txt: Added. * accessibility/listbox-clear-selection.html: Added. * platform/mac/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/182125@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-04 16:48:12 +00:00
Tests clearing the selection of a multi-select select element.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS listbox.selectedChildrenCount is 0
PASS listbox.selectedChildrenCount is 1
PASS listbox.selectedChildrenCount is 2
PASS listbox.selectedChildrenCount is 0
PASS successfullyParsed is true
TEST COMPLETE