Title: [260203] trunk
Revision
260203
Author
cfleiz...@apple.com
Date
2020-04-16 11:37:27 -0700 (Thu, 16 Apr 2020)

Log Message

AX: Need method for setting selected range from NSRange
https://bugs.webkit.org/show_bug.cgi?id=210593

Reviewed by Darin Adler.

Source/WebCore:

Allow setSelection to work outside of text controls.

Test: accessibility/ios-simulator/non-textcontrol-set-selection.html

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilitySetSelectedTextRange:]):

LayoutTests:

* accessibility/ios-simulator/non-textcontrol-set-selection-expected.txt: Added.
* accessibility/ios-simulator/non-textcontrol-set-selection.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (260202 => 260203)


--- trunk/LayoutTests/ChangeLog	2020-04-16 18:30:30 UTC (rev 260202)
+++ trunk/LayoutTests/ChangeLog	2020-04-16 18:37:27 UTC (rev 260203)
@@ -1,3 +1,13 @@
+2020-04-16  Chris Fleizach  <cfleiz...@apple.com>
+
+        AX: Need method for setting selected range from NSRange
+        https://bugs.webkit.org/show_bug.cgi?id=210593
+
+        Reviewed by Darin Adler.
+
+        * accessibility/ios-simulator/non-textcontrol-set-selection-expected.txt: Added.
+        * accessibility/ios-simulator/non-textcontrol-set-selection.html: Added.
+
 2020-04-16  Zalan Bujtas  <za...@apple.com>
 
         Crash in IndefiniteSizeStrategy::recomputeUsedFlexFractionIfNeeded when min-size can not be resolved

Added: trunk/LayoutTests/accessibility/ios-simulator/non-textcontrol-set-selection-expected.txt (0 => 260203)


--- trunk/LayoutTests/accessibility/ios-simulator/non-textcontrol-set-selection-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/non-textcontrol-set-selection-expected.txt	2020-04-16 18:37:27 UTC (rev 260203)
@@ -0,0 +1,10 @@
+This test verifies we can set the selected text range on a non text control.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.getSelection().toString() became 'line 1'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+line 1 line 2 line 3

Added: trunk/LayoutTests/accessibility/ios-simulator/non-textcontrol-set-selection.html (0 => 260203)


--- trunk/LayoutTests/accessibility/ios-simulator/non-textcontrol-set-selection.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/non-textcontrol-set-selection.html	2020-04-16 18:37:27 UTC (rev 260203)
@@ -0,0 +1,24 @@
+<html>
+<script src=""
+<body>
+    
+<div id="result">
+line 1
+line 2
+line 3
+</div>
+    
+<script>
+    description("This test verifies we can set the selected text range on a non text control.");
+    if (window.accessibilityController) {
+        window.jsTestIsAsync = true;
+
+        var div = accessibilityController.accessibleElementById("result");
+        div.setSelectedTextRange(0,6);
+        
+        shouldBecomeEqual("window.getSelection().toString()", "'line 1'", finishJSTest);
+    }
+</script>
+<script src=""
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (260202 => 260203)


--- trunk/Source/WebCore/ChangeLog	2020-04-16 18:30:30 UTC (rev 260202)
+++ trunk/Source/WebCore/ChangeLog	2020-04-16 18:37:27 UTC (rev 260203)
@@ -1,3 +1,17 @@
+2020-04-16  Chris Fleizach  <cfleiz...@apple.com>
+
+        AX: Need method for setting selected range from NSRange
+        https://bugs.webkit.org/show_bug.cgi?id=210593
+
+        Reviewed by Darin Adler.
+
+        Allow setSelection to work outside of text controls.
+
+        Test: accessibility/ios-simulator/non-textcontrol-set-selection.html
+
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper _accessibilitySetSelectedTextRange:]):
+
 2020-04-16  Jer Noble  <jer.no...@apple.com>
 
         [macOS] Update ScreenTime as playback state changes

Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (260202 => 260203)


--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2020-04-16 18:30:30 UTC (rev 260202)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2020-04-16 18:37:27 UTC (rev 260203)
@@ -2553,7 +2553,7 @@
 
 - (void)_accessibilitySetSelectedTextRange:(NSRange)range
 {
-    if (![self _prepareAccessibilityCall] || !self.axBackingObject->isTextControl())
+    if (![self _prepareAccessibilityCall])
         return;
     
     self.axBackingObject->setSelectedTextRange(PlainTextRange(range.location, range.length));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to