diff options
Diffstat (limited to 'Source/WebCore/rendering/RenderBlockLineLayout.cpp')
-rw-r--r-- | Source/WebCore/rendering/RenderBlockLineLayout.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Source/WebCore/rendering/RenderBlockLineLayout.cpp b/Source/WebCore/rendering/RenderBlockLineLayout.cpp index 06cbf90..a5716ed 100644 --- a/Source/WebCore/rendering/RenderBlockLineLayout.cpp +++ b/Source/WebCore/rendering/RenderBlockLineLayout.cpp @@ -724,12 +724,8 @@ inline BidiRun* RenderBlock::handleTrailingSpaces(BidiRunList<BidiRun>& bidiRuns void RenderBlock::appendFloatingObjectToLastLine(FloatingObject* floatingObject) { - // Ensure that the float touches the line. - if (RootInlineBox* previousLine = lastRootBox()->prevRootBox()) { - if (logicalBottomForFloat(floatingObject) < previousLine->blockLogicalHeight()) - setLogicalHeightForFloat(floatingObject, previousLine->blockLogicalHeight() - logicalTopForFloat(floatingObject)); - } - + ASSERT(!floatingObject->m_originatingLine); + floatingObject->m_originatingLine = lastRootBox(); lastRootBox()->appendFloat(floatingObject->renderer()); } @@ -1161,7 +1157,9 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintLogica if (Vector<RenderBox*>* cleanLineFloats = line->floatsPtr()) { Vector<RenderBox*>::iterator end = cleanLineFloats->end(); for (Vector<RenderBox*>::iterator f = cleanLineFloats->begin(); f != end; ++f) { - insertFloatingObject(*f); + FloatingObject* floatingObject = insertFloatingObject(*f); + ASSERT(!floatingObject->m_originatingLine); + floatingObject->m_originatingLine = line; setLogicalHeight(logicalTopForChild(*f) - marginBeforeForChild(*f) + delta); positionNewFloats(); } @@ -1364,7 +1362,9 @@ RootInlineBox* RenderBlock::determineStartPosition(bool& firstLine, bool& fullLa if (Vector<RenderBox*>* cleanLineFloats = line->floatsPtr()) { Vector<RenderBox*>::iterator end = cleanLineFloats->end(); for (Vector<RenderBox*>::iterator f = cleanLineFloats->begin(); f != end; ++f) { - insertFloatingObject(*f); + FloatingObject* floatingObject = insertFloatingObject(*f); + ASSERT(!floatingObject->m_originatingLine); + floatingObject->m_originatingLine = line; setLogicalHeight(logicalTopForChild(*f) - marginBeforeForChild(*f)); positionNewFloats(); ASSERT(floats[numCleanFloats].object == *f); |