Title: [210222] trunk
Revision
210222
Author
[email protected]
Date
2017-01-02 01:02:12 -0800 (Mon, 02 Jan 2017)

Log Message

AX: Expose block quote level to iOS API
https://bugs.webkit.org/show_bug.cgi?id=166629
<rdar://problem/29834793>

Reviewed by Darin Adler.

Source/WebCore:

Expose the blockquote level to iOS Accessbility API.
Change the return type of blockquote level to unsigned.

Test: accessibility/ios-simulator/blockquote-level.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::blockquoteLevel):
* accessibility/AccessibilityObject.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityBlockquoteLevel]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

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

LayoutTests:

* accessibility/ios-simulator/blockquote-level-expected.txt: Added.
* accessibility/ios-simulator/blockquote-level.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (210221 => 210222)


--- trunk/LayoutTests/ChangeLog	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/LayoutTests/ChangeLog	2017-01-02 09:02:12 UTC (rev 210222)
@@ -1,3 +1,14 @@
+2017-01-02  Chris Fleizach  <[email protected]>
+
+        AX: Expose block quote level to iOS API
+        https://bugs.webkit.org/show_bug.cgi?id=166629
+        <rdar://problem/29834793>
+
+        Reviewed by Darin Adler.
+
+        * accessibility/ios-simulator/blockquote-level-expected.txt: Added.
+        * accessibility/ios-simulator/blockquote-level.html: Added.
+
 2016-12-31  Darin Adler  <[email protected]>
 
         Remove PassRefPtr use from the "dom" directory, related cleanup

Added: trunk/LayoutTests/accessibility/ios-simulator/blockquote-level-expected.txt (0 => 210222)


--- trunk/LayoutTests/accessibility/ios-simulator/blockquote-level-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/blockquote-level-expected.txt	2017-01-02 09:02:12 UTC (rev 210222)
@@ -0,0 +1,13 @@
+1
+2
+This tests that blockquote level is correctly exposed to the iOS accessibility API.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS item1.numberAttributeValue('AXBlockquoteLevel') is 1
+PASS item2.numberAttributeValue('AXBlockquoteLevel') is 2
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/accessibility/ios-simulator/blockquote-level.html (0 => 210222)


--- trunk/LayoutTests/accessibility/ios-simulator/blockquote-level.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/ios-simulator/blockquote-level.html	2017-01-02 09:02:12 UTC (rev 210222)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+</head>
+<body>
+
+<blockquote><div role="text" id="item1">1</div></blockquote>
+
+<blockquote><blockquote><div role="text" id="item2">2</div></blockquote></blockquote>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+    description("This tests that blockquote level is correctly exposed to the iOS accessibility API.");
+    
+    if (window.accessibilityController) {
+        var item1 = accessibilityController.accessibleElementById("item1");
+        shouldBe("item1.numberAttributeValue('AXBlockquoteLevel')", "1");
+
+        var item2 = accessibilityController.accessibleElementById("item2");
+        shouldBe("item2.numberAttributeValue('AXBlockquoteLevel')", "2");
+    }
+</script>
+
+<script src=""
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (210221 => 210222)


--- trunk/Source/WebCore/ChangeLog	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/Source/WebCore/ChangeLog	2017-01-02 09:02:12 UTC (rev 210222)
@@ -1,3 +1,24 @@
+2017-01-02  Chris Fleizach  <[email protected]>
+
+        AX: Expose block quote level to iOS API
+        https://bugs.webkit.org/show_bug.cgi?id=166629
+        <rdar://problem/29834793>
+
+        Reviewed by Darin Adler.
+
+        Expose the blockquote level to iOS Accessbility API.
+        Change the return type of blockquote level to unsigned.
+
+        Test: accessibility/ios-simulator/blockquote-level.html
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::blockquoteLevel):
+        * accessibility/AccessibilityObject.h:
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper accessibilityBlockquoteLevel]):
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
 2017-01-01  Jeff Miller  <[email protected]>
 
         Update user-visible copyright strings to include 2017

Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (210221 => 210222)


--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp	2017-01-02 09:02:12 UTC (rev 210222)
@@ -444,9 +444,9 @@
     return isMisspelled;
 }
 
