Index: third_party/WebKit/Source/core/layout/LayoutBox.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
index 2d8b76547f427014d723e0cabd9fcb4e73367adf..1b81dd2ac4b79d62c606e69f405e4b270cc26cd2 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp |
@@ -154,7 +154,7 @@ void LayoutBox::willBeRemovedFromTree() { |
} |
void LayoutBox::removeFloatingOrPositionedChildFromBlockLists() { |
- ASSERT(isFloatingOrOutOfFlowPositioned()); |
+ DCHECK(isFloatingOrOutOfFlowPositioned()); |
if (documentBeingDestroyed()) |
return; |
@@ -270,7 +270,7 @@ void LayoutBox::styleDidChange(StyleDifference diff, |
if (hasOverflowClip() && oldStyle && |
oldStyle->effectiveZoom() != newStyle.effectiveZoom()) { |
PaintLayerScrollableArea* scrollableArea = this->getScrollableArea(); |
- ASSERT(scrollableArea); |
+ DCHECK(scrollableArea); |
// We use getScrollOffset() rather than scrollPosition(), because scroll |
// offset is the distance from the beginning of flow for the box, which is |
// the dimension we want to preserve. |
@@ -484,7 +484,7 @@ void LayoutBox::updateFromStyle() { |
} |
void LayoutBox::layout() { |
- ASSERT(needsLayout()); |
+ DCHECK(needsLayout()); |
LayoutAnalyzer::Scope analyzer(*this); |
LayoutObject* child = slowFirstChild(); |
@@ -496,7 +496,7 @@ void LayoutBox::layout() { |
LayoutState state(*this); |
while (child) { |
child->layoutIfNeeded(); |
- ASSERT(!child->needsLayout()); |
+ DCHECK(!child->needsLayout()); |
child = child->nextSibling(); |
} |
invalidateBackgroundObscurationStatus(); |
@@ -648,7 +648,7 @@ void LayoutBox::scrollRectToVisible(const LayoutRect& rect, |
const ScrollAlignment& alignY, |
ScrollType scrollType, |
bool makeVisibleInVisualViewport) { |
- ASSERT(scrollType == ProgrammaticScroll || scrollType == UserScroll); |
+ DCHECK(scrollType == ProgrammaticScroll || scrollType == UserScroll); |
// Presumably the same issue as in setScrollTop. See crbug.com/343132. |
DisableCompositingQueryAsserts disabler; |
@@ -1089,7 +1089,7 @@ void LayoutBox::scrollByRecursively(const ScrollOffset& delta) { |
if (hasOverflowClip() && !restrictedByLineClamp) { |
PaintLayerScrollableArea* scrollableArea = this->getScrollableArea(); |
- ASSERT(scrollableArea); |
+ DCHECK(scrollableArea); |
ScrollOffset newScrollOffset = scrollableArea->getScrollOffset() + delta; |
scrollableArea->setScrollOffset(newScrollOffset, ProgrammaticScroll); |
@@ -1136,8 +1136,8 @@ IntSize LayoutBox::originAdjustmentForScrollbars() const { |
} |
IntSize LayoutBox::scrolledContentOffset() const { |
- ASSERT(hasOverflowClip()); |
- ASSERT(hasLayer()); |
+ DCHECK(hasOverflowClip()); |
+ DCHECK(hasLayer()); |
// FIXME: Return DoubleSize here. crbug.com/414283. |
PaintLayerScrollableArea* scrollableArea = getScrollableArea(); |
IntSize result = |
@@ -1204,7 +1204,7 @@ LayoutUnit LayoutBox::minPreferredLogicalWidth() const { |
const_cast<LayoutBox&>(*this)); |
#endif |
const_cast<LayoutBox*>(this)->computePreferredLogicalWidths(); |
- ASSERT(!preferredLogicalWidthsDirty()); |
+ DCHECK(!preferredLogicalWidthsDirty()); |
} |
return m_minPreferredLogicalWidth; |
@@ -1218,7 +1218,7 @@ LayoutUnit LayoutBox::maxPreferredLogicalWidth() const { |
const_cast<LayoutBox&>(*this)); |
#endif |
const_cast<LayoutBox*>(this)->computePreferredLogicalWidths(); |
- ASSERT(!preferredLogicalWidthsDirty()); |
+ DCHECK(!preferredLogicalWidthsDirty()); |
} |
return m_maxPreferredLogicalWidth; |
@@ -1233,12 +1233,12 @@ bool LayoutBox::hasOverrideLogicalContentWidth() const { |
} |
void LayoutBox::setOverrideLogicalContentHeight(LayoutUnit height) { |
- ASSERT(height >= 0); |
+ DCHECK_GE(height, 0); |
ensureRareData().m_overrideLogicalContentHeight = height; |
} |
void LayoutBox::setOverrideLogicalContentWidth(LayoutUnit width) { |
- ASSERT(width >= 0); |
+ DCHECK_GE(width, 0); |
ensureRareData().m_overrideLogicalContentWidth = width; |
} |
@@ -1258,12 +1258,12 @@ void LayoutBox::clearOverrideSize() { |
} |
LayoutUnit LayoutBox::overrideLogicalContentWidth() const { |
- ASSERT(hasOverrideLogicalContentWidth()); |
+ DCHECK(hasOverrideLogicalContentWidth()); |
return m_rareData->m_overrideLogicalContentWidth; |
} |
LayoutUnit LayoutBox::overrideLogicalContentHeight() const { |
- ASSERT(hasOverrideLogicalContentHeight()); |
+ DCHECK(hasOverrideLogicalContentHeight()); |
return m_rareData->m_overrideLogicalContentHeight; |
} |
@@ -2013,7 +2013,7 @@ void LayoutBox::mapAncestorToLocal(const LayoutBoxModelObject* ancestor, |
} |
LayoutSize LayoutBox::offsetFromContainer(const LayoutObject* o) const { |
- ASSERT(o == container()); |
+ DCHECK_EQ(o, container()); |
LayoutSize offset; |
if (isInFlowPositioned()) |
@@ -2078,8 +2078,9 @@ void LayoutBox::positionLineBox(InlineBox* box) { |
} |
void LayoutBox::moveWithEdgeOfInlineContainerIfNecessary(bool isHorizontal) { |
- ASSERT(isOutOfFlowPositioned() && container()->isLayoutInline() && |
- container()->isInFlowPositioned()); |
+ DCHECK(isOutOfFlowPositioned()); |
+ DCHECK(container()->isLayoutInline()); |
+ DCHECK(container()->isInFlowPositioned()); |
// If this object is inside a relative positioned inline and its inline |
// position is an explicit offset from the edge of its container then it will |
// need to move if its inline container has changed width. We do not track if |
@@ -2263,7 +2264,7 @@ EBreakBetween LayoutBox::joinFragmentainerBreakValues( |
EBreakBetween LayoutBox::classABreakPointValue( |
EBreakBetween previousBreakAfterValue) const { |
// First assert that we're at a class A break point. |
- ASSERT(isBreakBetweenControllable(previousBreakAfterValue)); |
+ DCHECK(isBreakBetweenControllable(previousBreakAfterValue)); |
return joinFragmentainerBreakValues(previousBreakAfterValue, breakBefore()); |
} |
@@ -2360,7 +2361,8 @@ bool LayoutBox::mapToVisualRectInAncestorSpaceInternal( |
// Skip table row because cells and rows are in the same coordinate space (see |
// below, however for more comments about when |ancestor| is the table row). |
if (isTableCell()) { |
- DCHECK(container->isTableRow() && parentBox() == container); |
+ DCHECK(container->isTableRow()); |
+ DCHECK_EQ(parentBox(), container); |
if (container != ancestor) |
container = container->parent(); |
else |
@@ -2491,11 +2493,11 @@ void LayoutBox::updateLogicalWidth() { |
static float getMaxWidthListMarker(const LayoutBox* layoutObject) { |
#if DCHECK_IS_ON() |
- ASSERT(layoutObject); |
+ DCHECK(layoutObject); |
Node* parentNode = layoutObject->generatingNode(); |
- ASSERT(parentNode); |
- ASSERT(isHTMLOListElement(parentNode) || isHTMLUListElement(parentNode)); |
- ASSERT(layoutObject->style()->textAutosizingMultiplier() != 1); |
+ DCHECK(parentNode); |
+ DCHECK(isHTMLOListElement(parentNode) || isHTMLUListElement(parentNode)); |
+ DCHECK_NE(layoutObject->style()->textAutosizingMultiplier(), 1); |
#endif |
float maxWidth = 0; |
for (LayoutObject* child = layoutObject->slowFirstChild(); child; |
@@ -2648,7 +2650,7 @@ LayoutUnit LayoutBox::fillAvailableMeasure( |
LayoutUnit LayoutBox::fillAvailableMeasure(LayoutUnit availableLogicalWidth, |
LayoutUnit& marginStart, |
LayoutUnit& marginEnd) const { |
- ASSERT(availableLogicalWidth >= 0); |
+ DCHECK_GE(availableLogicalWidth, 0); |
marginStart = |
minimumValueForLength(style()->marginStart(), availableLogicalWidth); |
marginEnd = |
@@ -2694,7 +2696,7 @@ LayoutUnit LayoutBox::computeLogicalWidthUsing(SizeType widthType, |
const Length& logicalWidth, |
LayoutUnit availableLogicalWidth, |
const LayoutBlock* cb) const { |
- ASSERT(widthType == MinSize || widthType == MainOrPreferredSize || |
+ DCHECK(widthType == MinSize || widthType == MainOrPreferredSize || |
!logicalWidth.isAuto()); |
if (widthType == MinSize && logicalWidth.isAuto()) |
return adjustBorderBoxLogicalWidthForBoxSizing(0); |
@@ -2848,10 +2850,10 @@ void LayoutBox::computeMarginsForDirection(MarginDirection flowDirection, |
Length marginEndLength) const { |
// First assert that we're not calling this method on box types that don't |
// support margins. |
- ASSERT(!isTableCell()); |
- ASSERT(!isTableRow()); |
- ASSERT(!isTableSection()); |
- ASSERT(!isLayoutTableCol()); |
+ DCHECK(!isTableCell()); |
+ DCHECK(!isTableRow()); |
+ DCHECK(!isTableSection()); |
+ DCHECK(!isLayoutTableCol()); |
if (flowDirection == BlockDirection || isFloating() || isInline()) { |
// Margins are calculated with respect to the logical width of |
// the containing block (8.3) |
@@ -3061,7 +3063,7 @@ void LayoutBox::computeLogicalHeight( |
// The only times we don't check min/max height are when a fixed length |
// has been given as an override. Just use that. The value has already |
// been adjusted for box-sizing. |
- ASSERT(h.isFixed()); |
+ DCHECK(h.isFixed()); |
heightResult = LayoutUnit(h.value()) + borderAndPaddingLogicalHeight(); |
} |
@@ -3332,7 +3334,7 @@ LayoutUnit LayoutBox::computeReplacedLogicalWidthRespectingMinMaxWidth( |
LayoutUnit LayoutBox::computeReplacedLogicalWidthUsing( |
SizeType sizeType, |
const Length& logicalWidth) const { |
- ASSERT(sizeType == MinSize || sizeType == MainOrPreferredSize || |
+ DCHECK(sizeType == MinSize || sizeType == MainOrPreferredSize || |
!logicalWidth.isAuto()); |
if (sizeType == MinSize && logicalWidth.isAuto()) |
return adjustContentBoxLogicalWidthForBoxSizing(LayoutUnit()); |
@@ -3393,7 +3395,7 @@ LayoutUnit LayoutBox::computeReplacedLogicalHeight(LayoutUnit) const { |
} |
bool LayoutBox::logicalHeightComputesAsNone(SizeType sizeType) const { |
- ASSERT(sizeType == MinSize || sizeType == MaxSize); |
+ DCHECK(sizeType == MinSize || sizeType == MaxSize); |
Length logicalHeight = sizeType == MinSize ? style()->logicalMinHeight() |
: style()->logicalMaxHeight(); |
Length initialLogicalHeight = sizeType == MinSize |
@@ -3428,7 +3430,7 @@ LayoutUnit LayoutBox::computeReplacedLogicalHeightRespectingMinMaxHeight( |
LayoutUnit LayoutBox::computeReplacedLogicalHeightUsing( |
SizeType sizeType, |
const Length& logicalHeight) const { |
- ASSERT(sizeType == MinSize || sizeType == MainOrPreferredSize || |
+ DCHECK(sizeType == MinSize || sizeType == MainOrPreferredSize || |
!logicalHeight.isAuto()); |
if (sizeType == MinSize && logicalHeight.isAuto()) |
return adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit()); |
@@ -3665,8 +3667,8 @@ LayoutUnit LayoutBox::containingBlockLogicalWidthForPositioned( |
return std::max(LayoutUnit(), |
toLayoutBox(containingBlock)->clientLogicalWidth()); |
- ASSERT(containingBlock->isLayoutInline() && |
- containingBlock->isInFlowPositioned()); |
+ DCHECK(containingBlock->isLayoutInline()); |
+ DCHECK(containingBlock->isInFlowPositioned()); |
const LayoutInline* flow = toLayoutInline(containingBlock); |
InlineFlowBox* first = flow->firstLineBox(); |
@@ -3723,8 +3725,8 @@ LayoutUnit LayoutBox::containingBlockLogicalHeightForPositioned( |
return cb->clientLogicalHeight(); |
} |
- ASSERT(containingBlock->isLayoutInline() && |
- containingBlock->isInFlowPositioned()); |
+ DCHECK(containingBlock->isLayoutInline()); |
+ DCHECK(containingBlock->isInFlowPositioned()); |
const LayoutInline* flow = toLayoutInline(containingBlock); |
InlineFlowBox* first = flow->firstLineBox(); |
@@ -4007,7 +4009,7 @@ void LayoutBox::computePositionedLogicalWidthUsing( |
LogicalExtentComputedValues& computedValues) const { |
LayoutUnit logicalWidthValue; |
- ASSERT(widthSizeType == MinSize || widthSizeType == MainOrPreferredSize || |
+ DCHECK(widthSizeType == MinSize || widthSizeType == MainOrPreferredSize || |
!logicalWidth.isAuto()); |
if (widthSizeType == MinSize && logicalWidth.isAuto()) |
logicalWidthValue = LayoutUnit(); |
@@ -4022,7 +4024,7 @@ void LayoutBox::computePositionedLogicalWidthUsing( |
// 'left' and 'right' cannot both be 'auto' because one would of been |
// converted to the static position already |
- ASSERT(!(logicalLeft.isAuto() && logicalRight.isAuto())); |
+ DCHECK(!(logicalLeft.isAuto() && logicalRight.isAuto())); |
// minimumValueForLength will convert 'auto' to 0 so that it doesn't impact |
// the available space computation below. |
@@ -4406,14 +4408,14 @@ void LayoutBox::computePositionedLogicalHeightUsing( |
const Length& marginBefore, |
const Length& marginAfter, |
LogicalExtentComputedValues& computedValues) const { |
- ASSERT(heightSizeType == MinSize || heightSizeType == MainOrPreferredSize || |
+ DCHECK(heightSizeType == MinSize || heightSizeType == MainOrPreferredSize || |
!logicalHeightLength.isAuto()); |
if (heightSizeType == MinSize && logicalHeightLength.isAuto()) |
logicalHeightLength = Length(0, Fixed); |
// 'top' and 'bottom' cannot both be 'auto' because 'top would of been |
// converted to the static position in computePositionedLogicalHeight() |
- ASSERT(!(logicalTop.isAuto() && logicalBottom.isAuto())); |
+ DCHECK(!(logicalTop.isAuto() && logicalBottom.isAuto())); |
LayoutUnit logicalHeightValue; |
LayoutUnit contentLogicalHeight = logicalHeight - bordersPlusPadding; |
@@ -4842,12 +4844,12 @@ void LayoutBox::markChildForPaginationRelayoutIfNeeded( |
} |
void LayoutBox::markOrthogonalWritingModeRoot() { |
- ASSERT(frameView()); |
+ DCHECK(frameView()); |
frameView()->addOrthogonalWritingModeRoot(*this); |
} |
void LayoutBox::unmarkOrthogonalWritingModeRoot() { |
- ASSERT(frameView()); |
+ DCHECK(frameView()); |
frameView()->removeOrthogonalWritingModeRoot(*this); |
} |
@@ -4862,7 +4864,7 @@ void LayoutBox::addVisualEffectOverflow() { |
} |
LayoutRectOutsets LayoutBox::computeVisualEffectOverflowOutsets() { |
- ASSERT(style()->hasVisualOverflowingEffect()); |
+ DCHECK(style()->hasVisualOverflowingEffect()); |
LayoutUnit top; |
LayoutUnit right; |
@@ -5105,7 +5107,7 @@ int LayoutBox::baselinePosition(FontBaseline baselineType, |
bool /*firstLine*/, |
LineDirectionMode direction, |
LinePositionMode linePositionMode) const { |
- ASSERT(linePositionMode == PositionOnContainingLine); |
+ DCHECK_EQ(linePositionMode, PositionOnContainingLine); |
if (isAtomicInlineLevel()) { |
int result = direction == HorizontalLine |
? roundToInt(marginHeight() + size().height()) |
@@ -5297,7 +5299,7 @@ LayoutPoint LayoutBox::physicalLocation( |
const LayoutBox* flippedBlocksContainer) const { |
const LayoutBox* containerBox; |
if (flippedBlocksContainer) { |
- DCHECK(flippedBlocksContainer == locationContainer()); |
+ DCHECK_EQ(flippedBlocksContainer, locationContainer()); |
containerBox = flippedBlocksContainer; |
} else { |
containerBox = locationContainer(); |
@@ -5367,11 +5369,11 @@ LayoutObject* LayoutBox::splitAnonymousBoxesAroundChild( |
boxToSplit->moveChildrenTo(postBox, beforeChild, 0, true); |
LayoutObject* child = postBox->slowFirstChild(); |
- ASSERT(child); |
+ DCHECK(child); |
if (child && !child->nextSibling()) |
collapseLoneAnonymousBlockChild(postBox, child); |
child = boxToSplit->slowFirstChild(); |
- ASSERT(child); |
+ DCHECK(child); |
if (child && !child->nextSibling()) |
collapseLoneAnonymousBlockChild(boxToSplit, child); |
@@ -5393,7 +5395,7 @@ LayoutObject* LayoutBox::splitAnonymousBoxesAroundChild( |
markBoxForRelayoutAfterSplit(this); |
} |
- ASSERT(beforeChild->parent() == this); |
+ DCHECK_EQ(beforeChild->parent(), this); |
return beforeChild; |
} |
@@ -5409,12 +5411,12 @@ LayoutUnit LayoutBox::offsetFromLogicalTopOfFirstPage() const { |
// A LayoutBlock always establishes a layout state, and this method is only |
// meant to be called on the object currently being laid out. |
- ASSERT(!isLayoutBlock()); |
+ DCHECK(!isLayoutBlock()); |
// In case this box doesn't establish a layout state, try the containing |
// block. |
LayoutBlock* containerBlock = containingBlock(); |
- ASSERT(layoutState->layoutObject() == containerBlock); |
+ DCHECK(layoutState->layoutObject() == containerBlock); |
return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); |
} |
@@ -5587,7 +5589,7 @@ void LayoutBox::clearPreviousVisualRects() { |
} |
void LayoutBox::setPercentHeightContainer(LayoutBlock* container) { |
- ASSERT(!container || !percentHeightContainer()); |
+ DCHECK(!container || !percentHeightContainer()); |
if (!container && !m_rareData) |
return; |
ensureRareData().m_percentHeightContainer = container; |
@@ -5597,11 +5599,11 @@ void LayoutBox::removeFromPercentHeightContainer() { |
if (!percentHeightContainer()) |
return; |
- ASSERT(percentHeightContainer()->hasPercentHeightDescendant(this)); |
+ DCHECK(percentHeightContainer()->hasPercentHeightDescendant(this)); |
percentHeightContainer()->removePercentHeightDescendant(this); |
// The above call should call this object's |
// setPercentHeightContainer(nullptr). |
- ASSERT(!percentHeightContainer()); |
+ DCHECK(!percentHeightContainer()); |
} |
void LayoutBox::clearPercentHeightDescendants() { |
@@ -5663,8 +5665,8 @@ LayoutUnit LayoutBox::calculatePaginationStrutToFitContent( |
LayoutUnit offset, |
LayoutUnit strutToNextPage, |
LayoutUnit contentLogicalHeight) const { |
- ASSERT(strutToNextPage == |
- pageRemainingLogicalHeightForOffset(offset, AssociateWithLatterPage)); |
+ DCHECK_EQ(strutToNextPage, pageRemainingLogicalHeightForOffset( |
+ offset, AssociateWithLatterPage)); |
// If we're a cell in a row that straddles a page then avoid the repeating |
// header group if necessary. |
if (isTableCell()) { |