Align NGBlockNode/NGInlineNode with LayoutObject::ChildrenInline |
||
Issue descriptionFrom https://codereview.chromium.org/2815003006/#msg22 NGBlockNode::FirstChild should create NGBlockNode or NGInlineNode in the same way as LayoutObject::ChildrenInline() does. Doing so today fails 6 tests: NGBlockLayoutAlgorithmTest.CollapsingMarginsCase7 NGBlockLayoutAlgorithmTest.PositionFloatInsideEmptyBlocks NGBlockNodeForTest.ChildFloatOnly NGBlockNodeForTest.ChildFloatWithSpaces NGOutOfFlowLayoutPartTest.OrthogonalWritingMode1 NGOutOfFlowLayoutPartTest.OrthogonalWritingMode2 Need to investigate and make a switch.
,
Apr 24 2017
Take #1 back, it was a trivial mistake, so 6 tests fail. * 2 are easy to fix for me. * 2 are abspos within inline, which we do not support yet. * 2 are floats.
,
May 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/415a2e47b6e9f046a503388298ad2e94b24e3c7b commit 415a2e47b6e9f046a503388298ad2e94b24e3c7b Author: glebl <glebl@chromium.org> Date: Tue May 09 04:02:00 2017 Make leading OOF objects to be handled by block layout in LayoutNG This patch changes LayoutNG's LayoutObject tree for DOM examples with OOF object We want to use the block layout for out of flow positioned objects when they go in front of inline blocks or if they are just standalone objects. Example 1: <div id="zero"><div id="oof"></div></div> Legacy Layout: #oof is in inline context. LayoutNG: #oof is in block context. Example 2: <div id=container><oof></oof>Hello!</div> Legacy Layout: oof is in inline context. LayoutNG: oof is in block context. Example 3: <div id=container>Hello!<oof></oof></div> Legacy Layout: oof is in inline context. LayoutNG: oof is in inline context. This also deprecates ShouldHandleByInlineContext in favor of LayoutObject::ChildrenInline() 2 new failing tests: floats-clear/floats-114.xht floats-clear/floats-040.xht Those are reftest, this patch fixes border/padding issue for OOF so they started failing because we need to fix reftest as well. BUG= 712665 ,635619 Review-Url: https://codereview.chromium.org/2847823002 Cr-Commit-Position: refs/heads/master@{#470179} [modify] https://crrev.com/415a2e47b6e9f046a503388298ad2e94b24e3c7b/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/415a2e47b6e9f046a503388298ad2e94b24e3c7b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp [modify] https://crrev.com/415a2e47b6e9f046a503388298ad2e94b24e3c7b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/415a2e47b6e9f046a503388298ad2e94b24e3c7b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm_test.cc [modify] https://crrev.com/415a2e47b6e9f046a503388298ad2e94b24e3c7b/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/415a2e47b6e9f046a503388298ad2e94b24e3c7b/third_party/WebKit/Source/core/layout/ng/ng_block_node_test.cc
,
May 23 2017
Thank you glebl@ for taking this. |
||
►
Sign in to add a comment |
||
Comment 1 by kojii@chromium.org
, Apr 19 2017