Title: [125920] trunk
Revision
125920
Author
[email protected]
Date
2012-08-17 11:42:49 -0700 (Fri, 17 Aug 2012)

Log Message

REGRESSION(r125710) - canvas-fallback-content tests asserting in Chromium
https://bugs.webkit.org/show_bug.cgi?id=94156

Reviewed by Chris Fleizach.

Source/WebCore:

When determining if a Node is focusable, check the canvas subtree
case first before encountering assertions that assume that anything
focusable must have an associated renderer.

Fixes existing tests so they don't assert.

* dom/Node.cpp:
(WebCore::Node::isFocusable):

LayoutTests:

Fixes two canvas tests that were asserting.

* platform/chromium/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (125919 => 125920)


--- trunk/LayoutTests/ChangeLog	2012-08-17 18:39:28 UTC (rev 125919)
+++ trunk/LayoutTests/ChangeLog	2012-08-17 18:42:49 UTC (rev 125920)
@@ -1,3 +1,14 @@
+2012-08-17  Dominic Mazzoni  <[email protected]>
+
+        REGRESSION(r125710) - canvas-fallback-content tests asserting in Chromium
+        https://bugs.webkit.org/show_bug.cgi?id=94156
+
+        Reviewed by Chris Fleizach.
+
+        Fixes two canvas tests that were asserting.
+
+        * platform/chromium/TestExpectations:
+
 2012-08-17  Levi Weintraub  <[email protected]>
 
         Unreviewed gardening. Updating test expectations after r125794.

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (125919 => 125920)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-17 18:39:28 UTC (rev 125919)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-17 18:42:49 UTC (rev 125920)
@@ -3503,10 +3503,6 @@
 
 BUGWK94078 WIN RELEASE : http/tests/inspector/web-socket-frame-error.html = PASS TEXT
 
-BUGWK94156 DEBUG : accessibility/canvas-fallback-content.html = PASS CRASH
-BUGWK94156 DEBUG : platform/chromium/virtual/gpu/fast/canvas/fallback-content.html = PASS CRASH
-BUGWK94156 DEBUG : fast/canvas/fallback-content.html = PASS CRASH
-
 BUGWK94256 DEBUG : fast/block/inline-children-root-linebox-crash.html = PASS CRASH
 
 BUGWK94261 DEBUG : http/tests/inspector/indexeddb/resources-panel.html = PASS CRASH TIMEOUT

Modified: trunk/Source/WebCore/ChangeLog (125919 => 125920)


--- trunk/Source/WebCore/ChangeLog	2012-08-17 18:39:28 UTC (rev 125919)
+++ trunk/Source/WebCore/ChangeLog	2012-08-17 18:42:49 UTC (rev 125920)
@@ -1,3 +1,19 @@
+2012-08-17  Dominic Mazzoni  <[email protected]>
+
+        REGRESSION(r125710) - canvas-fallback-content tests asserting in Chromium
+        https://bugs.webkit.org/show_bug.cgi?id=94156
+
+        Reviewed by Chris Fleizach.
+
+        When determining if a Node is focusable, check the canvas subtree
+        case first before encountering assertions that assume that anything
+        focusable must have an associated renderer.
+
+        Fixes existing tests so they don't assert.
+
+        * dom/Node.cpp:
+        (WebCore::Node::isFocusable):
+
 2012-08-17  Arpita Bahuguna  <[email protected]>
 
         ASSERTION FAILED: allocatedMaxLogicalWidth <= cellMaxLogicalWidth : int WebCore::AutoTableLayout::calcEffectiveLogicalWidth()

Modified: trunk/Source/WebCore/dom/Node.cpp (125919 => 125920)


--- trunk/Source/WebCore/dom/Node.cpp	2012-08-17 18:39:28 UTC (rev 125919)
+++ trunk/Source/WebCore/dom/Node.cpp	2012-08-17 18:42:49 UTC (rev 125920)
@@ -919,13 +919,6 @@
     if (!inDocument() || !supportsFocus())
         return false;
     
-    if (renderer())
-        ASSERT(!renderer()->needsLayout());
-    else
-        // If the node is in a display:none tree it might say it needs style recalc but
-        // the whole document is actually up to date.
-        ASSERT(!document()->childNeedsStyleRecalc());
-
     // Elements in canvas fallback content are not rendered, but they are allowed to be
     // focusable as long as their canvas is displayed and visible.
     if (isElementNode() && toElement(this)->isInCanvasSubtree()) {
@@ -936,6 +929,13 @@
         return e->renderer() && e->renderer()->style()->visibility() == VISIBLE;
     }
 
+    if (renderer())
+        ASSERT(!renderer()->needsLayout());
+    else
+        // If the node is in a display:none tree it might say it needs style recalc but
+        // the whole document is actually up to date.
+        ASSERT(!document()->childNeedsStyleRecalc());
+
     // FIXME: Even if we are not visible, we might have a child that is visible.
     // Hyatt wants to fix that some day with a "has visible content" flag or the like.
     if (!renderer() || renderer()->style()->visibility() != VISIBLE)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to