Closed Bug 1911195 Opened 1 year ago Closed 1 year ago

New wpt failures in /css/css-viewport/ [width.html, zoom/border-spacing.html, zoom/letter-spacing.html, and 6 others]

Categories

(Core :: CSS Parsing and Computation, defect)

defect

Tracking

()

RESOLVED FIXED
141 Branch
Tracking Status
firefox141 --- fixed

People

(Reporter: wpt-sync, Assigned: jfkthame)

References

(Blocks 1 open bug)

Details

(Whiteboard: [wpt])

Attachments

(1 file, 5 obsolete files)

Syncing wpt PR 47411 found new untriaged test failures in CI

Tests Affected

Firefox-only failures

New Tests That Don't Pass

CI Results

Gecko CI (Treeherder)
GitHub PR Head

Notes

These updates will be on mozilla-central once bug 1911169 lands.

Note: this bug is for tracking fixing the issues and is not
owned by the wpt sync bot.

This bug is linked to the relevant tests by an annotation in
https://github.com/web-platform-tests/wpt-metadata. These annotations
can be edited using the wpt interop dashboard
https://jgraham.github.io/wptdash/

If this bug is split into multiple bugs, please also update the
annotations, otherwise we are unable to track which wpt issues are
already triaged. Resolving as duplicate or closing this issue should
be cause the bot to automatically update or remove the annotation.

Severity: -- → S3
Depends on: 1887627
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED

This addresses only the properties that are currently covered by WPT testcases
in the css/css-viewport/zoom/ directory. To extend it to all <length>-valued
properties, we should arrange to generate the code rather than hand-maintain
a list of all the properties to be handled.

This makes the code a bit less verbose, but still depends on an explicit list of the
properties to be processed, so only the WPT-tested properties are handled here.

The patches above just extend the font-size handling to cover the other properties tested in css-viewport/zoom, and pass the tests included in interop-2025.

Generalizing the code to handle all inherited properties, and generating it from the underlying property data rather than a manually-curated list of properties to process, is left as a followup for bug 1887627.

This is infrastructure for a more generic version of bug 1911195. It
doesn't fix everything because:

  • We still have an if is_unset { return; } in cascade.rs which we need
    to deal with. That means that we don't deal with explicit inherit.
    Note that was the case with the other bug afaict.

  • It still doesn't automatically derive the length dependency, relying
    on a list in data.py.

The general approach is basically taking the inherited computed value
from the parent, but instead of just copying it blindly we re-compute it
with the specified zoom. This is handled only in cascade.rs, via
overriding the effective_zoom (arguably a bit hacky, but does the
trick).

I think in general it's a much cleaner approach, and fairly easy to
extend to explicit inheritance and non-inherited properties (for things
like e.g. width: inherit we need to do the same).

Comment on attachment 9490608 [details]
Bug 1911195 - Introduce infrastructure to re-cascade implicitly inherited zoom-dependent properties if needed. r=jfkthame,#style

Revision D251121 was moved to bug 1968431. Setting attachment 9490608 [details] to obsolete.

Attachment #9490608 - Attachment is obsolete: true
Attachment #9490596 - Attachment is obsolete: true
Attachment #9490597 - Attachment is obsolete: true
Attachment #9490598 - Attachment is obsolete: true
Attachment #9490599 - Attachment is obsolete: true

This extends the mechanism introduced in bug 1968431 to recognize more types
that involve a <length> component, and resolves the relevant interop-2025
test failures.

To properly finish bug 1887627, the manually-created, incomplete list of
types here should be replaced by something automatically derived from the
property data.

Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/46864e758d22 Include a bunch more value types in zoom handling. r=firefox-style-system-reviewers,emilio
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 141 Branch
Blocks: 1887627
No longer depends on: 1887627
Duplicate of this bug: 1903363
Duplicate of this bug: 1915586
QA Whiteboard: [qa-triage-done-c142/b141]
See Also: → 1951003
See Also: 1951003
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: