• Henrik Grunell's avatar
    Revert "[LayoutNG] Don't let legacy layout re-enter layout of a scrollable block node." · e8e8903d
    Henrik Grunell authored
    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: default avatarHenrik Grunell <grunell@chromium.org>
    Commit-Queue: Henrik Grunell <grunell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#524045}
    e8e8903d
enable-blink-features=LayoutNG 928 KB