From 54cdeeebc7adcbcd900e8b6a141a8cae27d9a631 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Fri, 10 Jun 2011 16:52:27 +0100 Subject: Merge WebKit at branches/chromium/742 r88085: Initial merge by git. Change-Id: I0501b484b9528e31b0026e5ad64416dd6541cdde --- Source/WebCore/rendering/RenderBlockLineLayout.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'Source/WebCore/rendering/RenderBlockLineLayout.cpp') 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& 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* cleanLineFloats = line->floatsPtr()) { Vector::iterator end = cleanLineFloats->end(); for (Vector::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* cleanLineFloats = line->floatsPtr()) { Vector::iterator end = cleanLineFloats->end(); for (Vector::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); -- cgit v1.1