Bug 217522

Summary: Unprefix (behind a setting?) properties tested in WPT
Product: WebKit Reporter: Sam Sneddon [:gsnedders] <gsnedders>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: graouts, sam, simon.fraser, the.bull, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 151306, 208677, 224899, 229078, 229086, 229090, 143842, 150821, 170983, 193002, 201098, 223117, 229082, 229083, 229084    
Bug Blocks: 246222    

Description Sam Sneddon [:gsnedders] 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.
Comment 1 Sam Weinig 2020-10-09 11:34:19 PDT Comment hidden (obsolete)
Comment 2 Sam Sneddon [:gsnedders] 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!
Comment 3 Sam Sneddon [:gsnedders] 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.
Comment 4 Radar WebKit Bug Importer 2020-10-16 11:01:17 PDT
<rdar://problem/70384212>
Comment 5 Sam Sneddon [:gsnedders] 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.