[LayoutNG] Float inside two levels of perpendicular writing mode roots doesn't contribute to size |
||
Issue descriptionThe float itself may have fixed size, and it still fails. But it has to be a float. This got introduced by https://chromium-review.googlesource.com/1069848 and is what causes the fast/multicol/vertical-rl/column-rules.html regression (it's the multicol-less ref that renders incorrectly). See attached test case.
,
Jun 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/846fb426f466e116be42577a56da22b22395ca7e commit 846fb426f466e116be42577a56da22b22395ca7e Author: Morten Stenshorne <mstensho@chromium.org> Date: Tue Jun 05 10:58:34 2018 [LayoutNG] Need to know when establishing a new FC during min/max calculation. When we have to lay out an object to determine its min/max inline size, and the node establishes a new formatting context, we need to create a constraint space that reflects this. The block size of the float needs to be included in the block size of its container, because this block size will be the min/max preferred inline size of the container of that container, if the writing modes are orthogonal. Avoid some duplicate code for creating the constraint space builder. The second builder, the one that redoes layout with infinite available space now gets SetFloatsBfcOffset() called, which was previously missing, but that must have been an oversight. This fixes the recently introduced regression with fast/multicol/vertical-rl/column-rules.html and also another test. Wrote a new test that tests exactly what I wanted to fix as well. Bug: 847807 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I7b28a0ef8061fc3089deb488ad0a78b81776295d Reviewed-on: https://chromium-review.googlesource.com/1084989 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#564438} [modify] https://crrev.com/846fb426f466e116be42577a56da22b22395ca7e/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [add] https://crrev.com/846fb426f466e116be42577a56da22b22395ca7e/third_party/WebKit/LayoutTests/external/wpt/css/css-writing-modes/float-in-htb-in-vrl.html [modify] https://crrev.com/846fb426f466e116be42577a56da22b22395ca7e/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
,
Jun 5 2018
,
Jun 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c6824e4fbfc36d72b47992f37bd7cc93078ed8d7 commit c6824e4fbfc36d72b47992f37bd7cc93078ed8d7 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Wed Jun 06 07:30:46 2018 [layoutng] Also set SetIsNewFormattingContext in ComputeMinAndMaxContentContribution This is sort of a followup to https://chromium-review.googlesource.com/c/chromium/src/+/1084989, which added this call to a different location. R=mstensho@chromium.org Bug: 847807 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I7e59f26b1d20615ae8ae4c8099991164533a6c21 Reviewed-on: https://chromium-review.googlesource.com/1087586 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#564815} [modify] https://crrev.com/c6824e4fbfc36d72b47992f37bd7cc93078ed8d7/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc |
||
►
Sign in to add a comment |
||
Comment 1 by mstensho@chromium.org
, Jun 4 2018Status: Assigned (was: Available)