New issue
Advanced search Search tips

Issue 847807 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

[LayoutNG] Float inside two levels of perpendicular writing mode roots doesn't contribute to size

Project Member Reported by mstensho@chromium.org, May 30 2018

Issue description

The 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.
 
tc.html
242 bytes View Download
Owner: mstensho@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, 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

Status: Fixed (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, 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