Title: [264000] trunk
Revision
264000
Author
[email protected]
Date
2020-07-06 17:09:17 -0700 (Mon, 06 Jul 2020)

Log Message

AX: Implement user action spec for Escape action
https://bugs.webkit.org/show_bug.cgi?id=213875
<rdar://problem/65022980>

Reviewed by Darin Adler.

Source/WebCore:

Implement the Escape action for the user action events.
https://github.com/WICG/aom/blob/gh-pages/explainer.md#user-action-events-from-assistive-technology

Test: accessibility/keyevents-posted-for-dismiss-action.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::performEscape):
(WebCore::AccessibilityNodeObject::dispatchSimulatedKeyboardUpDownEvent):
(WebCore::AccessibilityNodeObject::postKeyboardKeysForValueChange):
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityObjectInterface.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityPerformEscape]):
* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::performEscape):
* accessibility/isolatedtree/AXIsolatedObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):

Tools:

* DumpRenderTree/AccessibilityUIElement.cpp:
(dismissCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::dismiss):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::dismiss):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
(WTR::AccessibilityUIElement::dismiss):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::dismiss):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::dismiss):

LayoutTests:

* accessibility/keyevents-posted-for-dismiss-action-expected.txt: Added.
* accessibility/keyevents-posted-for-dismiss-action.html: Added.
* platform/gtk/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/win/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (263999 => 264000)


--- trunk/LayoutTests/ChangeLog	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/LayoutTests/ChangeLog	2020-07-07 00:09:17 UTC (rev 264000)
@@ -1,3 +1,17 @@
+2020-07-06  Chris Fleizach  <[email protected]>
+
+        AX: Implement user action spec for Escape action
+        https://bugs.webkit.org/show_bug.cgi?id=213875
+        <rdar://problem/65022980>
+
+        Reviewed by Darin Adler.
+
+        * accessibility/keyevents-posted-for-dismiss-action-expected.txt: Added.
+        * accessibility/keyevents-posted-for-dismiss-action.html: Added.
+        * platform/gtk/TestExpectations:
+        * platform/ios-simulator/TestExpectations:
+        * platform/win/TestExpectations:
+
 2020-07-06  Myles C. Maxfield  <[email protected]>
 
         Locale-specific quotes infrastructure needs to compare locale strings properly

Added: trunk/LayoutTests/accessibility/keyevents-posted-for-dismiss-action-expected.txt (0 => 264000)


--- trunk/LayoutTests/accessibility/keyevents-posted-for-dismiss-action-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/keyevents-posted-for-dismiss-action-expected.txt	2020-07-07 00:09:17 UTC (rev 264000)
@@ -0,0 +1,11 @@
+alert
+This test verifies that the dismiss action generates an escape key event.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Keycode received: code: 27 key name: Escape
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/accessibility/keyevents-posted-for-dismiss-action.html (0 => 264000)


--- trunk/LayoutTests/accessibility/keyevents-posted-for-dismiss-action.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/keyevents-posted-for-dismiss-action.html	2020-07-07 00:09:17 UTC (rev 264000)
@@ -0,0 +1,32 @@
+<html>
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+<div id="alert">alert</div>
+
+<p id="description"></p>
+<div id="console"></div>
+     
+<script>
+    function handleKeyDown(event) {
+        debug("Keycode received: code: " + event.keyCode + " key name: " + event.key);
+        event.preventDefault();
+        event.stopPropagation();
+        finishJSTest();
+     }
+
+    if (window.accessibilityController) {
+        jsTestIsAsync = true;
+        description("This test verifies that the dismiss action generates an escape key event.");
+
+        document.getElementById("alert").addEventListener('keydown', handleKeyDown);
+        accessibilityController.accessibleElementById("alert").dismiss();
+    }
+ </script>
+
+<script src=""
+</body>
+</html>

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (263999 => 264000)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2020-07-07 00:09:17 UTC (rev 264000)
@@ -750,6 +750,7 @@
 webkit.org/b/85958 fast/forms/file/file-input-capture.html [ Failure ]
 
 webkit.org/b/146720 media/accessiblity-describes-video.html [ Failure ]
