Currently, the WPT test importer rewrites tests during import in various ways. As part of the work to improve syncing between WebKit and WPT, it would be desirable to get rid of this rewriting. Part of this involves adding the -webkit- prefix to certain properties, so that we can test our prefixed implementation of various features. The properties effected for which tests exist are: appearance aspect-ratio backdrop-filter backface-visibility box-decoration-break mask mask-box-image mask-clip mask-composite mask-image mask-origin mask-position mask-repeat mask-size ruby-position text-align-last text-justify text-size-adjust user-select Additionally, there are tests for the following in WPT which we fail to rewrite: initial-letter line-clamp mask-position-x mask-position-y It would be nice to unprefix these, either unconditionally or behind a setting we can enable for tests, so that we can run the WPT tests for them unmodified.
With specs (from Sam Sneddon) appearance: https://drafts.csswg.org/css-ui-4/#propdef-appearance aspect-ratio: https://drafts.csswg.org/css-sizing-4/#propdef-aspect-ratio https://www.w3.org/TR/css-sizing-4/#propdef-aspect-ratio backdrop-filter: https://drafts.fxtf.org/filter-effects-2/#propdef-backdrop-filter backface-visibility: https://drafts.csswg.org/css-transforms-2/#propdef-backface-visibility https://www.w3.org/TR/css-transforms-2/#propdef-backface-visibility box-decoration-break: https://www.w3.org/TR/css-break-3/#propdef-box-decoration-break https://drafts.csswg.org/css-break-3/#propdef-box-decoration-break https://www.w3.org/TR/css-break-4/#propdef-box-decoration-break https://drafts.csswg.org/css-break-4/#propdef-box-decoration-break initial-letter: https://www.w3.org/TR/css-inline-3/#propdef-initial-letter https://drafts.csswg.org/css-inline-3/#propdef-initial-letter line-clamp: https://www.w3.org/TR/css-overflow-3/#propdef-line-clamp https://drafts.csswg.org/css-overflow-3/#propdef-line-clamp mask: https://drafts.fxtf.org/css-masking-1/#propdef-mask https://www.w3.org/TR/css-masking-1/#propdef-mask https://www.w3.org/TR/SVG11/masking.html#MaskProperty mask-box-image: NONE! mask-clip: https://www.w3.org/TR/css-masking-1/#propdef-mask-clip https://drafts.fxtf.org/css-masking-1/#propdef-mask-clip mask-composite: https://drafts.fxtf.org/css-masking-1/#propdef-mask-composite https://www.w3.org/TR/css-masking-1/#propdef-mask-composite mask-image: https://www.w3.org/TR/css-masking-1/#propdef-mask-image https://drafts.fxtf.org/css-masking-1/#propdef-mask-image mask-origin: https://www.w3.org/TR/css-masking-1/#propdef-mask-origin https://drafts.fxtf.org/css-masking-1/#propdef-mask-origin mask-position: https://www.w3.org/TR/css-masking-1/#propdef-mask-position https://drafts.fxtf.org/css-masking-1/#propdef-mask-position mask-position-x: NONE! mask-position-y: NONE! mask-repeat: https://drafts.fxtf.org/css-masking-1/#propdef-mask-repeat https://www.w3.org/TR/css-masking-1/#propdef-mask-repeat mask-size: https://www.w3.org/TR/css-masking-1/#propdef-mask-size https://drafts.fxtf.org/css-masking-1/#propdef-mask-size ruby-position: https://drafts.csswg.org/css-ruby-1/#propdef-ruby-position https://www.w3.org/TR/css-ruby-1/#propdef-ruby-position text-align-last: https://www.w3.org/TR/css-text-3/#propdef-text-align-last https://drafts.csswg.org/css-text-3/#propdef-text-align-last text-justify: https://www.w3.org/TR/css-text-3/#propdef-text-justify https://drafts.csswg.org/css-text-3/#propdef-text-justify text-size-adjust: https://drafts.csswg.org/css-size-adjust-1/#propdef-text-size-adjust user-select: https://drafts.csswg.org/css-ui-4/#propdef-user-select
Sam asked for spec links for them: appearance: https://drafts.csswg.org/css-ui-4/#propdef-appearance aspect-ratio: https://drafts.csswg.org/css-sizing-4/#propdef-aspect-ratio backdrop-filter: https://drafts.fxtf.org/filter-effects-2/#propdef-backdrop-filter backface-visibility: https://drafts.csswg.org/css-transforms-2/#propdef-backface-visibility box-decoration-break: https://drafts.csswg.org/css-break-3/#propdef-box-decoration-break initial-letter: https://drafts.csswg.org/css-inline-3/#propdef-initial-letter line-clamp: https://drafts.csswg.org/css-overflow-3/#propdef-line-clamp mask: https://drafts.fxtf.org/css-masking-1/#propdef-mask mask-box-image: NONE! mask-clip: https://drafts.fxtf.org/css-masking-1/#propdef-mask-clip mask-composite: https://drafts.fxtf.org/css-masking-1/#propdef-mask-composite mask-image: https://drafts.fxtf.org/css-masking-1/#propdef-mask-image mask-origin: https://drafts.fxtf.org/css-masking-1/#propdef-mask-origin mask-position: https://drafts.fxtf.org/css-masking-1/#propdef-mask-position mask-position-x: NONE! mask-position-y: NONE! mask-repeat: https://drafts.fxtf.org/css-masking-1/#propdef-mask-repeat mask-size: https://drafts.fxtf.org/css-masking-1/#propdef-mask-size ruby-position: https://drafts.csswg.org/css-ruby-1/#propdef-ruby-position text-align-last: https://drafts.csswg.org/css-text-3/#propdef-text-align-last text-justify: https://drafts.csswg.org/css-text-3/#propdef-text-justify text-size-adjust: https://drafts.csswg.org/css-size-adjust-1/#propdef-text-size-adjust user-select: https://drafts.csswg.org/css-ui-4/#propdef-user-select https://drafts.csswg.org/css-ui/#propdef-user-select Also see standardised prefixed properties: -webkit-appearance: https://drafts.csswg.org/css-ui/#propdef--webkit-appearance https://drafts.csswg.org/css-ui-4/#propdef--webkit-appearance -webkit-aspect-ratio: NONE! -webkit-backdrop-filter: NONE! -webkit-backface-visibility: https://compat.spec.whatwg.org/#propdef--webkit-backface-visibility -webkit-box-decoration-break: NONE! -webkit-initial-letter: NONE! -webkit-line-clamp: https://drafts.csswg.org/css-overflow-3/#propdef--webkit-line-clamp -webkit-mask: https://compat.spec.whatwg.org/#propdef--webkit-mask -webkit-mask-box-image: https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image -webkit-mask-clip: https://compat.spec.whatwg.org/#propdef--webkit-mask-clip -webkit-mask-composite: https://compat.spec.whatwg.org/#propdef--webkit-mask-composite -webkit-mask-image: https://compat.spec.whatwg.org/#propdef--webkit-mask-image -webkit-mask-origin: https://compat.spec.whatwg.org/#propdef--webkit-mask-origin -webkit-mask-position: https://compat.spec.whatwg.org/#propdef--webkit-mask-position -webkit-mask-position-x: NONE! -webkit-mask-position-y: NONE! -webkit-mask-repeat: https://compat.spec.whatwg.org/#propdef--webkit-mask-repeat -webkit-mask-size: https://compat.spec.whatwg.org/#propdef--webkit-mask-size -webkit-ruby-position: NONE! -webkit-text-align-last: NONE! -webkit-text-justify: NONE! -webkit-text-size-adjust: https://compat.spec.whatwg.org/#propdef--webkit-text-size-adjust -webkit-user-select: NONE!
Okay, so https://github.com/web-platform-tests/wpt/pull/26070 gets rid of the one instance of mask-box-image in WPT, and the references to mask-position-x/mask-position-y don't actually do anything, which leaves us only with properties where the unprefixed versions have current specs.
<rdar://problem/70384212>
So, 2023 update: Properties we don't support unprefixed which appear in WPT: 1 mask-position-x 1 mask-position-y 3 text-size-adjust 36 user-select 37 box-decoration-break 47 initial-letter 63 ruby-position 81 backdrop-filter I can't find any usage of any CSS value we only support prefixed.