-int AccessibilityObject::blockquoteLevel() const
+unsigned AccessibilityObject::blockquoteLevel() const
 {
-    int level = 0;
+    unsigned level = 0;
     for (Node* elementNode = node(); elementNode; elementNode = elementNode->parentNode()) {
         if (elementNode->hasTagName(blockquoteTag))
             ++level;

Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.h (210221 => 210222)


--- trunk/Source/WebCore/accessibility/AccessibilityObject.h	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.h	2017-01-02 09:02:12 UTC (rev 210222)
@@ -613,7 +613,7 @@
     virtual AccessibilityObjectInclusion defaultObjectInclusion() const;
     bool accessibilityIsIgnoredByDefault() const;
     
-    int blockquoteLevel() const;
+    unsigned blockquoteLevel() const;
     virtual int headingLevel() const { return 0; }
     virtual int tableLevel() const { return 0; }
     virtual AccessibilityButtonState checkboxOrRadioValue() const;

Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (210221 => 210222)


--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2017-01-02 09:02:12 UTC (rev 210222)
@@ -1251,6 +1251,13 @@
     return NSMakeRange(columnRange.first, columnRange.second);
 }
 
+- (NSUInteger)accessibilityBlockquoteLevel
+{
+    if (![self _prepareAccessibilityCall])
+        return 0;
+    return m_object->blockquoteLevel();
+}
+
 - (NSString *)accessibilityPlaceholderValue
 {
     if (![self _prepareAccessibilityCall])

Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (210221 => 210222)


--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2017-01-02 09:02:12 UTC (rev 210222)
@@ -3176,7 +3176,7 @@
     }
     
     if ([attributeName isEqualToString:NSAccessibilityBlockQuoteLevelAttribute])
-        return [NSNumber numberWithInt:m_object->blockquoteLevel()];
+        return [NSNumber numberWithUnsignedInt:m_object->blockquoteLevel()];
     if ([attributeName isEqualToString:@"AXTableLevel"])
         return [NSNumber numberWithInt:m_object->tableLevel()];
     

Modified: trunk/Tools/ChangeLog (210221 => 210222)


--- trunk/Tools/ChangeLog	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/Tools/ChangeLog	2017-01-02 09:02:12 UTC (rev 210222)
@@ -1,3 +1,16 @@
+2017-01-02  Chris Fleizach  <[email protected]>
+
+        AX: Expose block quote level to iOS API
+        https://bugs.webkit.org/show_bug.cgi?id=166629
+        <rdar://problem/29834793>
+
+        Reviewed by Darin Adler.
+
+        * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
+        (AccessibilityUIElement::numberAttributeValue):
+        * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
+        (WTR::AccessibilityUIElement::numberAttributeValue):
+
 2016-12-31  Michael Catanzaro  <[email protected]>
 
         SecurityOrigin::create triplet constructor does not canonicalize port

Modified: trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm (210221 => 210222)


--- trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm	2017-01-02 09:02:12 UTC (rev 210222)
@@ -99,6 +99,7 @@
 - (NSString *)accessibilityExpandedTextValue;
 - (NSString *)accessibilitySortDirection;
 - (BOOL)accessibilityIsExpanded;
+- (NSUInteger)accessibilityBlockquoteLevel;
 
 // TextMarker related
 - (NSArray *)textMarkerRange;
@@ -1142,6 +1143,8 @@
         return [m_element accessibilityARIAColumnIndex];
     if (JSStringIsEqualToUTF8CString(attribute, "AXARIARowIndex"))
         return [m_element accessibilityARIARowIndex];
+    if (JSStringIsEqualToUTF8CString(attribute, "AXBlockquoteLevel"))
+        return [m_element accessibilityBlockquoteLevel];
     
     return 0;
 }

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm (210221 => 210222)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm	2017-01-01 20:23:01 UTC (rev 210221)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm	2017-01-02 09:02:12 UTC (rev 210222)
@@ -76,6 +76,7 @@
 - (NSString *)accessibilityExpandedTextValue;
 - (NSString *)accessibilitySortDirection;
 - (BOOL)accessibilityIsExpanded;
+- (NSUInteger)accessibilityBlockquoteLevel;
 
 // TextMarker related
 - (NSArray *)textMarkerRange;
@@ -365,6 +366,8 @@
         return [m_element accessibilityARIAColumnIndex];
     if (JSStringIsEqualToUTF8CString(attribute, "AXARIARowIndex"))
         return [m_element accessibilityARIARowIndex];
+    if (JSStringIsEqualToUTF8CString(attribute, "AXBlockquoteLevel"))
+        return [m_element accessibilityBlockquoteLevel];
     
     return 0;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to