+webkit.org/b/213874 accessibility/keyevents-posted-for-dismiss-action.html [ Skip ]
 
 webkit.org/b/146724 fast/text/word-break-keep-all.html [ ImageOnlyFailure ]
 

Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (263999 => 264000)


--- trunk/LayoutTests/platform/ios-simulator/TestExpectations	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations	2020-07-07 00:09:17 UTC (rev 264000)
@@ -6,6 +6,7 @@
 accessibility/insert-newline.html [ Pass ]
 accessibility/misspelling-range.html [ Pass ]
 accessibility/url-test.html [ Pass ]
+accessibility/keyevents-posted-for-dismiss-action.html [ Pass ]
 css3/font-variant-small-caps-synthesis-coverage.html [ ImageOnlyFailure ]
 fast/multicol/flexbox-rows.html [ Skip ]
 workers/wasm-mem-post-message.html [ Failure ]

Modified: trunk/LayoutTests/platform/win/TestExpectations (263999 => 264000)


--- trunk/LayoutTests/platform/win/TestExpectations	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/LayoutTests/platform/win/TestExpectations	2020-07-07 00:09:17 UTC (rev 264000)
@@ -1384,6 +1384,7 @@
 # increment/decrement not implemented in test runner
 accessibility/keyevents-for-increment-actions-with-node-removal.html [ Skip ]
 accessibility/keyevents-posted-for-increment-actions.html [ Skip ]
+accessibility/keyevents-posted-for-dismiss-action.html [ Skip ]
 
 webkit.org/b/140796 accessibility/alt-tag-on-image-with-nonimage-role.html [ Skip ]
 webkit.org/b/140798 accessibility/aria-controls-with-tabs.html [ Skip ]

Modified: trunk/Source/WebCore/ChangeLog (263999 => 264000)


--- trunk/Source/WebCore/ChangeLog	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Source/WebCore/ChangeLog	2020-07-07 00:09:17 UTC (rev 264000)
@@ -1,3 +1,31 @@
+2020-07-06  Chris Fleizach  <[email protected]>
+
+        AX: Implement user action spec for Escape action
+        https://bugs.webkit.org/show_bug.cgi?id=213875
+        <rdar://problem/65022980>
+
+        Reviewed by Darin Adler.
+
+        Implement the Escape action for the user action events.
+        https://github.com/WICG/aom/blob/gh-pages/explainer.md#user-action-events-from-assistive-technology
+
+        Test: accessibility/keyevents-posted-for-dismiss-action.html
+
+        * accessibility/AccessibilityNodeObject.cpp:
+        (WebCore::AccessibilityNodeObject::performEscape):
+        (WebCore::AccessibilityNodeObject::dispatchSimulatedKeyboardUpDownEvent):
+        (WebCore::AccessibilityNodeObject::postKeyboardKeysForValueChange):
+        * accessibility/AccessibilityNodeObject.h:
+        * accessibility/AccessibilityObject.h:
+        * accessibility/AccessibilityObjectInterface.h:
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper accessibilityPerformEscape]):
+        * accessibility/isolatedtree/AXIsolatedObject.cpp:
+        (WebCore::AXIsolatedObject::performEscape):
+        * accessibility/isolatedtree/AXIsolatedObject.h:
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):
+
 2020-07-06  James Darpinian  <[email protected]>
 
         Fix transform feedback tests

Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (263999 => 264000)


--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp	2020-07-07 00:09:17 UTC (rev 264000)
@@ -1095,13 +1095,40 @@
     alterSliderValue(false);
 }
 
-// Fire a keyboard event if we were not able to set this value natively.
-void AccessibilityNodeObject::postKeyboardKeysForValueChange(bool increase)
+static bool dispatchSimulatedKeyboardUpDownEvent(AccessibilityObject* object, const KeyboardEvent::Init& keyInit)
 {
     // In case the keyboard event causes this element to be removed.
-    Ref<AccessibilityObject> protectedThis(*this);
+    Ref<AccessibilityObject> protectedObject(*object);
+    
+    bool handled = false;
+    if (auto* node = object->node()) {
+        auto event = KeyboardEvent::create(eventNames().keydownEvent, keyInit);
+        node->dispatchEvent(event);
+        handled |= event->defaultHandled();
+    }
+    
+    // Ensure node is still valid and wasn't removed after the keydown.
+    if (auto* node = object->node()) {
+        auto event = KeyboardEvent::create(eventNames().keyupEvent, keyInit);
+        node->dispatchEvent(event);
+        handled |= event->defaultHandled();
+    }
+    return handled;
+}
 
