[webkit-changes] [WebKit/WebKit] 4d0b0c: [@page] `size` should only parse as a descriptor, ...

Tim Nguyen noreply at github.com
Thu Aug 1 11:52:13 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4d0b0c1943c5a4e05b60b4dfe1f09c9e310eca54
      https://github.com/WebKit/WebKit/commit/4d0b0c1943c5a4e05b60b4dfe1f09c9e310eca54
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-page/parsing/size-invalid-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-page/parsing/size-invalid.html
    M LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-getPropertyValue-common-checks-expected.txt
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/ComputedStyleExtractor.cpp
    M Source/WebCore/css/parser/CSSParserImpl.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.h
    M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
    M Source/WebCore/style/StyleBuilder.cpp
    M Source/WebCore/style/StyleBuilder.h
    M Source/WebCore/style/StyleBuilderCustom.h

  Log Message:
  -----------
  [@page] `size` should only parse as a descriptor, not a global CSS property
https://bugs.webkit.org/show_bug.cgi?id=239965
rdar://92963022

Reviewed by Darin Adler.

Stop parsing `size` as a CSS property in the global context, instead consider it as a descriptor for `@page`.

This creates new parsing path for parsing declarations for StyleRuleType::Page, and uses that instead of the normal StyleRuleType::Style path

Now that this registers `size` as a descriptor in CSSProperties.json instead of global property, we have to move the code from StyleBuilderCustom
to StyleBuilder, given CSSProperties.json won't generate builder code for descriptors.

Also do a couple of drive-by cleanups.

* LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-getPropertyValue-common-checks-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-page/parsing/size-invalid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-page/parsing/size-invalid.html: Added.
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle const):
* Source/WebCore/css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeKeyframesRule):
(WebCore::CSSParserImpl::consumePageRule):
(WebCore::CSSParserImpl::consumeBlockContent):
(WebCore::CSSParserImpl::consumeDeclaration):
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseValue):
(WebCore::CSSPropertyParser::parsePageDescriptor):
* Source/WebCore/css/parser/CSSPropertyParser.h:
* Source/WebCore/style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyProperty):
(WebCore::Style::pageSizeFromName):
(WebCore::Style::Builder::applyPageSizeDescriptor):
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeSize):
* Source/WebCore/style/StyleBuilder.h:
* Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::mmLength): Deleted.
(WebCore::Style::BuilderCustom::inchLength): Deleted.
(WebCore::Style::BuilderCustom::getPageSizeFromName): Deleted.
(WebCore::Style::BuilderCustom::applyInheritSize): Deleted.
(WebCore::Style::BuilderCustom::applyInitialSize): Deleted.
(WebCore::Style::BuilderCustom::applyValueSize): Deleted.

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



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


More information about the webkit-changes mailing list