[webkit-changes] [WebKit/WebKit] 4d4321: Add support for opacity to the CSS parser fast-path
Simon Fraser
noreply at github.com
Tue Jul 16 11:56:56 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4d43216e1ba385baa7009dec90791314f7eb7e40
https://github.com/WebKit/WebKit/commit/4d43216e1ba385baa7009dec90791314f7eb7e40
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2024-07-16 (Tue, 16 Jul 2024)
Changed paths:
M LayoutTests/fast/css/parsing-opacity-expected.txt
M LayoutTests/fast/css/parsing-opacity.html
M Source/WebCore/css/parser/CSSParserFastPaths.cpp
M Source/WebCore/css/parser/CSSParserFastPaths.h
M Source/WebCore/css/typedom/CSSUnitValue.cpp
Log Message:
-----------
Add support for opacity to the CSS parser fast-path
https://bugs.webkit.org/show_bug.cgi?id=276646
rdar://131808782
Reviewed by Sam Weinig.
Add support for parsing opacity to CSSParserFastPaths, supporting numeric and percentage
forms.
Rearrange CSSParserFastPaths::maybeParseValue() to switch on the propertyID; previously we
we calling `parseSimpleTransform()` for things we knew were not a transform.
Hoist the call to `isSimpleLengthPropertyID()` out of `parseSimpleLengthValue()`. The
`isCSSViewportParsingEnabledForMode()` check there is obsolete and can probably be removed,
since we don't support `@viewport`. For simple length properties, we still fall through to
`parseKeywordValue()` for values like `auto`.
Support the `none` display value.
Remove `transformCanLikelyUseFastPath()` because it's faster to just call call
`parseSimpleTransformList()`.
* LayoutTests/fast/css/parsing-opacity-expected.txt:
* LayoutTests/fast/css/parsing-opacity.html:
* Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isSimpleLengthPropertyID):
(WebCore::parseSimpleNumberOrPercentage):
(WebCore::parseSimpleLengthValue):
(WebCore::parseColorIntOrPercentage):
(WebCore::parseHexColorInternal):
(WebCore::parseNumericColor):
(WebCore::parseSimpleTransformList):
(WebCore::parseSimpleTransform):
(WebCore::parseDisplay):
(WebCore::parseOpacity):
(WebCore::CSSParserFastPaths::maybeParseValue):
(WebCore::transformCanLikelyUseFastPath): Deleted.
* Source/WebCore/css/parser/CSSParserFastPaths.h:
* Source/WebCore/css/typedom/CSSUnitValue.cpp:
(WebCore::isValueOutOfRangeForProperty):
Canonical link: https://commits.webkit.org/281010@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