Title: [111277] trunk/Source/WebCore
Revision
111277
Author
[email protected]
Date
2012-03-19 17:20:41 -0700 (Mon, 19 Mar 2012)

Log Message

Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html
causing "crashes" on the Lion Intel Debug WebKit2 test bots.
https://bugs.webkit.org/show_bug.cgi?id=81171

Reviewed by Dan Bernstein.

No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).

Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (111276 => 111277)


--- trunk/Source/WebCore/ChangeLog	2012-03-20 00:12:22 UTC (rev 111276)
+++ trunk/Source/WebCore/ChangeLog	2012-03-20 00:20:41 UTC (rev 111277)
@@ -1,3 +1,18 @@
+2012-03-19  Jer Noble  <[email protected]>
+
+        Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html 
+        causing "crashes" on the Lion Intel Debug WebKit2 test bots.
+        https://bugs.webkit.org/show_bug.cgi?id=81171
+
+        Reviewed by Dan Bernstein.
+
+        No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).
+
+        Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
+
 2012-03-19  Enrica Casucci  <[email protected]>
 
         WebKit2: create sandbox extensions for files that are dropped in an input control.

Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (111276 => 111277)


--- trunk/Source/WebCore/rendering/RenderBlock.cpp	2012-03-20 00:12:22 UTC (rev 111276)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp	2012-03-20 00:20:41 UTC (rev 111277)
@@ -868,7 +868,13 @@
             // If the requested beforeChild is not one of our children, then this is because
             // there is an anonymous container within this object that contains the beforeChild.
             RenderObject* beforeChildAnonymousContainer = beforeChildContainer;
-            if (beforeChildAnonymousContainer->isAnonymousBlock()) {
+            if (beforeChildAnonymousContainer->isAnonymousBlock()
+#if ENABLE(FULLSCREEN_API)
+                // Full screen renderers and full screen placeholders act as anonymous blocks, not tables:
+                || beforeChildAnonymousContainer->isRenderFullScreen()
+                || beforeChildAnonymousContainer->isRenderFullScreenPlaceholder()
+#endif
+                ) {
                 // Insert the child into the anonymous block box instead of here.
                 if (newChild->isInline() || beforeChild->parent()->firstChild() != beforeChild)
                     beforeChild->parent()->addChild(newChild, beforeChild);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to