Bug 239965

Summary: CSS "size" should be a descriptor for @page, not a CSS property
Product: WebKit Reporter: Oriol Brufau <obrufau>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ahmad.saleem792, gsnedders, webkit-bug-importer
Priority: P2 Keywords: InRadar, WPTImpact
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
URL: https://wpt.live/css/css-page/parsing/size-invalid.html

Description Oriol Brufau 2022-05-02 08:34:18 PDT
https://drafts.csswg.org/css-page-3/#page-size-prop says that "size" is a property but it's clearly wrong, it's a descriptor, see https://github.com/w3c/csswg-drafts/issues/5969

Then,

    CSS.supports("size: initial");
    // Expected: false
    // Webkit: true
    // Blink: true
    // Gecko: false

    [...getComputedStyle(document.documentElement)].includes("size");
    // Expected: false
    // Webkit: true
    // Blink: false
    // Gecko: false

Note "system" for @counter-style works well everywhere: https://drafts.csswg.org/css-counter-styles-3/#counter-style-system

    CSS.supports("system: initial"); // false
    [...getComputedStyle(document.documentElement)].includes("system"); // false
Comment 1 Radar WebKit Bug Importer 2022-05-09 08:35:15 PDT
<rdar://problem/92963022>
Comment 2 Sam Sneddon [:gsnedders] 2022-07-07 15:57:10 PDT
(In reply to Oriol Brufau from comment #0)
> https://drafts.csswg.org/css-page-3/#page-size-prop says that "size" is a
> property but it's clearly wrong, it's a descriptor, see
> https://github.com/w3c/csswg-drafts/issues/5969
> 
> Then,
> 
>     CSS.supports("size: initial");
>     // Expected: false
>     // Webkit: true
>     // Blink: true
>     // Gecko: false

Bug 217802 fixes this (as it's needed to avoid various asserts).

> 
>     [...getComputedStyle(document.documentElement)].includes("size");
>     // Expected: false
>     // Webkit: true
>     // Blink: false
>     // Gecko: false

This is a much broader issue, see https://github.com/w3c/csswg-drafts/issues/5649.

> Note "system" for @counter-style works well everywhere:
> https://drafts.csswg.org/css-counter-styles-3/#counter-style-system
> 
>     CSS.supports("system: initial"); // false
>     [...getComputedStyle(document.documentElement)].includes("system"); //
> false

Is that just because @counter-style is disabled by default? If you try "unicode-range" (of @font-face) you should see the same as with "size".
Comment 3 Sam Sneddon [:gsnedders] 2022-07-07 15:59:31 PDT
(In reply to Sam Sneddon [:gsnedders] from comment #2)
> This is a much broader issue, see
> https://github.com/w3c/csswg-drafts/issues/5649.

Oh, finally found it: bug 217627.

Basically I think this is just reporting the symptoms of CSS.supports returning true for descriptors (dunno if we have any actual specific bug for that), which Bug 217802 fixes, and that other bug. Maybe close as dupe?
Comment 4 Tim Nguyen (:ntim) 2023-07-15 15:05:33 PDT
Pull request: https://github.com/WebKit/WebKit/pull/15870