Diff
Modified: trunk/LayoutTests/ChangeLog (143545 => 143546)
--- trunk/LayoutTests/ChangeLog 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/LayoutTests/ChangeLog 2013-02-21 02:02:24 UTC (rev 143546)
@@ -1,3 +1,13 @@
+2013-02-20 David Hyatt <hy...@apple.com>
+
+ [New Multicolumn] Fix overflow computation for column blocks.
+ https://bugs.webkit.org/show_bug.cgi?id=110392.
+
+ Reviewed by Simon Fraser.
+
+ * fast/multicol/newmulticol/column-rules-fixed-height-expected.html:
+ * fast/multicol/newmulticol/column-rules-fixed-height.html:
+
2013-02-20 Christian Biesinger <cbiesin...@chromium.org>
Incorrect rendering for flex boxes with percentage height in a table cell
Modified: trunk/LayoutTests/fast/multicol/newmulticol/column-rules-fixed-height-expected.html (143545 => 143546)
--- trunk/LayoutTests/fast/multicol/newmulticol/column-rules-fixed-height-expected.html 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/LayoutTests/fast/multicol/newmulticol/column-rules-fixed-height-expected.html 2013-02-21 02:02:24 UTC (rev 143546)
@@ -1,4 +1,4 @@
-<body style="overflow:hidden">
+<body>
<div style="-webkit-columns: 3; -webkit-column-rule: 4px solid maroon; padding: 0 10px; border:5px solid black; height:300px;">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla varius enim ac mi. Curabitur sollicitudin felis quis lectus. Quisque adipiscing rhoncus sem. Proin nulla purus, vulputate vel, varius ut, euismod et, nisi. Sed vitae felis vel orci sagittis aliquam. Cras convallis adipiscing sem. Nam nonummy enim. Nullam bibendum lobortis neque. Vestibulum velit orci, tempus euismod, pretium quis, interdum vitae, nulla. Phasellus eget ante et tortor condimentum vestibulum.
Suspendisse hendrerit quam nec felis. Sed varius turpis vitae pede. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin bibendum justo ac enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed leo nulla, rutrum eu, dictum ut, posuere vel, arcu. Nam libero. Morbi orci. Maecenas pellentesque. Curabitur erat erat, ullamcorper at, gravida vitae, iaculis vitae, elit. Nullam quam. Quisque orci lectus, ullamcorper eu, imperdiet sed, accumsan et, ligula. Duis diam nisl, sagittis a, blandit volutpat, interdum sed, velit. <a href="" quam.</a>
Modified: trunk/LayoutTests/fast/multicol/newmulticol/column-rules-fixed-height.html (143545 => 143546)
--- trunk/LayoutTests/fast/multicol/newmulticol/column-rules-fixed-height.html 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/LayoutTests/fast/multicol/newmulticol/column-rules-fixed-height.html 2013-02-21 02:02:24 UTC (rev 143546)
@@ -1,7 +1,7 @@
<script>
internals.settings.setRegionBasedColumnsEnabled(true)
</script>
-<body style="overflow:hidden">
+<body>
<div style="-webkit-columns: 3; -webkit-column-rule: 4px solid maroon; padding: 0 10px; border:5px solid black; height:300px;">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla varius enim ac mi. Curabitur sollicitudin felis quis lectus. Quisque adipiscing rhoncus sem. Proin nulla purus, vulputate vel, varius ut, euismod et, nisi. Sed vitae felis vel orci sagittis aliquam. Cras convallis adipiscing sem. Nam nonummy enim. Nullam bibendum lobortis neque. Vestibulum velit orci, tempus euismod, pretium quis, interdum vitae, nulla. Phasellus eget ante et tortor condimentum vestibulum.
Suspendisse hendrerit quam nec felis. Sed varius turpis vitae pede. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin bibendum justo ac enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed leo nulla, rutrum eu, dictum ut, posuere vel, arcu. Nam libero. Morbi orci. Maecenas pellentesque. Curabitur erat erat, ullamcorper at, gravida vitae, iaculis vitae, elit. Nullam quam. Quisque orci lectus, ullamcorper eu, imperdiet sed, accumsan et, ligula. Duis diam nisl, sagittis a, blandit volutpat, interdum sed, velit. <a href="" quam.</a>
Modified: trunk/Source/WebCore/ChangeLog (143545 => 143546)
--- trunk/Source/WebCore/ChangeLog 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/Source/WebCore/ChangeLog 2013-02-21 02:02:24 UTC (rev 143546)
@@ -1,3 +1,24 @@
+2013-02-20 David Hyatt <hy...@apple.com>
+
+ [New Multicolumn] Fix overflow computation for column blocks.
+ https://bugs.webkit.org/show_bug.cgi?id=110392.
+
+ Reviewed by Simon Fraser.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::addOverflowFromChild):
+ Exclude in-flow RenderFlowThreads from overflow propagation.
+
+ * rendering/RenderMultiColumnSet.h:
+ * rendering/RenderRegion.h:
+ (WebCore::RenderRegion::shouldHaveAutoLogicalHeight):
+ * rendering/RenderRegionSet.h:
+ (RenderRegionSet):
+ Override shouldHaveAutoLogicalHeight to always be false
+ for region sets and for columns. Eventually we're going to try
+ to leverage this code to do column balancing, and that's why
+ RenderMultiColumnSet has a unique override.
+
2013-02-20 Brandon Jones <bajo...@google.com>
Printing WebGL canvases in Chrome uses stale data after first print
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (143545 => 143546)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2013-02-21 02:02:24 UTC (rev 143546)
@@ -4025,6 +4025,10 @@
void RenderBox::addOverflowFromChild(RenderBox* child, const LayoutSize& delta)
{
+ // Never allow flow threads to propagate overflow up to a parent.
+ if (child->isRenderFlowThread())
+ return;
+
// Only propagate layout overflow from the child if the child isn't clipping its overflow. If it is, then
// its overflow is internal to it, and we don't care about it. layoutOverflowRectForPropagation takes care of this
// and just propagates the border box rect instead.
Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.h (143545 => 143546)
--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.h 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.h 2013-02-21 02:02:24 UTC (rev 143546)
@@ -104,6 +104,10 @@
// FIXME: This will change once we have column sets constrained by enclosing pages, etc.
virtual LayoutUnit logicalHeightOfAllFlowThreadContent() const OVERRIDE { return m_computedColumnHeight; }
+
+ // FIXME: For now we return false, but it's likely we will leverage the auto height region code to do column
+ // balancing. That's why we have an override of this function that is distinct from RenderRegionSet's override.
+ virtual bool shouldHaveAutoLogicalHeight() const OVERRIDE { return false; }
virtual void repaintFlowThreadContent(const LayoutRect& repaintRect, bool immediate) const OVERRIDE;
Modified: trunk/Source/WebCore/rendering/RenderRegion.cpp (143545 => 143546)
--- trunk/Source/WebCore/rendering/RenderRegion.cpp 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/Source/WebCore/rendering/RenderRegion.cpp 2013-02-21 02:02:24 UTC (rev 143546)
@@ -232,6 +232,13 @@
}
}
+bool RenderRegion::shouldHaveAutoLogicalHeight() const
+{
+ bool hasSpecifiedEndpointsForHeight = style()->logicalTop().isSpecified() && style()->logicalBottom().isSpecified();
+ bool hasAnchoredEndpointsForHeight = isOutOfFlowPositioned() && hasSpecifiedEndpointsForHeight;
+ return style()->logicalHeight().isAuto() && !hasAnchoredEndpointsForHeight;
+}
+
void RenderRegion::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
{
RenderBlock::styleDidChange(diff, oldStyle);
Modified: trunk/Source/WebCore/rendering/RenderRegion.h (143545 => 143546)
--- trunk/Source/WebCore/rendering/RenderRegion.h 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/Source/WebCore/rendering/RenderRegion.h 2013-02-21 02:02:24 UTC (rev 143546)
@@ -135,18 +135,13 @@
void repaintFlowThreadContentRectangle(const LayoutRect& repaintRect, bool immediate, const LayoutRect& flowThreadPortionRect,
const LayoutRect& flowThreadPortionOverflowRect, const LayoutPoint& regionLocation) const;
+ virtual bool shouldHaveAutoLogicalHeight() const;
+
private:
virtual const char* renderName() const { return "RenderRegion"; }
virtual bool canHaveChildren() const OVERRIDE { return false; }
- bool shouldHaveAutoLogicalHeight() const
- {
- bool hasSpecifiedEndpointsForHeight = style()->logicalTop().isSpecified() && style()->logicalBottom().isSpecified();
- bool hasAnchoredEndpointsForHeight = isOutOfFlowPositioned() && hasSpecifiedEndpointsForHeight;
- return style()->logicalHeight().isAuto() && !hasAnchoredEndpointsForHeight;
- }
-
virtual void insertedIntoTree() OVERRIDE;
virtual void willBeRemovedFromTree() OVERRIDE;
Modified: trunk/Source/WebCore/rendering/RenderRegionSet.h (143545 => 143546)
--- trunk/Source/WebCore/rendering/RenderRegionSet.h 2013-02-21 01:35:01 UTC (rev 143545)
+++ trunk/Source/WebCore/rendering/RenderRegionSet.h 2013-02-21 02:02:24 UTC (rev 143546)
@@ -49,6 +49,9 @@
public:
RenderRegionSet(Element*, RenderFlowThread*);
+protected:
+ virtual bool shouldHaveAutoLogicalHeight() const OVERRIDE { return false; }
+
private:
virtual void installFlowThread() OVERRIDE;