Index: third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp |
index 656b4effafa988901318f24c2df30272ccbf154b..aebf0d1cbe07a85fa2f208a83e6ad97b7f60272a 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp |
@@ -682,6 +682,10 @@ bool PaintLayerScrollableArea::updateAfterLayout(SubtreeLayoutScope* delayedLayo |
m_inOverflowRelayout = true; |
if (delayedLayoutScope) { |
delayedLayoutScope->setNeedsLayout(&box(), LayoutInvalidationReason::ScrollbarChanged); |
+ // Since we can't pass true to layoutBlock to force relaying out the children, mark them explicitly. |
+ // They do have to be laid out again because their available width has now changed. |
+ for (LayoutObject* child = box().slowFirstChild(); child; child = child->nextSibling()) |
+ delayedLayoutScope->setNeedsLayout(child, LayoutInvalidationReason::ScrollbarChanged); |
mstensho (USE GERRIT)
2016/03/17 19:57:06
Aren't you going to miss marking out-of-flow posit
cbiesinger
2016/03/17 20:03:03
Um, good question. I'm not familiar with that part
mstensho (USE GERRIT)
2016/03/17 20:24:07
Maybe this (based on the test already in this CL)?
|
didMarkForDelayedLayout = true; |
} else { |
SubtreeLayoutScope layoutScope(box()); |