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;
}