Closed Bug 1850450 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 41683 - [anchor-position] Support margin properties in position fallback

Categories

(Core :: CSS Parsing and Computation, task, P4)

task

Tracking

()

RESOLVED FIXED
119 Branch
Tracking Status
firefox119 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

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

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

Xiaocheng Hu <xiaochengh@chromium.org> wrote:

[anchor-position] Support margin properties in position fallback

This patch makes margin properties (except margin-trim) allowed in a
@position-fallback rule, so that different fallback positions can use
different margins.

The layout part of this patch is trivial -- it's automatically done as
long as the properties are allowed. The non-trivial part is about
making getComputedStyle() return margin values from a fallback style,
which requires storing the used fallback style on layout results and
plumbing it to getComputedStyle().

Notes:

  1. The stored style will also help allowing other properties in
    position fallback, e.g., border-color, which works after layout.

  2. Storing the fallback style also fixes an existing bug that auto
    fallback results are not properly stored on layout result, making
    it unable to trigger fallback changes on scrolling. I'm not
    submitting a standalone patch for it, as it will be almost
    identical to this patch anyways.

Bug: 1475317
Change-Id: I4a3e242ceb04413db5348770b5cb666a54a1c9e0

Reviewed-on: https://chromium-review.googlesource.com/4819910
WPT-Export-Revision: 4db6c6bb036a8f94544ddcc84226305a41c1cbc6

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

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

Total 2 tests and 2 subtests

Status Summary

Firefox

OK : 2
FAIL: 55

Chrome

OK : 2
PASS: 42
FAIL: 13

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /css/css-anchor-position/at-fallback-position-allowed-declarations.html [wpt.fyi]
    • top: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • bottom: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • left: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • right: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • inset-block-start: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • inset-block-end: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • inset-inline-start: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • inset-inline-end: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • inset-block: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • inset-inline: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • inset: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • margin-top: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-bottom: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-left: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-right: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-block-start: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-block-end: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-inline-start: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-inline-end: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-block: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin-inline: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • margin: 1px is allowed in @fallback-position: FAIL (Chrome: FAIL)
    • width: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • height: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • block-size: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • inline-size: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • min-width: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • min-height: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • min-block-size: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • min-inline-size: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • max-width: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • max-height: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • max-block-size: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • max-inline-size: 1px is allowed in @fallback-position: FAIL (Chrome: PASS)
    • justify-content: normal is allowed in @fallback-position: FAIL (Chrome: PASS)
    • align-content: normal is allowed in @fallback-position: FAIL (Chrome: PASS)
    • justify-items: normal is allowed in @fallback-position: FAIL (Chrome: PASS)
    • align-items: normal is allowed in @fallback-position: FAIL (Chrome: PASS)
    • justify-self: normal is allowed in @fallback-position: FAIL (Chrome: PASS)
    • align-self: normal is allowed in @fallback-position: FAIL (Chrome: PASS)
    • --custom: 1px is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • font-size: 1px is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • border-width: 1px is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • padding: 1px is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • display: 1px is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • position: 1px is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • float: 1px is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • top: revert is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • top: revert-layer is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • inset: revert is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • inset: revert-layer is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • top: 1px !important is disallowed in @fallback-position: FAIL (Chrome: PASS)
    • inset: 1px !important is disallowed in @fallback-position: FAIL (Chrome: PASS)
  • /css/css-anchor-position/position-fallback-004.html [wpt.fyi]
    • .target 1: FAIL (Chrome: FAIL)
    • .target 2: FAIL (Chrome: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/15acb4650199 [wpt PR 41683] - [anchor-position] Support margin properties in position fallback, a=testonly https://hg.mozilla.org/integration/autoland/rev/9fd775aa085f [wpt PR 41683] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 119 Branch
You need to log in before you can comment on or make changes to this bug.