Index: Source/core/rendering/RenderBlock.cpp |
diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp |
index cb9767025d61e4116a41194b137cd10b61dd9515..ad231810717c6dc5d1c696dfd397f4c5d0d82e81 100644 |
--- a/Source/core/rendering/RenderBlock.cpp |
+++ b/Source/core/rendering/RenderBlock.cpp |
@@ -1512,6 +1512,12 @@ |
addVisualOverflow(inflatedRect); |
} |
+bool RenderBlock::createsBlockFormattingContext() const |
+{ |
+ return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated() |
+ || style()->specifiesColumns() || isRenderFlowThread() || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElement() || style()->columnSpan(); |
+} |
+ |
void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, RenderBox* child) |
{ |
// FIXME: Technically percentage height objects only need a relayout if their percentage isn't going to be turned into |
@@ -2757,6 +2763,12 @@ |
afterLowest->markDirty(); |
afterLowest = afterLowest->prevRootBox(); |
} |
+} |
+ |
+bool RenderBlock::avoidsFloats() const |
+{ |
+ // Floats can't intrude into our box if we have a non-auto column count or width. |
+ return RenderBox::avoidsFloats() || !style()->hasAutoColumnCount() || !style()->hasAutoColumnWidth(); |
} |
bool RenderBlock::isPointInOverflowControl(HitTestResult& result, const LayoutPoint& locationInContainer, const LayoutPoint& accumulatedOffset) |