NEW 224810
Support <custom-ident> in color-scheme
https://bugs.webkit.org/show_bug.cgi?id=224810
Summary Support <custom-ident> in color-scheme
Tim Nguyen (:ntim)
Reported 2021-04-20 04:12:18 PDT
There are a couple of failures from the color-scheme WPT: https://wpt.fyi/results/css/css-color-adjust/parsing/color-scheme-computed.html?label=experimental&label=master&aligned, this is because WebKit implements an older spec. Latest spec (implemented by Chromium): https://drafts.csswg.org/css-color-adjust-1/#color-scheme-prop Here are differences from the spec that WebKit should implement: * `auto` keyword is now `normal` (and `auto` becomes a `<custom-ident>` value) * `only` keyword has been removed, and is just considered as a `<custom-ident>` value * `<custom-ident>` values should be kept in the serialized CSS value (not sure that's part of the spec, but the WPT seems to reflect that) Things where the WPT could be more flexible or wrong: * Ordering of the color-schemes * `only only` being serialized as it is? Since specifying a color-scheme multiple times is the same as specifying it once, maybe `only` is an acceptable serialization too?
Attachments
Patch (27.83 KB, patch)
2021-04-20 08:32 PDT, Tim Nguyen (:ntim)
no flags
Patch (71.76 KB, patch)
2021-04-22 00:50 PDT, Tim Nguyen (:ntim)
no flags
Patch (112.23 KB, patch)
2021-04-25 15:36 PDT, Tim Nguyen (:ntim)
no flags
Radar WebKit Bug Importer
Comment 1 2021-04-20 04:12:47 PDT
Tim Nguyen (:ntim)
Comment 2 2021-04-20 08:32:51 PDT
Tim Nguyen (:ntim)
Comment 3 2021-04-22 00:50:12 PDT
Tim Nguyen (:ntim)
Comment 4 2021-04-25 15:36:19 PDT
Timothy Hatcher
Comment 5 2021-04-26 18:26:48 PDT
This needs work to make sure it does not regress Mail and the auto-dark mode transformations it does (specifically the rename of auto to normal, and handling only). I think it is a mistake to remove the internally handling of "only" in WebKit. I don't think us supporting it conflicts with the spec's wording of custom identifiers. We would just need to handle other custom identifiers for sterilization in addition to our handling of "only".
Tim Nguyen (:ntim)
Comment 6 2021-04-26 21:01:33 PDT
> This needs work to make sure it does not regress Mail and the auto-dark mode transformations it does (specifically the rename of auto to normal, and handling only). > I think it is a mistake to remove the internally handling of "only" in WebKit. I don't think us supporting it conflicts with the spec's wording of custom identifiers. We would just need to handle other custom identifiers for sterilization in addition to our handling of "only". Yeah, hence why I didn't land it yet. I was planning on either fixing Mail, or handling <custom-ident> properly in a separate bug.
Tim Nguyen (:ntim)
Comment 7 2021-05-24 01:27:33 PDT
*** Bug 225779 has been marked as a duplicate of this bug. ***
Tim Nguyen (:ntim)
Comment 8 2021-05-24 01:28:53 PDT
Update: I have a local WIP covering <custom-ident> too, though it seems like the spec might change again, so I'll wait for that to happen.
Joonghun Park
Comment 9 2021-09-23 17:26:42 PDT
*** Bug 205799 has been marked as a duplicate of this bug. ***
Tim Nguyen (:ntim)
Comment 10 2022-08-18 21:03:07 PDT
Probably easier to do this in parts: 1. renaming `auto` to `normal` 2. support <custom-ident> and return schemes in specified order I'll split 1. to a different bug. (Also `only` was re-added to the spec)
Note You need to log in before you can comment on or make changes to this bug.