Index: Source/core/rendering/RenderBlock.cpp |
diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp |
index f39d9bd445ca86b51cb3b1e0d4ae18f7f0520333..1ac866992959d386e54e9aaf2f2c426d9c50ccc4 100644 |
--- a/Source/core/rendering/RenderBlock.cpp |
+++ b/Source/core/rendering/RenderBlock.cpp |
@@ -86,7 +86,6 @@ struct SameSizeAsRenderBlock : public RenderBox { |
struct SameSizeAsRenderBlockRareData { |
int paginationStrut; |
int pageLogicalOffset; |
- void* pointers[1]; |
uint32_t bitfields; |
}; |
@@ -328,8 +327,6 @@ void RenderBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldSty |
RenderStyle* newStyle = style(); |
- updateShapeInsideInfoAfterStyleChange(newStyle->resolvedShapeInside(), oldStyle ? oldStyle->resolvedShapeInside() : RenderStyle::initialShapeInside()); |
- |
if (!isAnonymousBlock()) { |
// Ensure that all of our continuation blocks pick up the new style. |
for (RenderBlock* currCont = blockElementContinuation(); currCont; currCont = currCont->blockElementContinuation()) { |
@@ -1327,36 +1324,6 @@ bool RenderBlock::updateImageLoadingPriorities() |
return true; |
} |
-void RenderBlock::relayoutShapeDescendantIfMoved(RenderBlock* child, LayoutSize offset) |
-{ |
- LayoutUnit left = isHorizontalWritingMode() ? offset.width() : offset.height(); |
- if (!left || !child || child->shapeInsideInfo() || !layoutShapeInsideInfo()) |
- return; |
- // Propagate layout markers only up to the child, as we are still in the middle |
- // of a layout pass |
- child->setNormalChildNeedsLayout(true); |
- child->markShapeInsideDescendantsForLayout(); |
- child->layoutIfNeeded(); |
-} |
- |
-ShapeInsideInfo* RenderBlock::layoutShapeInsideInfo() const |
-{ |
- if (ShapeInsideInfo* shapeInsideInfo = view()->layoutState()->shapeInsideInfo()) |
- return shapeInsideInfo; |
- |
- RenderFlowThread* flowThread = flowThreadContainingBlock(); |
- if (allowsShapeInsideInfoSharing(flowThread)) { |
- LayoutUnit lineHeight = this->lineHeight(false, isHorizontalWritingMode() ? HorizontalLine : VerticalLine, PositionOfInteriorLineBoxes); |
- // regionAtBlockOffset returns regions like an array first={0,N-1}, second={N,M-1}, ... |
- LayoutUnit offset = logicalHeight() + lineHeight - LayoutUnit(1); |
- RenderRegion* region = regionAtBlockOffset(offset); |
- if (region && region->logicalHeight()) |
- return region->shapeInsideInfo(); |
- } |
- |
- return 0; |
-} |
- |
LayoutSize RenderBlock::logicalOffsetFromShapeAncestorContainer(const RenderBlock* container) const |
{ |
const RenderBlock* currentBlock = this; |
@@ -1389,91 +1356,6 @@ LayoutSize RenderBlock::logicalOffsetFromShapeAncestorContainer(const RenderBloc |
return result; |
} |
-void RenderBlock::imageChanged(WrappedImagePtr image, const IntRect*) |
-{ |
- RenderBox::imageChanged(image); |
- |
- if (!parent() || !everHadLayout()) |
- return; |
- |
- ShapeValue* shapeValue = style()->shapeInside(); |
- if (shapeValue && shapeValue->image() && shapeValue->image()->data() == image) { |
- ShapeInsideInfo& shapeInsideInfo = ensureShapeInsideInfo(); |
- shapeInsideInfo.markShapeAsDirty(); |
- markShapeInsideDescendantsForLayout(); |
- } |
-} |
- |
-void RenderBlock::updateShapeInsideInfoAfterStyleChange(const ShapeValue* shapeInside, const ShapeValue* oldShapeInside) |
-{ |
- // FIXME: A future optimization would do a deep comparison for equality. |
- if (shapeInside == oldShapeInside) |
- return; |
- |
- if (shapeInside) { |
- ShapeInsideInfo& shapeInsideInfo = ensureShapeInsideInfo(); |
- shapeInsideInfo.markShapeAsDirty(); |
- } else { |
- setShapeInsideInfo(nullptr); |
- markShapeInsideDescendantsForLayout(); |
- } |
-} |
- |
-static inline bool shapeInfoRequiresRelayout(const RenderBlock* block) |
-{ |
- ShapeInsideInfo* info = block->shapeInsideInfo(); |
- if (info) |
- info->setNeedsLayout(info->isShapeDirty()); |
- else |
- info = block->layoutShapeInsideInfo(); |
- return info && info->needsLayout(); |
-} |
- |
-bool RenderBlock::updateRegionsAndShapesLogicalSize(RenderFlowThread* flowThread) |
-{ |
- if (!flowThread && !shapeInsideInfo()) |
- return shapeInfoRequiresRelayout(this); |
- |
- LayoutUnit oldHeight = logicalHeight(); |
- LayoutUnit oldTop = logicalTop(); |
- |
- // Compute the maximum logical height content may cause this block to expand to |
- // FIXME: These should eventually use the const computeLogicalHeight rather than updateLogicalHeight |
- setLogicalHeight(RenderFlowThread::maxLogicalHeight()); |
- updateLogicalHeight(); |
- |
- computeShapeSize(); |
- |
- // Set our start and end regions. No regions above or below us will be considered by our children. They are |
- // effectively clamped to our region range. |
- computeRegionRangeForBlock(flowThread); |
- |
- setLogicalHeight(oldHeight); |
- setLogicalTop(oldTop); |
- |
- return shapeInfoRequiresRelayout(this); |
-} |
- |
-void RenderBlock::computeShapeSize() |
-{ |
- ShapeInsideInfo* shapeInsideInfo = this->shapeInsideInfo(); |
- if (!shapeInsideInfo) |
- return; |
- |
- bool percentageLogicalHeightResolvable = percentageLogicalHeightIsResolvableFromBlock(this, false); |
- shapeInsideInfo->setReferenceBoxLogicalSize(LayoutSize(logicalWidth(), percentageLogicalHeightResolvable ? logicalHeight() : LayoutUnit())); |
-} |
- |
-void RenderBlock::updateRegionsAndShapesAfterChildLayout(RenderFlowThread* flowThread, bool heightChanged) |
-{ |
- // A previous sibling has changed dimension, so we need to relayout the shape with the content |
- ShapeInsideInfo* shapeInsideInfo = layoutShapeInsideInfo(); |
- if (heightChanged && shapeInsideInfo) |
- shapeInsideInfo->markShapeAsDirty(); |
- |
- computeRegionRangeForBlock(flowThread); |
-} |
- |
void RenderBlock::computeRegionRangeForBlock(RenderFlowThread* flowThread) |
{ |
if (flowThread) |
@@ -2826,22 +2708,6 @@ bool RenderBlock::avoidsFloats() const |
return RenderBox::avoidsFloats() || !style()->hasAutoColumnCount() || !style()->hasAutoColumnWidth(); |
} |
-void RenderBlock::markShapeInsideDescendantsForLayout() |
-{ |
- if (!everHadLayout()) |
- return; |
- if (childrenInline()) { |
- setNeedsLayout(); |
- return; |
- } |
- for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { |
- if (!child->isRenderBlock()) |
- continue; |
- RenderBlock* childBlock = toRenderBlock(child); |
- childBlock->markShapeInsideDescendantsForLayout(); |
- } |
-} |
- |
bool RenderBlock::isPointInOverflowControl(HitTestResult& result, const LayoutPoint& locationInContainer, const LayoutPoint& accumulatedOffset) |
{ |
if (!scrollsOverflow()) |