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

Log Message

https://bugs.webkit.org/show_bug.cgi?id=87775

[New Multicolumn] Make sure RenderMultiColumnSets have their own copy of the count, width and height of their columns. 

Reviewed by Anders Carlsson.

* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderMultiColumnBlock.h:
(WebCore::RenderMultiColumnBlock::columnWidth):
(WebCore::RenderMultiColumnBlock::columnCount):
(RenderMultiColumnBlock):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
* rendering/RenderMultiColumnSet.h:
(WebCore::RenderMultiColumnSet::columnCount):
(WebCore::RenderMultiColumnSet::columnWidth):
(WebCore::RenderMultiColumnSet::columnHeight):
(RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::setColumnWidthAndCount):
(WebCore::RenderMultiColumnSet::setColumnHeight):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (118831 => 118832)


--- trunk/Source/WebCore/ChangeLog	2012-05-29 20:58:16 UTC (rev 118831)
+++ trunk/Source/WebCore/ChangeLog	2012-05-29 21:13:05 UTC (rev 118832)
@@ -1,3 +1,28 @@
+2012-05-29  David Hyatt  <[email protected]>
+
+        https://bugs.webkit.org/show_bug.cgi?id=87775
+
+        [New Multicolumn] Make sure RenderMultiColumnSets have their own copy of the count, width and height of their columns. 
+
+        Reviewed by Anders Carlsson.
+
+        * rendering/RenderMultiColumnBlock.cpp:
+        (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
+        (WebCore::RenderMultiColumnBlock::ensureColumnSets):
+        * rendering/RenderMultiColumnBlock.h:
+        (WebCore::RenderMultiColumnBlock::columnWidth):
+        (WebCore::RenderMultiColumnBlock::columnCount):
+        (RenderMultiColumnBlock):
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
+        * rendering/RenderMultiColumnSet.h:
+        (WebCore::RenderMultiColumnSet::columnCount):
+        (WebCore::RenderMultiColumnSet::columnWidth):
+        (WebCore::RenderMultiColumnSet::columnHeight):
+        (RenderMultiColumnSet):
+        (WebCore::RenderMultiColumnSet::setColumnWidthAndCount):
+        (WebCore::RenderMultiColumnSet::setColumnHeight):
+
 2012-05-29  Simon Fraser  <[email protected]>
 
         Incomplete repaint on twitter.com when replying to a tweet

Modified: trunk/Source/WebCore/rendering/RenderMultiColumnBlock.cpp (118831 => 118832)


--- trunk/Source/WebCore/rendering/RenderMultiColumnBlock.cpp	2012-05-29 20:58:16 UTC (rev 118831)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnBlock.cpp	2012-05-29 21:13:05 UTC (rev 118832)
@@ -36,7 +36,7 @@
     : RenderBlock(node)
     , m_flowThread(0)
     , m_columnCount(1)
-    , m_columnWidth(0)
+    , m_columnWidth(ZERO_LAYOUT_UNIT)
     , m_columnHeight(ZERO_LAYOUT_UNIT)
 {
 }
@@ -137,6 +137,8 @@
     if (flowThread() && !firstChild()->isRenderMultiColumnSet()) {
         RenderMultiColumnSet* columnSet = new (renderArena()) RenderMultiColumnSet(document(), flowThread());
         columnSet->setStyle(RenderStyle::createAnonymousStyleWithDisplay(style(), BLOCK));
+        columnSet->setColumnWidthAndCount(columnWidth(), columnCount()); // FIXME: This will eventually vary if we are contained inside regions.
+        columnSet->setColumnHeight(columnHeight()); // FIXME: Once we make more than one column set, this will become variable.
         RenderBlock::addChild(columnSet, firstChild());
         flowThread()->addRegionToThread(columnSet);
     }

Modified: trunk/Source/WebCore/rendering/RenderMultiColumnBlock.h (118831 => 118832)


--- trunk/Source/WebCore/rendering/RenderMultiColumnBlock.h	2012-05-29 20:58:16 UTC (rev 118831)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnBlock.h	2012-05-29 21:13:05 UTC (rev 118832)
@@ -40,6 +40,9 @@
     LayoutUnit columnHeight() const { return m_columnHeight; }
     void setColumnHeight(LayoutUnit columnHeight) { m_columnHeight = columnHeight; }
 
+    LayoutUnit columnWidth() const { return m_columnWidth; }
+    unsigned columnCount() const { return m_columnCount; }
+
 private:
     virtual const char* renderName() const;
 

Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp (118831 => 118832)


--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp	2012-05-29 20:58:16 UTC (rev 118831)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp	2012-05-29 21:13:05 UTC (rev 118832)
@@ -30,6 +30,9 @@
 
 RenderMultiColumnSet::RenderMultiColumnSet(Node* node, RenderFlowThread* flowThread)
     : RenderRegionSet(node, flowThread)
+    , m_columnCount(1)
+    , m_columnWidth(ZERO_LAYOUT_UNIT)
+    , m_columnHeight(ZERO_LAYOUT_UNIT)
 {
 }
 

Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.h (118831 => 118832)


--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.h	2012-05-29 20:58:16 UTC (rev 118831)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.h	2012-05-29 21:13:05 UTC (rev 118832)
@@ -47,8 +47,26 @@
     
     virtual bool isRenderMultiColumnSet() const OVERRIDE { return true; }
 
+    unsigned columnCount() const { return m_columnCount; }
+    LayoutUnit columnWidth() const { return m_columnWidth; }
+    LayoutUnit columnHeight() const { return m_columnHeight; }
+
+    void setColumnWidthAndCount(unsigned count, LayoutUnit width)
+    {
+        m_columnCount = count;
+        m_columnWidth = width;
+    }
+    void setColumnHeight(LayoutUnit height)
+    {
+        m_columnHeight = height;
+    }
+
 private:
     virtual const char* renderName() const;
+    
+    unsigned m_columnCount;
+    LayoutUnit m_columnWidth;
+    LayoutUnit m_columnHeight;
 };
 
 } // namespace WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to