Title: [176321] trunk
Revision
176321
Author
[email protected]
Date
2014-11-19 09:36:29 -0800 (Wed, 19 Nov 2014)

Log Message

AX: Safari fails to load a web page with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=138849

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Sometimes an inlineElementContinuation will continue to an inline RenderBlock, so we case this incorrectly and bad things happen.

Test: accessibility/inline-block-assertion.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::startOfContinuations):

LayoutTests:

* accessibility/inline-block-assertion-expected.txt: Added.
* accessibility/inline-block-assertion.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (176320 => 176321)


--- trunk/LayoutTests/ChangeLog	2014-11-19 17:26:31 UTC (rev 176320)
+++ trunk/LayoutTests/ChangeLog	2014-11-19 17:36:29 UTC (rev 176321)
@@ -1,5 +1,15 @@
 2014-11-19  Chris Fleizach  <[email protected]>
 
+        AX: Safari fails to load a web page with VoiceOver
+        https://bugs.webkit.org/show_bug.cgi?id=138849
+
+        Reviewed by Mario Sanchez Prada.
+
+        * accessibility/inline-block-assertion-expected.txt: Added.
+        * accessibility/inline-block-assertion.html: Added.
+
+2014-11-19  Chris Fleizach  <[email protected]>
+
         AX: Screen braille input doesn't work on forms.
         https://bugs.webkit.org/show_bug.cgi?id=138804
 

Added: trunk/LayoutTests/accessibility/inline-block-assertion-expected.txt (0 => 176321)


--- trunk/LayoutTests/accessibility/inline-block-assertion-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/inline-block-assertion-expected.txt	2014-11-19 17:36:29 UTC (rev 176321)
@@ -0,0 +1,11 @@
+ 
+Make sure that an inline block element is not cast incorrectly causing an assertion.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+ROLE: AXRole: AXWebArea
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/accessibility/inline-block-assertion.html (0 => 176321)


--- trunk/LayoutTests/accessibility/inline-block-assertion.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/inline-block-assertion.html	2014-11-19 17:36:29 UTC (rev 176321)
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+<embed src="" type="application/x-shockwave-flash" allowfullscreen="true" width="362" height="298" data-original-width="425" data-original-height="350">
+<div pseudo="-webkit-plugin-replacement" style="display: inline-block; position: relative; width: 100; height: 100;" id="group">
+<iframe width="100%" id="iframe" style="max-height: 100%" height="350" src="" frameborder="0" scrolling="no"></iframe>
+</div>
+</embed>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+    description("Make sure that an inline block element is not cast incorrectly causing an assertion.");
+
+    if (window.accessibilityController) {
+        var element = accessibilityController.accessibleElementById("group").childAtIndex(0).childAtIndex(0);
+        debug("ROLE: " + element.role);
+    }
+
+</script>
+
+<script src=""
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (176320 => 176321)


--- trunk/Source/WebCore/ChangeLog	2014-11-19 17:26:31 UTC (rev 176320)
+++ trunk/Source/WebCore/ChangeLog	2014-11-19 17:36:29 UTC (rev 176321)
@@ -1,3 +1,17 @@
+2014-11-19  Chris Fleizach  <[email protected]>
+
+        AX: Safari fails to load a web page with VoiceOver
+        https://bugs.webkit.org/show_bug.cgi?id=138849
+
+        Reviewed by Mario Sanchez Prada.
+
+        Sometimes an inlineElementContinuation will continue to an inline RenderBlock, so we case this incorrectly and bad things happen.
+
+        Test: accessibility/inline-block-assertion.html
+
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::startOfContinuations):
+
 2014-11-19  Zalan Bujtas  <[email protected]>
 
         Simple line layout: RenderTreeAsText should use rangeForRenderer() when dumping simple line text.

Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (176320 => 176321)


--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2014-11-19 17:26:31 UTC (rev 176320)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2014-11-19 17:36:29 UTC (rev 176321)
@@ -248,7 +248,7 @@
 
 static inline RenderInline* startOfContinuations(RenderObject& renderer)
 {
-    if (renderer.isInlineElementContinuation())
+    if (renderer.isInlineElementContinuation() && is<RenderInline>(renderer.node()->renderer()))
         return downcast<RenderInline>(renderer.node()->renderer());
 
     // Blocks with a previous continuation always have a next continuation
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to