+bool AccessibilityNodeObject::performDismissAction()
+{
     auto keyInit = KeyboardEvent::Init();
+    keyInit.key = "Escape"_s;
+    keyInit.keyCode = 0x1b;
+    
+    return dispatchSimulatedKeyboardUpDownEvent(this, keyInit);
+}
+
+// Fire a keyboard event if we were not able to set this value natively.
+bool AccessibilityNodeObject::postKeyboardKeysForValueChange(bool increase)
+{
+    auto keyInit = KeyboardEvent::Init();
     bool vertical = orientation() == AccessibilityOrientation::Vertical;
     bool isLTR = page()->userInterfaceLayoutDirection() == UserInterfaceLayoutDirection::LTR;
     
@@ -1108,12 +1135,7 @@
     keyInit.key = increase ? vertical ? "ArrowUp"_s : isLTR ? "ArrowRight"_s : "ArrowLeft"_s : vertical ? "ArrowDown"_s : isLTR ? "ArrowLeft"_s : "ArrowRight"_s;
     keyInit.keyIdentifier = increase ? vertical ? "up"_s : isLTR ? "right"_s : "left"_s : vertical ? "down"_s : isLTR ? "left"_s : "right"_s;
 
-    if (auto* node = this->node())
-        node->dispatchEvent(KeyboardEvent::create(eventNames().keydownEvent, keyInit));
-
-    // Ensure node is still valid and wasn't removed after the keydown.
-    if (auto* node = this->node())
-        node->dispatchEvent(KeyboardEvent::create(eventNames().keyupEvent, keyInit));
+    return dispatchSimulatedKeyboardUpDownEvent(this, keyInit);
 }
 
 void AccessibilityNodeObject::setNodeValue(bool increase, float value)

Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.h (263999 => 264000)


--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.h	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.h	2020-07-07 00:09:17 UTC (rev 264000)
@@ -189,8 +189,10 @@
     bool computeAccessibilityIsIgnored() const override;
     bool usesAltTagForTextComputation() const;
     bool roleIgnoresTitle() const;
-    void postKeyboardKeysForValueChange(bool increase);
+    bool postKeyboardKeysForValueChange(bool increase);
     void setNodeValue(bool increase, float value);
+    bool performDismissAction() final;
+    
     Node* m_node;
 };
 

Modified: trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h (263999 => 264000)


--- trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h	2020-07-07 00:09:17 UTC (rev 264000)
@@ -907,7 +907,8 @@
     virtual void makeRangeVisible(const PlainTextRange&) = 0;
     virtual bool press() = 0;
     virtual bool performDefaultAction() = 0;
-
+    virtual bool performDismissAction() { return false; }
+    
     virtual AccessibilityOrientation orientation() const = 0;
     virtual void increment() = 0;
     virtual void decrement() = 0;

Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (263999 => 264000)


--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2020-07-07 00:09:17 UTC (rev 264000)
@@ -1827,6 +1827,13 @@
     return nil;
 }
 
+- (BOOL)accessibilityPerformEscape
+{
+    if (![self _prepareAccessibilityCall])
+        return NO;
+    return self.axBackingObject->performDismissAction();
+}
+
 - (BOOL)_accessibilityActivate
 {
     if (![self _prepareAccessibilityCall])

Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp (263999 => 264000)


--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2020-07-07 00:09:17 UTC (rev 264000)
@@ -630,6 +630,15 @@
     });
 }
 
