Skip to content

Expand single-layer CSS mask shorthands - #501

Merged
wieslawsoltes merged 2 commits into
mainfrom
feature/css-mask-shorthand-499
Sep 18, 2026
Merged

wieslawsoltes merged 2 commits into
mainfrom
feature/css-mask-shorthand-499

Conversation

@wieslawsoltes

@wieslawsoltes wieslawsoltes commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

Problem and result

Unchanged Code OSS authors many icon and fade masks through mask and -webkit-mask, while WebScene previously retained only separately-authored longhands. Those declarations never reached the retained mask path.

This provider change:

  • exposes standard and WebKit-prefixed mask property identities;
  • canonicalizes prefixed declarations to standard effective properties;
  • expands bounded single-layer URL/gradient shorthand forms into image, position, size, repeat, composite, and mode longhands before cascade application;
  • resets omitted components to initial values and supports whole-shorthand variable resolution;
  • adds browser-shaped mask-mode initial/value handling;
  • rejects multiple layers, geometry boxes, malformed geometry, and unsupported forms as one unit;
  • authors native, CSSOM, alias, mutation, and retained-command regression coverage.

URL-backed SVG projection is implemented by dependent PR #502 for #500. GitHub displays #502 as a stack child because its base is this provider branch. Merge this PR first, retarget #502 to main, then merge #502.

Validation

git diff --check passes and generated metadata was refreshed. The first CI attempt found a stale expected property count; tip abf311e5 updates 105 to 106. Other observed failures were runner DNS checkout failures and pre-existing mainline native footprint / aspect_ratio_* compile errors. Replacement workflows were canceled, so no post-fix pass is claimed. Per the current throughput directive, builds, native/browser tests, WPT, pixels, performance, memory, package, and CI validation were intentionally not run; the cumulative debt is recorded in #499, #256, and #235.

Closes #499

@wieslawsoltes
wieslawsoltes merged commit fd3ea54 into main Sep 18, 2026
0 of 17 checks passed
@wieslawsoltes
wieslawsoltes deleted the feature/css-mask-shorthand-499 branch September 18, 2026 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expand CSS mask shorthands into retained longhands

1 participant