Title: [204906] trunk
Revision
204906
Author
n_w...@apple.com
Date
2016-08-24 11:12:36 -0700 (Wed, 24 Aug 2016)

Log Message

AX: Add test for line text marker range on iOS
https://bugs.webkit.org/show_bug.cgi?id=161108
<rdar://problem/27976405>

Reviewed by Chris Fleizach.

Tools:

* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(AccessibilityUIElement::textMarkerRangeForElement):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):

LayoutTests:

Added a new test to test line text marker ranges on iOS.

* accessibility/ios-simulator/text-marker-range-for-line-expected.txt: Added.
* accessibility/ios-simulator/text-marker-range-for-line.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (204905 => 204906)


--- trunk/LayoutTests/ChangeLog	2016-08-24 17:54:13 UTC (rev 204905)
+++ trunk/LayoutTests/ChangeLog	2016-08-24 18:12:36 UTC (rev 204906)
@@ -1,3 +1,16 @@
+2016-08-24  Nan Wang  <n_w...@apple.com>
+
+        AX: Add test for line text marker range on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=161108
+        <rdar://problem/27976405>
+
+        Reviewed by Chris Fleizach.
+
+        Added a new test to test line text marker ranges on iOS.
+
+        * accessibility/ios-simulator/text-marker-range-for-line-expected.txt: Added.
+        * accessibility/ios-simulator/text-marker-range-for-line.html: Added.
+
 2016-08-24  Brady Eidson  <beid...@apple.com>
 
         Changing gamepad test to try to get more info about the failure mode on the bots.

Added: trunk/LayoutTests/accessibility/ios-simulator/text-marker-range-for-line-expected.txt (0 => 204906)


--- trunk/LayoutTests/accessibility/ios-simulator/text-marker-range-for-line-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/text-marker-range-for-line-expected.txt	2016-08-24 18:12:36 UTC (rev 204906)
@@ -0,0 +1,12 @@
+line 1 
+line 2
+This verifies that we are getting correct line text marker ranges on iOS.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+line 1 
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/accessibility/ios-simulator/text-marker-range-for-line.html (0 => 204906)


--- trunk/LayoutTests/accessibility/ios-simulator/text-marker-range-for-line.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/text-marker-range-for-line.html	2016-08-24 18:12:36 UTC (rev 204906)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+    <script src=""
+    <body id="body" tabindex="0">
+        <div tabindex="0" id="text">
+            line 1
+            <br>line 2
+        </div>
+
+        <p id="description"></p>
+        <div id="console"></div>
+
+        <script>
+
+            description("This verifies that we are getting correct line text marker ranges on iOS.");
+
+            if (window.accessibilityController) {
+                accessibilityController.enableEnhancedAccessibility(true);
+                var webArea = accessibilityController.rootElement.childAtIndex(0);
+
+                document.getElementById("text").focus();
+                var text = accessibilityController.accessibleElementById("text").childAtIndex(0);
+
+                var startMarker = text.startTextMarkerForTextMarkerRange(text.textMarkerRangeForElement(text));
+                startMarker = text.nextTextMarker(startMarker);
+                var lineTextMarkerRange = text.lineTextMarkerRangeForTextMarker(startMarker);
+                debug(text.stringForTextMarkerRange(lineTextMarkerRange));
+            }
+
+            </script>
+
+        <script src=""
+
+    </body>
+</html>
+

Modified: trunk/Tools/ChangeLog (204905 => 204906)


--- trunk/Tools/ChangeLog	2016-08-24 17:54:13 UTC (rev 204905)
+++ trunk/Tools/ChangeLog	2016-08-24 18:12:36 UTC (rev 204906)
@@ -1,3 +1,18 @@
+2016-08-24  Nan Wang  <n_w...@apple.com>
+
+        AX: Add test for line text marker range on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=161108
+        <rdar://problem/27976405>
+
+        Reviewed by Chris Fleizach.
+
+        * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
+        (AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
+        (AccessibilityUIElement::textMarkerRangeForElement):
+        * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
+        (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
+        (WTR::AccessibilityUIElement::textMarkerRangeForElement):
+
 2016-08-24  Per Arne Vollan  <pvol...@apple.com>
 
         [Win] Warning fixes.

Modified: trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm (204905 => 204906)


--- trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm	2016-08-24 17:54:13 UTC (rev 204905)
+++ trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm	2016-08-24 18:12:36 UTC (rev 204906)
@@ -107,6 +107,8 @@
 - (id)nextMarkerForMarker:(id)marker;
 - (id)previousMarkerForMarker:(id)marker;
 - (id)accessibilityObjectForTextMarker:(id)marker;
+- (id)lineStartMarkerForMarker:(id)marker;
+- (id)lineEndMarkerForMarker:(id)marker;
 @end
 
 @interface NSObject (WebAccessibilityObjectWrapperPrivate)
@@ -434,9 +436,14 @@
 
 // Text markers
 
-AccessibilityTextMarkerRange AccessibilityUIElement::lineTextMarkerRangeForTextMarker(AccessibilityTextMarker*)
+AccessibilityTextMarkerRange AccessibilityUIElement::lineTextMarkerRangeForTextMarker(AccessibilityTextMarker* textMarker)
 {
-    return nullptr;
+    id startTextMarker = [m_element lineStartMarkerForMarker:(id)textMarker->platformTextMarker()];
+    id endTextMarker = [m_element lineEndMarkerForMarker:(id)textMarker->platformTextMarker()];
+    NSArray *textMarkers = [NSArray arrayWithObjects:startTextMarker, endTextMarker, nil];
+    
+    id textMarkerRange = [m_element textMarkerRangeForMarkers:textMarkers];
+    return AccessibilityTextMarkerRange(textMarkerRange);
 }
 
 AccessibilityTextMarkerRange AccessibilityUIElement::textMarkerRangeForElement(AccessibilityUIElement* element)

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm (204905 => 204906)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm	2016-08-24 17:54:13 UTC (rev 204905)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm	2016-08-24 18:12:36 UTC (rev 204906)
@@ -84,6 +84,8 @@
 - (id)nextMarkerForMarker:(id)marker;
 - (id)previousMarkerForMarker:(id)marker;
 - (id)accessibilityObjectForTextMarker:(id)marker;
+- (id)lineStartMarkerForMarker:(id)marker;
+- (id)lineEndMarkerForMarker:(id)marker;
 @end
 
 @interface NSObject (WebAccessibilityObjectWrapperPrivate)
@@ -1000,7 +1002,12 @@
 // Text markers
 PassRefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::lineTextMarkerRangeForTextMarker(AccessibilityTextMarker* textMarker)
 {
-    return nullptr;
+    id startTextMarker = [m_element lineStartMarkerForMarker:(id)textMarker->platformTextMarker()];
+    id endTextMarker = [m_element lineEndMarkerForMarker:(id)textMarker->platformTextMarker()];
+    NSArray *textMarkers = [NSArray arrayWithObjects:startTextMarker, endTextMarker, nil];
+    
+    id textMarkerRange = [m_element textMarkerRangeForMarkers:textMarkers];
+    return AccessibilityTextMarkerRange::create(textMarkerRange);
 }
 
 PassRefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::textMarkerRangeForElement(AccessibilityUIElement* element)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to