+bool AXIsolatedObject::performDismissAction()
+{
+    return Accessibility::retrieveValueFromMainThread<bool>([this] () -> bool {
+        if (auto* axObject = associatedAXObject())
+            return axObject->performDismissAction();
+        return false;
+    });
+}
+
 bool AXIsolatedObject::setValue(float value)
 {
     return Accessibility::retrieveValueFromMainThread<bool>([&value, this] () -> bool {

Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h (263999 => 264000)


--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h	2020-07-07 00:09:17 UTC (rev 264000)
@@ -721,6 +721,7 @@
     FloatRect convertFrameToSpace(const FloatRect&, AccessibilityConversionSpace) const override { return FloatRect(); }
     void increment() override { }
     void decrement() override { }
+    bool performDismissAction() override;
     void scrollToMakeVisible() const override { }
     void scrollToMakeVisibleWithSubFocus(const IntRect&) const override { }
     void scrollToGlobalPoint(const IntPoint&) const override { }

Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (263999 => 264000)


--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2020-07-07 00:09:17 UTC (rev 264000)
@@ -3470,6 +3470,8 @@
         [self accessibilityPerformDecrementAction];
     else if ([action isEqualToString:NSAccessibilityScrollToVisibleAction])
         [self accessibilityScrollToVisible];
+    else if ([action isEqualToString:@"AXDismissAction"])
+        backingObject->performDismissAction();
 }
 
 - (BOOL)accessibilityReplaceRange:(NSRange)range withText:(NSString *)string

Modified: trunk/Tools/ChangeLog (263999 => 264000)


--- trunk/Tools/ChangeLog	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/ChangeLog	2020-07-07 00:09:17 UTC (rev 264000)
@@ -1,3 +1,29 @@
+2020-07-06  Chris Fleizach  <[email protected]>
+
+        AX: Implement user action spec for Escape action
+        https://bugs.webkit.org/show_bug.cgi?id=213875
+        <rdar://problem/65022980>
+
+        Reviewed by Darin Adler.
+
+        * DumpRenderTree/AccessibilityUIElement.cpp:
+        (dismissCallback):
+        (AccessibilityUIElement::getJSClass):
+        * DumpRenderTree/AccessibilityUIElement.h:
+        * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
+        (AccessibilityUIElement::dismiss):
+        * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+        (AccessibilityUIElement::dismiss):
+        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
+        (WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
+        (WTR::AccessibilityUIElement::dismiss):
+        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
+        * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
+        * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
+        (WTR::AccessibilityUIElement::dismiss):
+        * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
+        (WTR::AccessibilityUIElement::dismiss):
+
 2020-07-06  Jonathan Bedard  <[email protected]>
 
         [test-webkitpy] Use platform architecture

Modified: trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp (263999 => 264000)


--- trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp	2020-07-07 00:09:17 UTC (rev 264000)
@@ -727,6 +727,12 @@
     return JSValueMakeUndefined(context);
 }
 
+static JSValueRef dismissCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    toAXElement(thisObject)->dismiss();
+    return JSValueMakeUndefined(context);
+}
+
 static JSValueRef scrollToMakeVisibleWithSubFocusCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
 {
     unsigned x = 0;
@@ -1978,6 +1984,7 @@
         { "decrement", decrementCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "showMenu", showMenuCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "press", pressCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "dismiss", dismissCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "disclosedRowAtIndex", disclosedRowAtIndexCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "ariaOwnsElementAtIndex", ariaOwnsElementAtIndexCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "ariaFlowToElementAtIndex", ariaFlowToElementAtIndexCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },

Modified: trunk/Tools/DumpRenderTree/AccessibilityUIElement.h (263999 => 264000)


--- trunk/Tools/DumpRenderTree/AccessibilityUIElement.h	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/DumpRenderTree/AccessibilityUIElement.h	2020-07-07 00:09:17 UTC (rev 264000)
@@ -97,6 +97,7 @@
     void decrement();
     void showMenu();
     void press();
+    void dismiss();
 
     // Attributes - platform-independent implementations
     JSRetainPtr<JSStringRef> stringAttributeValue(JSStringRef attribute);

Modified: trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm (263999 => 264000)


--- trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm	2020-07-07 00:09:17 UTC (rev 264000)
@@ -91,6 +91,7 @@
 - (NSString *)accessibilityTextualContext;
 - (BOOL)accessibilityHasPopup;
 - (NSString *)accessibilityPopupValue;
+- (BOOL)accessibilityPerformEscape;
 
 // TextMarker related
 - (NSArray *)textMarkerRange;
@@ -329,6 +330,11 @@
     return 0;
 }
 
+void AccessibilityUIElement::dismiss()
+{
+    [m_element accessibilityPerformEscape];
+}
+
 AccessibilityUIElement AccessibilityUIElement::parentElement()
 {
     id accessibilityObject = [m_element accessibilityContainer];

Modified: trunk/Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm (263999 => 264000)


--- trunk/Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm	2020-07-07 00:09:17 UTC (rev 264000)
@@ -1374,6 +1374,13 @@
     END_AX_OBJC_EXCEPTIONS
 }
 
+void AccessibilityUIElement::dismiss()
+{
+    BEGIN_AX_OBJC_EXCEPTIONS
+    [m_element accessibilityPerformAction:@"AXDismissAction"];
+    END_AX_OBJC_EXCEPTIONS
+}
+
 void AccessibilityUIElement::increment()
 {
     BEGIN_AX_OBJC_EXCEPTIONS

Modified: trunk/Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp (263999 => 264000)


--- trunk/Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp	2020-07-07 00:09:17 UTC (rev 264000)
@@ -749,6 +749,10 @@
     m_element->accDoDefaultAction(self());
 }
 
+void AccessibilityUIElement::dismiss()
+{
+}
+
 AccessibilityUIElement AccessibilityUIElement::disclosedRowAtIndex(unsigned index)
 {
     return { nullptr };

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp (263999 => 264000)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp	2020-07-07 00:09:17 UTC (rev 264000)
@@ -77,7 +77,6 @@
 bool AccessibilityUIElement::isSearchField() const { return false; }
 bool AccessibilityUIElement::isTextArea() const { return false; }
 RefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers(JSStringRef, AccessibilityTextMarker*, AccessibilityTextMarker*) { return nullptr; }
-bool AccessibilityUIElement::dismiss() { return false; }
 JSRetainPtr<JSStringRef> AccessibilityUIElement::attributedStringForElement() { return nullptr; }
 bool AccessibilityUIElement::isInTableCell() const { return false; }
 #endif
@@ -110,6 +109,7 @@
 RefPtr<AccessibilityTextMarker> AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker(AccessibilityTextMarker*) { return nullptr; }
 RefPtr<AccessibilityTextMarker> AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker(AccessibilityTextMarker*) { return nullptr; }
 RefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::misspellingTextMarkerRange(AccessibilityTextMarkerRange*, bool) { return nullptr; }
+void AccessibilityUIElement::dismiss() { }
 #endif
 
 } // namespace WTR

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h (263999 => 264000)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h	2020-07-07 00:09:17 UTC (rev 264000)
@@ -103,7 +103,7 @@
     void decrement();
     void showMenu();
     void press();
-    bool dismiss();
+    void dismiss();
 #if PLATFORM(MAC)
     void syncPress();
     void asyncIncrement();

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl (263999 => 264000)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl	2020-07-07 00:09:17 UTC (rev 264000)
@@ -125,7 +125,7 @@
     void press();
     void syncPress();
     void showMenu();
-    boolean dismiss();
+    void dismiss();
 
     // Attribute info.
     DOMString allAttributes();

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm (263999 => 264000)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm	2020-07-07 00:09:17 UTC (rev 264000)
@@ -872,9 +872,9 @@
     [m_element _accessibilityActivate];
 }
     
-bool AccessibilityUIElement::dismiss()
+void AccessibilityUIElement::dismiss()
 {
-    return [m_element accessibilityPerformEscape];
+    [m_element accessibilityPerformEscape];
 }
 
 void AccessibilityUIElement::setSelectedChild(AccessibilityUIElement* element) const

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm (263999 => 264000)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm	2020-07-07 00:01:51 UTC (rev 263999)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm	2020-07-07 00:09:17 UTC (rev 264000)
@@ -1432,6 +1432,13 @@
     return true;
 }
 
+void AccessibilityUIElement::dismiss()
+{
+    BEGIN_AX_OBJC_EXCEPTIONS
+    [m_element accessibilityPerformAction:@"AXDismissAction"];
+    END_AX_OBJC_EXCEPTIONS
+}
+
 bool AccessibilityUIElement::setSelectedVisibleTextRange(AccessibilityTextMarkerRange* markerRange)
 {
     setAttributeValue(m_element.get(), NSAccessibilitySelectedTextMarkerRangeAttribute, markerRange->platformTextMarkerRange());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to