Revision 258c8ad68769f8b1fa7e1bb760c8228169506dcd authored by Morten Stenshorne on 14 March 2018, 13:42:44 UTC, committed by Blink WPT Bot on 14 March 2018, 13:51:13 UTC
The LayoutBox associated with a block node will *normally* be the containing block (on the legacy side) of its children (on the NG side), but this isn't an invariant. Multicol and list item markers are two examples. Remove the kembo DCHECK, since it seems impossible to come up with a complete list of exceptions to the rule (that the node's box should be the containing block of the child nodes' boxes). Instead always get the right containing block from legacy layout. Don't use that of the node. With the DCHECK removed, a lot of tests stop crashing, and some just start passing instead. One known effect of this change is that floats that are direct children of multicol containers are painted correctly. They used to be added to the float list of the multicol container, rather than that of the flow thread, which caused two problems: paint order (regular blocks got painted on top of them), and that they appeared unfragmented (they just overflowed the multicol container instead). Added a test for that. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I1ee926c39fbedfd52d87e9cf790996909914efb2 Reviewed-on: https://chromium-review.googlesource.com/960027 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#543065}
1 parent 0d817ea
Computing file changes ...