[webkit-changes] [WebKit/WebKit] 8c6f3e: [@property] Add @property rule parsing and CSSOM
Antti Koivisto
noreply at github.com
Sun Dec 18 16:05:24 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8c6f3e96197beab5fd3a56bbf50678b20becb0c1
https://github.com/WebKit/WebKit/commit/8c6f3e96197beab5fd3a56bbf50678b20becb0c1
Author: Antti Koivisto <antti at apple.com>
Date: 2022-12-18 (Sun, 18 Dec 2022)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-cssom-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/idlharness-expected.txt
M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration-expected.txt
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/animation/CSSPropertyAnimation.cpp
M Source/WebCore/bindings/js/JSCSSRuleCustom.cpp
M Source/WebCore/css/CSSProperties.json
A Source/WebCore/css/CSSPropertyRule.cpp
A Source/WebCore/css/CSSPropertyRule.h
A Source/WebCore/css/CSSPropertyRule.idl
M Source/WebCore/css/CSSValueKeywords.in
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/css/DOMCSSCustomPropertyDescriptor.h
M Source/WebCore/css/StyleRule.cpp
M Source/WebCore/css/StyleRule.h
M Source/WebCore/css/StyleRuleType.h
M Source/WebCore/css/StyleSheetContents.cpp
M Source/WebCore/css/parser/CSSAtRuleID.cpp
M Source/WebCore/css/parser/CSSAtRuleID.h
M Source/WebCore/css/parser/CSSParserImpl.cpp
M Source/WebCore/css/parser/CSSParserImpl.h
M Source/WebCore/css/parser/CSSPropertyParser.cpp
M Source/WebCore/css/parser/CSSPropertyParser.h
M Source/WebCore/inspector/InspectorStyleSheet.cpp
Log Message:
-----------
[@property] Add @property rule parsing and CSSOM
https://bugs.webkit.org/show_bug.cgi?id=249554
rdar://103493363
Reviewed by Cameron McCormack.
https://drafts.css-houdini.org/css-properties-values-api/#at-property-rule
The properties defined by @property rules are not yet registered with this patch.
* LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration-expected.txt:
The CSS property code generator adds all properties unconditionally to CSSStyleDeclaration interface.
However descriptors should in most cases be omitted. That's why these newly added descriptors turn into fails in this test.
* LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-cssom-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/idlharness-expected.txt:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
Use isDescriptorOnly to reduce need for special casing. Descriptors are never animatable.
* Source/WebCore/bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJSNewlyCreated):
* Source/WebCore/css/CSSProperties.json:
Add 'syntax', 'inherits' and 'initial-value' descriptors
* Source/WebCore/css/CSSPropertyRule.cpp: Added.
(WebCore::CSSPropertyRule::CSSPropertyRule):
(WebCore::CSSPropertyRule::create):
(WebCore::CSSPropertyRule::name const):
(WebCore::CSSPropertyRule::syntax const):
(WebCore::CSSPropertyRule::inherits const):
(WebCore::CSSPropertyRule::initialValue const):
(WebCore::CSSPropertyRule::cssText const):
(WebCore::CSSPropertyRule::reattach):
* Source/WebCore/css/CSSPropertyRule.h: Added.
* Source/WebCore/css/CSSPropertyRule.idl: Added.
Add a CSSOM wrapper.
* Source/WebCore/css/CSSValueKeywords.in:
Add 'true' and 'false'.
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
* Source/WebCore/css/DOMCSSCustomPropertyDescriptor.h:
* Source/WebCore/css/StyleRule.cpp:
(WebCore::StyleRuleBase::visitDerived):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRuleProperty::StyleRuleProperty):
(WebCore::StyleRuleProperty::create):
Add StyleRuleProperty type for representing @property in stylesheets.
* Source/WebCore/css/StyleRule.h:
(WebCore::StyleRuleBase::isPropertyRule const):
(isType):
* Source/WebCore/css/StyleRuleType.h:
* Source/WebCore/css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::traverseSubresources const):
* Source/WebCore/css/parser/CSSAtRuleID.cpp:
(WebCore::cssAtRuleID):
* Source/WebCore/css/parser/CSSAtRuleID.h:
* Source/WebCore/css/parser/CSSParserContext.cpp:
(WebCore::add):
* Source/WebCore/css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumePropertyRule):
* Source/WebCore/css/parser/CSSParserImpl.h:
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseValue):
(WebCore::CSSPropertyParser::parsePropertyDescriptor):
* Source/WebCore/css/parser/CSSPropertyParser.h:
* Source/WebCore/inspector/InspectorStyleSheet.cpp:
(WebCore::flatteningStrategyForStyleRuleType):
Canonical link: https://commits.webkit.org/258067@main
More information about the webkit-changes
mailing list