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 486227bc3c92845c5b6ade53d189a9572ee0d2e0..2d24f8818e9601b5138468a1742fad96d9331319 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
@@ -1590,7 +1590,12 @@ void LayoutBlockFlow::layoutInlineChildren(bool relayoutChildren, LayoutUnit& pa |
layoutState.floats().append(FloatWithRect(box)); |
if (box->needsLayout()) { |
box->layout(); |
- markLinesDirtyInBlockRange(toLayoutBox(o)->logicalTop(), toLayoutBox(o)->logicalBottom()); |
+ // Dirty any lineboxes potentially affected by the float, but don't search outside this |
+ // object as we are only interested in dirtying lineboxes to which we may attach the float. |
+ bool ancestorLineBoxWasDirty = ancestorLineBoxDirty(); |
+ setAncestorLineBoxDirty(false); |
+ dirtyLinesFromChangedChild(box); |
+ setAncestorLineBoxDirty(ancestorLineBoxWasDirty); |
eae
2016/06/10 06:20:41
Shouldn't this be setAncestorLineBoxDirty(ancestor
rhogan
2016/06/10 17:25:13
Oh I have it the wrong way round. I need to set it
|
} |
} else if (isFullLayout || o->needsLayout()) { |
// Atomic inline. |