Title: [118826] trunk/Source/WebCore
Revision
118826
Author
[email protected]
Date
2012-05-29 13:27:43 -0700 (Tue, 29 May 2012)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=87771
        
[New Multicolumn] Make sure we have one column set by default and add it to the flow thread's region list.

Reviewed by Anders Carlsson.

* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (118825 => 118826)


--- trunk/Source/WebCore/ChangeLog	2012-05-29 20:26:58 UTC (rev 118825)
+++ trunk/Source/WebCore/ChangeLog	2012-05-29 20:27:43 UTC (rev 118826)
@@ -1,3 +1,16 @@
+2012-05-29  David Hyatt  <[email protected]>
+
+        https://bugs.webkit.org/show_bug.cgi?id=87771
+        
+        [New Multicolumn] Make sure we have one column set by default and add it to the flow thread's region list.
+
+        Reviewed by Anders Carlsson.
+
+        * rendering/RenderMultiColumnBlock.cpp:
+        (WebCore::RenderMultiColumnBlock::ensureColumnSets):
+        * rendering/RenderRegion.cpp:
+        (WebCore::RenderRegion::RenderRegion):
+
 2012-05-29  John Sullivan  <[email protected]>
 
         Update label for blacklisted plug-in

Modified: trunk/Source/WebCore/rendering/RenderMultiColumnBlock.cpp (118825 => 118826)


--- trunk/Source/WebCore/rendering/RenderMultiColumnBlock.cpp	2012-05-29 20:26:58 UTC (rev 118825)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnBlock.cpp	2012-05-29 20:27:43 UTC (rev 118826)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "RenderMultiColumnBlock.h"
 #include "RenderMultiColumnFlowThread.h"
+#include "RenderMultiColumnSet.h"
 
 using namespace std;
 
@@ -115,7 +116,6 @@
 
 void RenderMultiColumnBlock::ensureColumnSets()
 {
-    // FIXME: Implement.
     // This function ensures we have the correct column set information before we get into layout.
     // For a simple multi-column layout in continuous media, only one column set child is required.
     // Once a column is nested inside an enclosing pagination context, the number of column sets
@@ -130,6 +130,16 @@
     // Finally, we will need to deal with columns inside regions. If regions have variable widths, then there will need
     // to be unique column sets created inside any region whose width is different from its surrounding regions. This is
     // actually pretty similar to the spanning case, in that we break up the column sets whenever the width varies.
+    //
+    // FIXME: For now just make one column set. This matches the old multi-column code.
+    // Right now our goal is just feature parity with the old multi-column code so that we can switch over to the
+    // new code as soon as possible.
+    if (flowThread() && !firstChild()->isRenderMultiColumnSet()) {
+        RenderMultiColumnSet* columnSet = new (renderArena()) RenderMultiColumnSet(document(), flowThread());
+        columnSet->setStyle(RenderStyle::createAnonymousStyleWithDisplay(style(), BLOCK));
+        RenderBlock::addChild(columnSet, firstChild());
+        flowThread()->addRegionToThread(columnSet);
+    }
 }
 
 const char* RenderMultiColumnBlock::renderName() const

Modified: trunk/Source/WebCore/rendering/RenderRegion.cpp (118825 => 118826)


--- trunk/Source/WebCore/rendering/RenderRegion.cpp	2012-05-29 20:26:58 UTC (rev 118825)
+++ trunk/Source/WebCore/rendering/RenderRegion.cpp	2012-05-29 20:27:43 UTC (rev 118826)
@@ -51,7 +51,6 @@
     , m_regionState(RegionUndefined)
     , m_dispatchRegionLayoutUpdateEvent(false)
 {
-    ASSERT(node->document()->cssRegionsEnabled());
 }
 
 LayoutRect RenderRegion::regionOverflowRect() const
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to