Index: Source/core/layout/LayoutBlock.cpp |
diff --git a/Source/core/layout/LayoutBlock.cpp b/Source/core/layout/LayoutBlock.cpp |
index dd9facbf773689c89c04a2fa25bf0158e740a832..da8ce9cdd6dc3edb291c7b39fc23fb03abf9fcb6 100644 |
--- a/Source/core/layout/LayoutBlock.cpp |
+++ b/Source/core/layout/LayoutBlock.cpp |
@@ -1042,6 +1042,13 @@ bool LayoutBlock::createsNewFormattingContext() const |
void LayoutBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, LayoutBox& child) |
{ |
+ if (child.isOutOfFlowPositioned()) { |
dsinclair
2015/06/12 13:40:45
Doesn't this mean that an out of flow child will n
mstensho (USE GERRIT)
2015/06/12 13:45:08
The counterpart for out of flow objects seems to b
|
+ // It's rather useless to mark out-of-flow children at this point. We may not be their |
+ // containing block (and if we are, it's just pure luck), so this would be the wrong place |
+ // for it. Furthermore, it would cause trouble for out-of-flow descendants of column |
+ // spanners, if the containing block is outside the spanner but inside the multicol container. |
+ return; |
+ } |
// FIXME: Technically percentage height objects only need a relayout if their percentage isn't going to be turned into |
// an auto value. Add a method to determine this, so that we can avoid the relayout. |
bool hasRelativeLogicalHeight = child.hasRelativeLogicalHeight() |