Revert "[LayoutNG] Don't let legacy layout re-enter layout of a scrollable block node."
This reverts commit 4e246b2e. Reason for revert: Likely to be the reason for breakage of virtual/threaded/fast/scroll-behavior/smooth-scroll/horizontal-smooth-scroll-in-rtl.html Original change's description: > [LayoutNG] Don't let legacy layout re-enter layout of a scrollable block node. > > We'd end up re-entering NGBlockNode::CopyFragmentDataToLayoutBox() for > the same node. > > After layout of a fragment, NGBlockNode::CopyFragmentDataToLayoutBox() would > call LayoutBlock::UpdateAfterLayout(), which would call > scrollbar was toggled, it'd go ahead and call UpdateLayout() on the object, > which would take us back into the NG layout machinery, on the same node, via > Finally we'd re-enter NGBlockNode::CopyFragmentDataToLayoutBox(), causing misc > kinds of misery, such as not being able to paint the block at all. For > multicol, there'd even be a DCHECK failure "Variable fragment inline size not > supported", because the code got confused as to whether a fragment was a first > fragment or not. > > LayoutBox: :UpdateAfterLayout(), which would call > PaintLayer: :UpdateSizeAndScrollingAfterLayout(), which would call > PaintLayerScrollableArea: :UpdateAfterLayout(). If this code detected that a > LayoutNGBlockFlow: :UpdateBlockLayout(), further to NGBlockNode::Layout(). > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 > Change-Id: I832372223e324682bb4e38b3177dce30093df2e1 > Reviewed-on: https://chromium-review.googlesource.com/824265 > Commit-Queue: Morten Stenshorne <mstensho@chromium.org> > Reviewed-by: Emil A Eklund <eae@chromium.org> > Cr-Commit-Position: refs/heads/master@{#524039} TBR=eae@chromium.org,ikilpatrick@chromium.org,mstensho@chromium.org Change-Id: Idf7eb66a284cb73c4c62217725ef02a9538494a4 No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Reviewed-on: https://chromium-review.googlesource.com/826984Reviewed-by:Henrik Grunell <grunell@chromium.org> Commit-Queue: Henrik Grunell <grunell@chromium.org> Cr-Commit-Position: refs/heads/master@{#524045}
Showing
Please register or sign in to comment