[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