- Revision
- 160907
- Author
- mario.pr...@samsung.com
- Date
- 2013-12-20 06:12:04 -0800 (Fri, 20 Dec 2013)
Log Message
[ATK] [WK2] platform/gtk/accessibility/roles-exposed.html is failing
https://bugs.webkit.org/show_bug.cgi?id=125854
Reviewed by Chris Fleizach.
Tools:
Ensure we don't ever create instances of AccessibilityUIElement
wrapping invalid platform-specific accessibility objects in DRT,
both for consistency with what WKTR does (so we avoid situations
where some tests fail in WK2 and not in WK1) and also to avoid
overlooking tests that might not be checking the right thing.
* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::makeJSAccessibilityUIElement): Return a
nullPtr if the platformUIElement() is not a valid one.
* DumpRenderTree/AccessibilityUIElement.h:
(AccessibilityUIElement::platformUIElement): Added const modifier.
LayoutTests:
Updated tests and expectations to keep them passing after the
change done in DRT, without changing their actual purpose.
* platform/gtk/accessibility/roles-exposed.html: Make sure we
print "AXRole: (no element)" when accessibilityElementByID() does
not return a valid object, not to confuse it with cases where the
returned string for the role is an empty string.
* platform/gtk/accessibility/roles-exposed-expected.txt: Update
test expectations to reflect the "AXRole: (no element)" string
that is now being exposed. Also, replace the (wrongly added) PASS
expectations with FAIL for rowgroups, which are currently not
being exposed for ATK either.
* accessibility/deleting-iframe-destroys-axcache.html: Just
consider the first and third sons of the accessibility object for
the body (instead of the grandsons), so the test can run both in
Mac, where sons and grandsons are exposed, and ATK, where only
sons are exposed (no StaticText objects exposed there).
* accessibility/non-data-table-cell-title-ui-element.html: Use
accessibilityElementById() to get the accessibility object for the
"skip" table header instead of navigating with childAtIndex(),
since the hierarchy is not the same for Mac and ATK based ports.
* platform/mac/accessibility/search-predicate.html: Do not rely on
shouldBe() together with the string "AXRole: " when asking for the
role of objects that should no longer be in the accessibility
tree, and use shouldBeUndefined() instead.
* platform/mac/accessibility/search-when-element-starts-in-table.html: Ditto.
* platform/mac/accessibility/search-predicate-expected.txt: Update
expectations according to the usage of shouldBeUndefined().
* platform/mac/accessibility/search-when-element-starts-in-table-expected.txt: Ditto.
* platform/mac/TestExpectations: Add loading-iframe-updates-axtree.html
here, since it seems not to be returning the expected values for
either the scrollarea and the webarea in the iframe (see bug 126066).
* platform/mac-wk2/TestExpectations: Add search-when-element-starts-in-table.html
here, since it does not return an undefined object in WebKit2 when
the search query should return no results (see bug 125996).
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (160906 => 160907)
--- trunk/LayoutTests/ChangeLog 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/ChangeLog 2013-12-20 14:12:04 UTC (rev 160907)
@@ -1,3 +1,52 @@
+2013-12-20 Mario Sanchez Prada <mario.pr...@samsung.com>
+
+ [ATK] [WK2] platform/gtk/accessibility/roles-exposed.html is failing
+ https://bugs.webkit.org/show_bug.cgi?id=125854
+
+ Reviewed by Chris Fleizach.
+
+ Updated tests and expectations to keep them passing after the
+ change done in DRT, without changing their actual purpose.
+
+ * platform/gtk/accessibility/roles-exposed.html: Make sure we
+ print "AXRole: (no element)" when accessibilityElementByID() does
+ not return a valid object, not to confuse it with cases where the
+ returned string for the role is an empty string.
+ * platform/gtk/accessibility/roles-exposed-expected.txt: Update
+ test expectations to reflect the "AXRole: (no element)" string
+ that is now being exposed. Also, replace the (wrongly added) PASS
+ expectations with FAIL for rowgroups, which are currently not
+ being exposed for ATK either.
+
+ * accessibility/deleting-iframe-destroys-axcache.html: Just
+ consider the first and third sons of the accessibility object for
+ the body (instead of the grandsons), so the test can run both in
+ Mac, where sons and grandsons are exposed, and ATK, where only
+ sons are exposed (no StaticText objects exposed there).
+
+ * accessibility/non-data-table-cell-title-ui-element.html: Use
+ accessibilityElementById() to get the accessibility object for the
+ "skip" table header instead of navigating with childAtIndex(),
+ since the hierarchy is not the same for Mac and ATK based ports.
+
+ * platform/mac/accessibility/search-predicate.html: Do not rely on
+ shouldBe() together with the string "AXRole: " when asking for the
+ role of objects that should no longer be in the accessibility
+ tree, and use shouldBeUndefined() instead.
+ * platform/mac/accessibility/search-when-element-starts-in-table.html: Ditto.
+
+ * platform/mac/accessibility/search-predicate-expected.txt: Update
+ expectations according to the usage of shouldBeUndefined().
+ * platform/mac/accessibility/search-when-element-starts-in-table-expected.txt: Ditto.
+
+ * platform/mac/TestExpectations: Add loading-iframe-updates-axtree.html
+ here, since it seems not to be returning the expected values for
+ either the scrollarea and the webarea in the iframe (see bug 126066).
+
+ * platform/mac-wk2/TestExpectations: Add search-when-element-starts-in-table.html
+ here, since it does not return an undefined object in WebKit2 when
+ the search query should return no results (see bug 125996).
+
2013-12-20 Radu Stavila <stav...@adobe.com>
[CSS Regions] When changing flow-from/flow-into on :hover, elements overflowing the region are not correctly repainted
Modified: trunk/LayoutTests/accessibility/deleting-iframe-destroys-axcache.html (160906 => 160907)
--- trunk/LayoutTests/accessibility/deleting-iframe-destroys-axcache.html 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/accessibility/deleting-iframe-destroys-axcache.html 2013-12-20 14:12:04 UTC (rev 160907)
@@ -38,9 +38,9 @@
if (window.accessibilityController) {
window.root = accessibilityController.rootElement;
window.body = root.childAtIndex(0);
- window.before = body.childAtIndex(0).childAtIndex(0);
+ window.before = body.childAtIndex(0);
window.iframe = body.childAtIndex(1).childAtIndex(0);
- window.after = body.childAtIndex(2).childAtIndex(0);
+ window.after = body.childAtIndex(2);
window.frameBody = window.iframe.childAtIndex(0);
window.frameBodyRole = window.frameBody.role;
@@ -57,8 +57,8 @@
window.newRoot = accessibilityController.rootElement;
window.newBody = newRoot.childAtIndex(0);
- window.newBefore = newBody.childAtIndex(0).childAtIndex(0);
- window.newAfter = newBody.childAtIndex(1).childAtIndex(0);
+ window.newBefore = newBody.childAtIndex(0);
+ window.newAfter = newBody.childAtIndex(1);
document.getElementById("console").innerText += "\nAfter:\n";
buildAccessibilityTree(newRoot, 0);
Modified: trunk/LayoutTests/accessibility/non-data-table-cell-title-ui-element.html (160906 => 160907)
--- trunk/LayoutTests/accessibility/non-data-table-cell-title-ui-element.html 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/accessibility/non-data-table-cell-title-ui-element.html 2013-12-20 14:12:04 UTC (rev 160907)
@@ -14,7 +14,7 @@
<th>issue</th>
<th>fail</th>
<th>blocked</th>
-<th>skip</th>
+<th id="skip">skip</th>
<th>test</th>
</tr>
</tbody>
@@ -28,9 +28,8 @@
var result = document.getElementById("result");
var pass = document.getElementById("body");
- body.focus();
// get the <th>skip</th> element
- var group = accessibilityController.focusedElement.childAtIndex(5);
+ var group = accessibilityController.accessibleElementById("skip");
var titleUI = group.titleUIElement();
var allAttributes = "";
if (titleUI)
Modified: trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt (160906 => 160907)
--- trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt 2013-12-20 14:12:04 UTC (rev 160907)
@@ -172,21 +172,21 @@
AXRole: AXTable
FAIL: tr
-
+ AXRole: (no element)
Expected: AXRow
PASS: th
AXRole: AXCell
FAIL: tr
-
+ AXRole: (no element)
Expected: AXRow
PASS: td
AXRole: AXCell
FAIL: tr
-
+ AXRole: (no element)
Expected: AXRow
PASS: th
@@ -279,11 +279,12 @@
PASS: div[role=grid]
AXRole: AXTable
-PASS: div[role=rowgroup]
-
-
+FAIL: div[role=rowgroup]
+ AXRole: (no element)
+ Expected:
+
FAIL: div[role=row]
-
+ AXRole: (no element)
Expected: AXRow
PASS: div[role=gridcell]
@@ -398,11 +399,12 @@
PASS: div[role=treegrid]
AXRole: AXTable
-PASS: div[role=rowgroup]
-
-
+FAIL: div[role=rowgroup]
+ AXRole: (no element)
+ Expected:
+
FAIL: div[role=row]
-
+ AXRole: (no element)
Expected: AXRow
PASS: div[role=gridcell]
Modified: trunk/LayoutTests/platform/gtk/accessibility/roles-exposed.html (160906 => 160907)
--- trunk/LayoutTests/platform/gtk/accessibility/roles-exposed.html 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/platform/gtk/accessibility/roles-exposed.html 2013-12-20 14:12:04 UTC (rev 160907)
@@ -291,7 +291,7 @@
if (axElement)
role = axElement.role;
else
- role = 'AXRole: ';
+ role = 'AXRole: (no element)';
output = el.tagName.toLowerCase() + (ariaRole?("[role="+ariaRole+"]"):'');
if (el.getAttribute('data-note')) {
Modified: trunk/LayoutTests/platform/mac/TestExpectations (160906 => 160907)
--- trunk/LayoutTests/platform/mac/TestExpectations 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2013-12-20 14:12:04 UTC (rev 160907)
@@ -33,6 +33,9 @@
fast/dom/Window/slow-unload-handler.html
fast/dom/Window/slow-unload-handler-only-frame-is-stopped.html
+# This test fails on release and crashes on debug because of trying to use isEqual() with undefined objects
+webkit.org/b/126066 accessibility/loading-iframe-updates-axtree.html [ Failure Crash ]
+
webkit.org/b/116636 accessibility/document-attributes.html [ Failure ]
# Accessibility tests with missing AccessibilityController functionality.
Modified: trunk/LayoutTests/platform/mac/accessibility/search-predicate-expected.txt (160906 => 160907)
--- trunk/LayoutTests/platform/mac/accessibility/search-predicate-expected.txt 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/platform/mac/accessibility/search-predicate-expected.txt 2013-12-20 14:12:04 UTC (rev 160907)
@@ -145,7 +145,7 @@
PASS resultElement.title is 'AXTitle: test button 2'
PASS resultElement.role is 'AXRole: AXButton'
PASS resultElement.title is 'AXTitle: Submit'
-PASS resultElement.role is 'AXRole: '
+PASS resultElement is undefined.
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/platform/mac/accessibility/search-predicate.html (160906 => 160907)
--- trunk/LayoutTests/platform/mac/accessibility/search-predicate.html 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/platform/mac/accessibility/search-predicate.html 2013-12-20 14:12:04 UTC (rev 160907)
@@ -364,7 +364,7 @@
// there should be no more visible buttons
resultElement = containerElement.uiElementForSearchPredicate(resultElement, true, "AXButtonSearchKey", "", true);
- shouldBe("resultElement.role", "'AXRole: '");
+ shouldBeUndefined("resultElement");
}
Modified: trunk/LayoutTests/platform/mac/accessibility/search-when-element-starts-in-table-expected.txt (160906 => 160907)
--- trunk/LayoutTests/platform/mac/accessibility/search-when-element-starts-in-table-expected.txt 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/platform/mac/accessibility/search-when-element-starts-in-table-expected.txt 2013-12-20 14:12:04 UTC (rev 160907)
@@ -10,7 +10,7 @@
PASS resultElement.role is 'AXRole: AXHeading'
PASS resultElement.title is 'AXTitle: outside heading'
-PASS resultElement.role is 'AXRole: '
+PASS resultElement is undefined.
PASS resultElement.role is 'AXRole: AXHeading'
PASS resultElement.role is 'AXRole: AXCell'
PASS resultElement.role is 'AXRole: AXRow'
Modified: trunk/LayoutTests/platform/mac/accessibility/search-when-element-starts-in-table.html (160906 => 160907)
--- trunk/LayoutTests/platform/mac/accessibility/search-when-element-starts-in-table.html 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/platform/mac/accessibility/search-when-element-starts-in-table.html 2013-12-20 14:12:04 UTC (rev 160907)
@@ -32,7 +32,7 @@
// A search for the previous heading should return nothing.
resultElement = containerElement.uiElementForSearchPredicate(heading, false, "AXHeadingSearchKey", "", false);
- shouldBe("resultElement.role", "'AXRole: '");
+ shouldBeUndefined("resultElement");
// When asking the child of the heading for the previous element, it should return the heading.
resultElement = containerElement.uiElementForSearchPredicate(heading.childAtIndex(0), false, "AXAnyTypeSearchKey", "", false);
Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (160906 => 160907)
--- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2013-12-20 14:12:04 UTC (rev 160907)
@@ -382,6 +382,9 @@
webkit.org/b/124476 platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html [ Pass Failure ]
+# uiElementForSearchPredicate() is not returning an undefined object when the search returns no results
+webkit.org/b/125996 platform/mac/accessibility/search-when-element-starts-in-table.html [ Failure ]
+
### END OF (1) Classified failures with bug reports
########################################
Modified: trunk/Tools/ChangeLog (160906 => 160907)
--- trunk/Tools/ChangeLog 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/Tools/ChangeLog 2013-12-20 14:12:04 UTC (rev 160907)
@@ -1,5 +1,24 @@
2013-12-20 Mario Sanchez Prada <mario.pr...@samsung.com>
+ [ATK] [WK2] platform/gtk/accessibility/roles-exposed.html is failing
+ https://bugs.webkit.org/show_bug.cgi?id=125854
+
+ Reviewed by Chris Fleizach.
+
+ Ensure we don't ever create instances of AccessibilityUIElement
+ wrapping invalid platform-specific accessibility objects in DRT,
+ both for consistency with what WKTR does (so we avoid situations
+ where some tests fail in WK2 and not in WK1) and also to avoid
+ overlooking tests that might not be checking the right thing.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (AccessibilityUIElement::makeJSAccessibilityUIElement): Return a
+ nullPtr if the platformUIElement() is not a valid one.
+ * DumpRenderTree/AccessibilityUIElement.h:
+ (AccessibilityUIElement::platformUIElement): Added const modifier.
+
+2013-12-20 Mario Sanchez Prada <mario.pr...@samsung.com>
+
Programmatically-inserted children lack accessibility events
https://bugs.webkit.org/show_bug.cgi?id=100275
Modified: trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp (160906 => 160907)
--- trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp 2013-12-20 14:12:04 UTC (rev 160907)
@@ -1358,6 +1358,9 @@
JSObjectRef AccessibilityUIElement::makeJSAccessibilityUIElement(JSContextRef context, const AccessibilityUIElement& element)
{
+ if (!element.platformUIElement())
+ return nullptr;
+
return JSObjectMake(context, AccessibilityUIElement::getJSClass(), new AccessibilityUIElement(element));
}
Modified: trunk/Tools/DumpRenderTree/AccessibilityUIElement.h (160906 => 160907)
--- trunk/Tools/DumpRenderTree/AccessibilityUIElement.h 2013-12-20 13:47:42 UTC (rev 160906)
+++ trunk/Tools/DumpRenderTree/AccessibilityUIElement.h 2013-12-20 14:12:04 UTC (rev 160907)
@@ -67,7 +67,7 @@
AccessibilityUIElement(const AccessibilityUIElement&);
~AccessibilityUIElement();
- PlatformUIElement platformUIElement() { return m_element; }
+ PlatformUIElement platformUIElement() const { return m_element; }
static JSObjectRef makeJSAccessibilityUIElement(JSContextRef, const AccessibilityUIElement&);