Index: third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
index 49df4d3ae6b1f70e3d46f869d23637d4588d4080..aa66cc7b89bf6be95c0b58459914bd4b2c9e5ecc 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
@@ -125,7 +125,7 @@ static inline InlineBox* createInlineBoxForLayoutObject( |
bool isRootLineBox, |
bool isOnlyRun = false) { |
// Callers should handle text themselves. |
- ASSERT(!lineLayoutItem.isText()); |
+ DCHECK(!lineLayoutItem.isText()); |
if (isRootLineBox) |
return LineLayoutBlockFlow(lineLayoutItem).createAndAppendRootInlineBox(); |
@@ -138,7 +138,7 @@ static inline InlineBox* createInlineBoxForLayoutObject( |
static inline InlineTextBox* createInlineBoxForText(BidiRun& run, |
bool isOnlyRun) { |
- ASSERT(run.m_lineLayoutItem.isText()); |
+ DCHECK(run.m_lineLayoutItem.isText()); |
LineLayoutText text = LineLayoutText(run.m_lineLayoutItem); |
InlineTextBox* textBox = |
text.createInlineTextBox(run.m_start, run.m_stop - run.m_start); |
@@ -272,7 +272,7 @@ static bool reachedEndOfTextRun(const BidiRunList<BidiRun>& bidiRuns) { |
RootInlineBox* LayoutBlockFlow::constructLine(BidiRunList<BidiRun>& bidiRuns, |
const LineInfo& lineInfo) { |
- ASSERT(bidiRuns.firstRun()); |
+ DCHECK(bidiRuns.firstRun()); |
bool rootHasSelectedChildren = false; |
InlineFlowBox* parentBox = nullptr; |
@@ -296,7 +296,7 @@ RootInlineBox* LayoutBlockFlow::constructLine(BidiRunList<BidiRun>& bidiRuns, |
createInlineBoxForLayoutObject(r->m_lineLayoutItem, false, isOnlyRun); |
r->m_box = box; |
- ASSERT(box); |
+ DCHECK(box); |
if (!box) |
continue; |
@@ -328,7 +328,8 @@ RootInlineBox* LayoutBlockFlow::constructLine(BidiRunList<BidiRun>& bidiRuns, |
// We should have a root inline box. It should be unconstructed and |
// be the last continuation of our line list. |
- ASSERT(lastLineBox() && !lastLineBox()->isConstructed()); |
+ DCHECK(lastLineBox()); |
+ DCHECK(!lastLineBox()->isConstructed()); |
// Set the m_selectedChildren flag on the root inline box if one of the leaf |
// inline box from the bidi runs walk above has a selection state. |
@@ -652,19 +653,19 @@ static inline void setLogicalWidthForTextRun( |
run->m_box->setLogicalWidth(LayoutUnit(measuredWidth) + hyphenWidth); |
if (!fallbackFonts.isEmpty()) { |
- ASSERT(run->m_box->isText()); |
+ DCHECK(run->m_box->isText()); |
GlyphOverflowAndFallbackFontsMap::ValueType* it = |
textBoxDataMap |
.insert(toInlineTextBox(run->m_box), |
std::make_pair(Vector<const SimpleFontData*>(), |
GlyphOverflow())) |
.storedValue; |
- ASSERT(it->value.first.isEmpty()); |
+ DCHECK(it->value.first.isEmpty()); |
copyToVector(fallbackFonts, it->value.first); |
run->m_box->parent()->clearDescendantsHaveSameLineHeightAndBaseline(); |
} |
if (!glyphOverflow.isApproximatelyZero()) { |
- ASSERT(run->m_box->isText()); |
+ DCHECK(run->m_box->isText()); |
GlyphOverflowAndFallbackFontsMap::ValueType* it = |
textBoxDataMap |
.insert(toInlineTextBox(run->m_box), |
@@ -906,7 +907,7 @@ void LayoutBlockFlow::computeBlockDirectionPositionsForLine( |
// Now make sure we place replaced layout objects correctly. |
for (BidiRun* r = firstRun; r; r = r->next()) { |
- ASSERT(r->m_box); |
+ DCHECK(r->m_box); |
if (!r->m_box) |
continue; // Skip runs with no line boxes. |
@@ -928,7 +929,7 @@ void LayoutBlockFlow::computeBlockDirectionPositionsForLine( |
void LayoutBlockFlow::appendFloatingObjectToLastLine( |
FloatingObject& floatingObject) { |
- ASSERT(!floatingObject.originatingLine()); |
+ DCHECK(!floatingObject.originatingLine()); |
floatingObject.setOriginatingLine(lastRootBox()); |
lastRootBox()->appendFloat(floatingObject.layoutObject()); |
} |
@@ -976,7 +977,7 @@ RootInlineBox* LayoutBlockFlow::createLineBoxesFromBidiRuns( |
// contains reversed text or not. If we wouldn't do that editing and thus |
// text selection in RTL boxes would not work as expected. |
if (isSVGRootInlineBox) { |
- ASSERT(isSVGText()); |
+ DCHECK(isSVGText()); |
toSVGRootInlineBox(lineBox)->computePerCharacterLayoutInformation(); |
} |
@@ -1052,7 +1053,7 @@ void LayoutBlockFlow::appendFloatsToLastLine( |
if (layoutState.lastFloat()) { |
FloatingObjectSetIterator lastFloatIterator = |
floatingObjectSet.find(layoutState.lastFloat()); |
- ASSERT(lastFloatIterator != end); |
+ DCHECK(lastFloatIterator != end); |
++lastFloatIterator; |
it = lastFloatIterator; |
} |
@@ -1073,8 +1074,8 @@ void LayoutBlockFlow::appendFloatsToLastLine( |
} |
} |
appendFloatingObjectToLastLine(floatingObject); |
- ASSERT(floatingObject.layoutObject() == |
- layoutState.floats()[layoutState.floatIndex()].object); |
+ DCHECK_EQ(floatingObject.layoutObject(), |
+ layoutState.floats()[layoutState.floatIndex()].object); |
// If a float's geometry has changed, give up on syncing with clean lines. |
if (layoutState.floats()[layoutState.floatIndex()].rect != |
floatingObject.frameRect()) { |
@@ -1115,7 +1116,7 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange( |
while (!endOfLine.atEnd()) { |
// The runs from the previous line should have been cleaned up. |
- ASSERT(!resolver.runs().runCount()); |
+ DCHECK(!resolver.runs().runCount()); |
// FIXME: Is this check necessary before the first iteration or can it be |
// moved to the end? |
@@ -1156,12 +1157,12 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange( |
break; |
} |
- ASSERT(endOfLine != resolver.position()); |
+ DCHECK(endOfLine != resolver.position()); |
RootInlineBox* lineBox = nullptr; |
// This is a short-cut for empty lines. |
if (layoutState.lineInfo().isEmpty()) { |
- ASSERT(!paginationStrutFromDeletedLine); |
+ DCHECK(!paginationStrutFromDeletedLine); |
if (lastRootBox()) |
lastRootBox()->setLineBreakInfo(endOfLine.getLineLayoutItem(), |
endOfLine.offset(), resolver.status()); |
@@ -1196,7 +1197,7 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange( |
constructBidiRunsForLine( |
resolver, bidiRuns, endOfLine, override, |
layoutState.lineInfo().previousLineBrokeCleanly(), isNewUBAParagraph); |
- ASSERT(resolver.position() == endOfLine); |
+ DCHECK(resolver.position() == endOfLine); |
BidiRun* trailingSpaceRun = resolver.trailingSpaceRun(); |
@@ -1220,7 +1221,7 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange( |
// If we decided to re-create the line due to pagination, we better have a |
// new line now. |
- ASSERT(lineBox || !paginationStrutFromDeletedLine); |
+ DCHECK(lineBox || !paginationStrutFromDeletedLine); |
if (lineBox) { |
lineBox->setLineBreakInfo(endOfLine.getLineLayoutItem(), |
@@ -1254,10 +1255,10 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange( |
// so that we can re-apply it when the new line has been |
// created. |
paginationStrutFromDeletedLine = lineBox->paginationStrut(); |
- ASSERT(paginationStrutFromDeletedLine); |
+ DCHECK(paginationStrutFromDeletedLine); |
// We're also going to assume that we're right after a page |
// break when re-creating this line, so it better be so. |
- ASSERT(lineBox->isFirstAfterPageBreak()); |
+ DCHECK(lineBox->isFirstAfterPageBreak()); |
lineBox->deleteLine(); |
endOfLine = restartLayoutRunsAndFloatsInRange( |
oldLogicalHeight, oldLogicalHeight + adjustment, |
@@ -1307,7 +1308,7 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange( |
} |
// The resolver runs should have been cleared, otherwise they're leaking. |
- ASSERT(!resolver.runs().runCount()); |
+ DCHECK(!resolver.runs().runCount()); |
// In case we already adjusted the line positions during this layout to avoid |
// widows then we need to ignore the possibility of having a new widows |
@@ -1398,7 +1399,7 @@ void LayoutBlockFlow::linkToEndLineIfNeeded(LineLayoutState& layoutState) { |
if (Vector<LayoutBox*>* cleanLineFloats = line->floatsPtr()) { |
for (auto* box : *cleanLineFloats) { |
FloatingObject* floatingObject = insertFloatingObject(*box); |
- ASSERT(!floatingObject->originatingLine()); |
+ DCHECK(!floatingObject->originatingLine()); |
floatingObject->setOriginatingLine(line); |
LayoutUnit logicalTop = |
logicalTopForChild(*box) - marginBeforeForChild(*box) + delta; |
@@ -2087,7 +2088,8 @@ RootInlineBox* LayoutBlockFlow::determineStartPosition( |
deleteLineBoxTree(); |
curr = nullptr; |
- ASSERT(!firstLineBox() && !lastLineBox()); |
+ DCHECK(!firstLineBox()); |
+ DCHECK(!lastLineBox()); |
} else { |
if (firstLineBoxWithBreakAndClearance) |
curr = firstLineBoxWithBreakAndClearance; |
@@ -2124,12 +2126,12 @@ RootInlineBox* LayoutBlockFlow::determineStartPosition( |
if (Vector<LayoutBox*>* cleanLineFloats = line->floatsPtr()) { |
for (auto* box : *cleanLineFloats) { |
FloatingObject* floatingObject = insertFloatingObject(*box); |
- ASSERT(!floatingObject->originatingLine()); |
+ DCHECK(!floatingObject->originatingLine()); |
floatingObject->setOriginatingLine(line); |
LayoutUnit logicalTop = |
logicalTopForChild(*box) - marginBeforeForChild(*box); |
placeNewFloats(logicalTop); |
- ASSERT(layoutState.floats()[numCleanFloats].object == box); |
+ DCHECK_EQ(layoutState.floats()[numCleanFloats].object, box); |
numCleanFloats++; |
} |
} |
@@ -2182,7 +2184,7 @@ void LayoutBlockFlow::determineEndPosition(LineLayoutState& layoutState, |
RootInlineBox* startLine, |
InlineIterator& cleanLineStart, |
BidiStatus& cleanLineBidiStatus) { |
- ASSERT(!layoutState.endLine()); |
+ DCHECK(!layoutState.endLine()); |
RootInlineBox* last = nullptr; |
for (RootInlineBox* curr = startLine->nextRootBox(); curr; |
curr = curr->nextRootBox()) { |
@@ -2307,7 +2309,7 @@ bool LayoutBlockFlow::matchedEndLine(LineLayoutState& layoutState, |
bool LayoutBlockFlow::generatesLineBoxesForInlineChild(LayoutObject* inlineObj) |
{ |
- ASSERT(inlineObj->parent() == this); |
+ DCHECK_EQ(inlineObj->parent(), this); |
InlineIterator it(LineLayoutBlockFlow(this), LineLayoutItem(inlineObj), 0); |
// FIXME: We should pass correct value for WhitespacePosition. |
@@ -2416,7 +2418,7 @@ void LayoutBlockFlow::checkLinesForTextOverflow() { |
ellipsisWidth = (font == firstLineFont) ? firstLineEllipsisWidth : 0; |
if (!ellipsisWidth) { |
- ASSERT(font.primaryFont()); |
+ DCHECK(font.primaryFont()); |
if (font.primaryFont()->glyphForCharacter(horizontalEllipsisCharacter)) { |
ellipsisWidth = |
font.width(constructTextRun(font, &horizontalEllipsisCharacter, 1, |
@@ -2614,7 +2616,7 @@ LayoutUnit LayoutBlockFlow::startAlignedOffsetForLine( |
} |
void LayoutBlockFlow::setShouldDoFullPaintInvalidationForFirstLine() { |
- ASSERT(childrenInline()); |
+ DCHECK(childrenInline()); |
if (RootInlineBox* firstRootBox = this->firstRootBox()) |
firstRootBox->setShouldDoFullPaintInvalidationRecursively(); |
} |