WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
217522
Unprefix (behind a setting?) properties tested in WPT
https://bugs.webkit.org/show_bug.cgi?id=217522
Summary
Unprefix (behind a setting?) properties tested in WPT
Sam Sneddon [:gsnedders]
Reported
2020-10-09 11:00:48 PDT
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.
Attachments
Add attachment
proposed patch, testcase, etc.
Sam Weinig
Comment 1
2020-10-09 11:34:19 PDT
Comment hidden (obsolete)
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 Sneddon [:gsnedders]
Comment 2
2020-10-09 11:58:52 PDT
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!
Sam Sneddon [:gsnedders]
Comment 3
2020-10-09 13:07:56 PDT
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.
Radar WebKit Bug Importer
Comment 4
2020-10-16 11:01:17 PDT
<
rdar://problem/70384212
>
Sam Sneddon [:gsnedders]
Comment 5
2023-07-05 04:05:01 PDT
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.
Sam Sneddon [:gsnedders]
Comment 6
2026-06-23 15:35:54 PDT
Naïvely: ``` % % rg -U '(?-m)([\s{]|^)(font\-smoothing|locale|text\-size\-adjust|text\-zoom|logical\-height|border\-after|border\-after\-color|border\-after\-style|border\-after\-width|border\-before|border\-before\-color|border\-before\-style|border\-before\-width|border\-end|border\-end\-color|border\-end\-style|border\-end\-width|border\-start|border\-start\-color|border\-start\-style|border\-start\-width|cursor\-visibility|logical\-width|margin\-after|margin\-before|margin\-end|margin\-start|mask\-box\-image\-outset|mask\-box\-image\-repeat|mask\-box\-image\-slice|mask\-box\-image\-source|mask\-box\-image\-width|mask\-position\-x|mask\-position\-y|max\-logical\-height|max\-logical\-width|min\-logical\-height|min\-logical\-width|padding\-after|padding\-before|padding\-end|padding\-start|border\-horizontal\-spacing|border\-vertical\-spacing|box\-align|box\-direction|box\-flex|box\-flex\-group|box\-lines|box\-ordinal\-group|box\-orient|box\-pack|box\-reflect|column\-axis|column\-break\-after|column\-break\-before|column\-break\-inside|column\-progression|box\-decoration\-break|font\-size\-delta|hyphenate\-limit\-after|hyphenate\-limit\-before|hyphenate\-limit\-lines|initial\-letter|line\-box\-contain|line\-align|line\-grid|line\-snap|marquee\-direction|marquee\-increment|marquee\-repetition|marquee\-speed|marquee\-style|mask\-box\-image|mask\-source\-type|nbsp\-mode|rtl\-ordering|text\-combine|text\-decorations\-in\-effect|text\-fill\-color|text\-security|text\-stroke|text\-stroke\-color|text\-stroke\-width|user\-drag|user\-modify|user\-select|tap\-highlight\-color|overflow\-scrolling|touch\-callout)(\s+:|:)' --only-matching --replace='$2' --no-filename --glob '!third_party' | sort | uniq -c | sort -n 1 box-reflect 1 line-grid 1 mask-position-x 1 mask-position-y 1 padding-end 1 user-modify 5 locale 5 padding-start 10 text-size-adjust 59 user-select 64 initial-letter 91 box-decoration-break ``` To quickly triage:
> box-reflect
Unspecified, occurs only in html/rendering/the-details-element/details-autofocus-crash.html, unsupported by any browser.
> line-grid
Unspecified, occurs only in html/rendering/the-details-element/details-autofocus-crash.html, unsupported by any browser.
> mask-position-x > mask-position-y
See
https://github.com/w3c/fxtf-drafts/issues/103
. These only really appear in css/css-cascade/all-prop-revert-layer.html, which is probably not the most important case.
> padding-end > padding-start
Unspecified, these occur only in comments.
> user-modify
Unspecified. This occurs only in css/css-ui/tentative/user-modify-*, which are explicitly checking for non-support of the unprefixed form.
> locale
Unspecified. The matches are all false positives, mostly from JS.
> text-size-adjust > user-select > initial-letter > box-decoration-break
These four do actually meaningfully exist in WPT. And on the value side, based on we only have false positives, per: ``` rg -U '(?-m)(\:\s*|^\s*)(mini-control|small-control|control|body|pictograph|control-background|activelink|link|focus-ring-color|baseline-middle|box|fill-available|optimize-contrast|gradient|named-image|paged-x|paged-y)(\s*;|\s*}|\s*$)' --glob '!third_party' ```
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug