Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3027d46f2e7cddb537f9591127d8186dbaa720f3
      
https://github.com/WebKit/WebKit/commit/3027d46f2e7cddb537f9591127d8186dbaa720f3
  Author: Andrew Martinez <[email protected]>
  Date:   2026-09-01 (Tue, 01 Sep 2026)

  Changed paths:
    A LayoutTests/fast/css/size-shorthand-disabled-expected.txt
    A LayoutTests/fast/css/size-shorthand-disabled.html
    R LayoutTests/fast/css/size-shorthand-serialization-expected.txt
    R LayoutTests/fast/css/size-shorthand-serialization.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nested-declarations-cssom.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/size-shorthand-serialization.tentative-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/size-shorthand-serialization.tentative.html
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/parser/CSSParser.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.cpp

  Log Message:
  -----------
  [css-sizing] The size shorthand needs a feature flag
rdar://186287743
https://bugs.webkit.org/show_bug.cgi?id=323026

Reviewed by Tim Nguyen.

The size shorthand for width/height added shipped without a
feature flag. The property is still being drafted (css-sizing-4, tracked by
w3c/csswg-drafts#820), so it should be enabled in Technology Preview rather 
than shipped.

Created a CSSSizeShorthandEnabled setting for preview. This gates the shorthand 
while leaving
the width / height longhands and @page`page_size` descriptor the same when this 
flag is disabled.
The consumePageDescriptor special case is no longer needed after this change.

Adding this flag introduced the regression that CSSParser::consumeDeclaration 
runs isExposed()
check before `size` is remapped to internal `page_size` descriptor. So the 
downstream remapping never occurs,
which breaks @page `size`. This logic is placed before the isExposed() guard to 
prevent this effect.

Furthermore, edited nested-declarations as the coalescing behavior is no longer 
present.
Meaning this test can be restored to it's original form. Lastly, the webkit 
serialization test is replaced
with a tentative WPT test.

Tests: fast/css/size-shorthand-disabled.html
       
imported/w3c/web-platform-tests/css/css-sizing/size-shorthand-serialization.tentative.html

* LayoutTests/fast/css/size-shorthand-disabled-expected.txt: Added.
* LayoutTests/fast/css/size-shorthand-disabled.html: Added.
* LayoutTests/fast/css/size-shorthand-serialization-expected.txt: Removed.
* LayoutTests/fast/css/size-shorthand-serialization.html: Removed.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nested-declarations-cssom.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/size-shorthand-serialization.tentative-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/size-shorthand-serialization.tentative.html:
 Added.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/parser/CSSParser.cpp:
(WebCore::CSSParser::consumeDeclaration):
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::consumePageDescriptor):

Canonical link: https://commits.webkit.org/320265@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to