Closed Bug 1640916 Opened 2 years ago Closed 2 years ago

[wpt-sync] Sync PR 23772 - [css-grid] Avoid the estimated grid area on intrinsic size computation

Categories

(Core :: Layout: Grid, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

Attachments

(6 files)

Sync web-platform-tests PR 23772 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/23772
Details from upstream follow.

Javier Fernandez <jfernandez@igalia.com> wrote:

[css-grid] Avoid the estimated grid area on intrinsic size computation

We perform a pre-layout, based on a estimation of the grid area, of the
grid items in two different situations: orthogonal and baseline aligned
items.

We do this pre-layout operation during both, intrinsic size and layout.
Since this pre-layout operation may alter the size of the grid item, we
must ensure the pre-layout done during intrinsic size computation is
always followed by a full layout of the grid container.

This CL adds information about the phase of the layout and avoid using
the estimated grid area if the intrinsic width operation is not asked
as part of the grid container's layout.

Bug: 1086132
Change-Id: I73c39e6c3ad6cd74aa50fe33106e25cd63b7625f
Reviewed-on: https://chromium-review.googlesource.com/2215054
WPT-Export-Revision: c8d739d9f734c0a54895f8dcc5f69f025c53266e

Component: web-platform-tests → Layout: Grid
Product: Testing → Core

CI Results

Ran 12 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 2 tests and 2 subtests

Status Summary

Firefox

OK : 2
FAIL: 4

Chrome

OK : 2
PASS: 2
FAIL: 2

Safari

OK : 2
PASS: 4

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-005.html
.grid 1: FAIL
.grid 2: FAIL

New Tests That Don't Pass

/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-005.html
.grid 1: FAIL (Chrome: PASS, Safari: PASS)
.grid 2: FAIL (Chrome: PASS, Safari: PASS)
/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-005.html
.grid 1: FAIL (Chrome: FAIL, Safari: PASS)
.grid 2: FAIL (Chrome: FAIL, Safari: PASS)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0482654c98ac
[wpt PR 23772] - [css-grid] Consider 'auto' height items for grid area estimation, a=testonly
https://hg.mozilla.org/integration/autoland/rev/9ab2ba71f0e0
[wpt PR 23772] - Update wpt metadata, a=testonly

Automatic update from web-platform-tests
[css-grid] Consider 'auto' height items for grid area estimation

We perform a pre-layout, based on a estimation of the grid area, of the
grid items in two different situations: orthogonal and baseline aligned
items.

In the case of baseline aligned items, we were doing this pre-layout
only in the case of items with relative inline and block sizes. However,
items with 'auto' block-size also depend on this estimated grid area
size to properly compute the baseline offset.

It was discarded in the past due to performance concerns, since the
'auto' height is a very common case. However, this codepath is only
executed for baseline aligned items. Since we already applied several
optimization to the baseline alignment logic, I think we can try this
approach to solve the bug and evaluate potential perf regressions when
they appear.

Bug: 1086132
Change-Id: I73c39e6c3ad6cd74aa50fe33106e25cd63b7625f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2215054
Reviewed-by: Manuel Rego <rego@igalia.com>
Reviewed-by: Oriol Brufau <obrufau@igalia.com>
Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
Cr-Commit-Position: refs/heads/master@{#774139}

--

wpt-commits: b4205f9f8b440e56da7fb2bd6cc26643296b02e1
wpt-pr: 23772

wpt-pr: 23772
wpt-type: metadata

Automatic update from web-platform-tests
[css-grid] Consider 'auto' height items for grid area estimation

We perform a pre-layout, based on a estimation of the grid area, of the
grid items in two different situations: orthogonal and baseline aligned
items.

In the case of baseline aligned items, we were doing this pre-layout
only in the case of items with relative inline and block sizes. However,
items with 'auto' block-size also depend on this estimated grid area
size to properly compute the baseline offset.

It was discarded in the past due to performance concerns, since the
'auto' height is a very common case. However, this codepath is only
executed for baseline aligned items. Since we already applied several
optimization to the baseline alignment logic, I think we can try this
approach to solve the bug and evaluate potential perf regressions when
they appear.

Bug: 1086132
Change-Id: I73c39e6c3ad6cd74aa50fe33106e25cd63b7625f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2215054
Reviewed-by: Manuel Rego <rego@igalia.com>
Reviewed-by: Oriol Brufau <obrufau@igalia.com>
Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
Cr-Commit-Position: refs/heads/master@{#774139}

--

wpt-commits: b4205f9f8b440e56da7fb2bd6cc26643296b02e1
wpt-pr: 23772

wpt-pr: 23772
wpt-type: metadata

Automatic update from web-platform-tests
[css-grid] Consider 'auto' height items for grid area estimation

We perform a pre-layout, based on a estimation of the grid area, of the
grid items in two different situations: orthogonal and baseline aligned
items.

In the case of baseline aligned items, we were doing this pre-layout
only in the case of items with relative inline and block sizes. However,
items with 'auto' block-size also depend on this estimated grid area
size to properly compute the baseline offset.

It was discarded in the past due to performance concerns, since the
'auto' height is a very common case. However, this codepath is only
executed for baseline aligned items. Since we already applied several
optimization to the baseline alignment logic, I think we can try this
approach to solve the bug and evaluate potential perf regressions when
they appear.

Bug: 1086132
Change-Id: I73c39e6c3ad6cd74aa50fe33106e25cd63b7625f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2215054
Reviewed-by: Manuel Rego <rego@igalia.com>
Reviewed-by: Oriol Brufau <obrufau@igalia.com>
Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
Cr-Commit-Position: refs/heads/master@{#774139}

--

wpt-commits: b4205f9f8b440e56da7fb2bd6cc26643296b02e1
wpt-pr: 23772

wpt-pr: 23772
wpt-type: metadata

Pushed by james@hoppipolla.co.uk:
https://hg.mozilla.org/integration/autoland/rev/311dad566d00
[wpt PR 23772] - [css-grid] Consider 'auto' height items for grid area estimation, a=testonly
https://hg.mozilla.org/integration/autoland/rev/aca73c33f870
[wpt PR 23772] - Update wpt metadata, a=testonly
Pushed by james@hoppipolla.co.uk:
https://hg.mozilla.org/integration/autoland/rev/03d543554167
[wpt PR 23772] - [css-grid] Consider 'auto' height items for grid area estimation, a=testonly
https://hg.mozilla.org/integration/autoland/rev/fd9b4d19b27a
[wpt PR 23772] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.