| Index: Source/core/rendering/RootInlineBox.cpp
|
| diff --git a/Source/core/rendering/RootInlineBox.cpp b/Source/core/rendering/RootInlineBox.cpp
|
| index b110fc65afcd8cba273b551aea14471900723be7..7fc0f0462ca1bf1d59eae2b043b41b830dca4171 100644
|
| --- a/Source/core/rendering/RootInlineBox.cpp
|
| +++ b/Source/core/rendering/RootInlineBox.cpp
|
| @@ -403,10 +403,10 @@ LayoutUnit RootInlineBox::selectionTop() const
|
| if (m_hasAnnotationsBefore)
|
| selectionTop -= !renderer()->style()->isFlippedLinesWritingMode() ? computeOverAnnotationAdjustment(m_lineTop) : computeUnderAnnotationAdjustment(m_lineTop);
|
|
|
| - if (renderer()->style()->isFlippedLinesWritingMode())
|
| + if (renderer()->style()->isFlippedLinesWritingMode() || !prevRootBox())
|
| return selectionTop;
|
|
|
| - LayoutUnit prevBottom = prevRootBox() ? prevRootBox()->selectionBottom() : block()->borderBefore() + block()->paddingBefore();
|
| + LayoutUnit prevBottom = prevRootBox()->selectionBottom();
|
| if (prevBottom < selectionTop && block()->containsFloats()) {
|
| // This line has actually been moved further down, probably from a large line-height, but possibly because the
|
| // line was forced to clear floats. If so, let's check the offsets, and only be willing to use the previous
|
|
|