Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 512f1e7a44f950c674b251e66cc533d550e4f0a6
https://github.com/WebKit/WebKit/commit/512f1e7a44f950c674b251e66cc533d550e4f0a6
Author: Chris Dumez <[email protected]>
Date: 2026-04-05 (Sun, 05 Apr 2026)
Changed paths:
M Source/WebCore/css/CSSContainerRule.cpp
M Source/WebCore/css/CSSCounterStyleDescriptors.cpp
M Source/WebCore/css/CSSCounterValue.cpp
M Source/WebCore/css/CSSFontFeatureValuesRule.cpp
M Source/WebCore/css/CSSFunctionRule.cpp
M Source/WebCore/css/CSSGridLineNamesValue.cpp
M Source/WebCore/css/CSSLayerBlockRule.cpp
M Source/WebCore/css/CSSMarkup.cpp
M Source/WebCore/css/CSSMarkup.h
M Source/WebCore/css/CSSNamespaceRule.cpp
M Source/WebCore/css/CSSPrimitiveValue.cpp
M Source/WebCore/css/CSSPropertyRule.cpp
M Source/WebCore/css/CSSSelector.cpp
M Source/WebCore/css/DOMCSSNamespace.cpp
M Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp
M Source/WebCore/css/parser/CSSParserToken.cpp
M Source/WebCore/css/query/ContainerQuery.cpp
M Source/WebCore/css/query/GenericMediaQuerySerialization.cpp
M Source/WebCore/css/query/MediaQueryParser.cpp
M Source/WebCore/css/typedom/CSSKeywordValue.cpp
M Source/WebCore/css/values/CSSValueTypes.cpp
M Source/WebCore/css/values/primitives/CSSURL.cpp
M Source/WebCore/css/values/shapes/CSSPathFunction.cpp
Log Message:
-----------
Avoid temporary String allocations in CSSParserToken::serialize()
https://bugs.webkit.org/show_bug.cgi?id=311413
Reviewed by Darin Adler.
serializeIdentifier() and serializeString() in CSSMarkup only iterate
characters; they don't need an owning String. Change them to accept
StringView so callers can pass StringView directly instead of
materializing a temporary String via toString().
This eliminates 7 unnecessary String allocations per
CSSParserToken::serialize() call, which is used for custom property
serialization and @supports CSSOM.
* Source/WebCore/css/CSSContainerRule.cpp:
(WebCore::CSSContainerRule::containerName const):
* Source/WebCore/css/CSSCounterStyleDescriptors.cpp:
(WebCore::CSSCounterStyleDescriptors::Symbol::cssText const):
* Source/WebCore/css/CSSCounterValue.cpp:
(WebCore::CSSCounterValue::customCSSText const):
* Source/WebCore/css/CSSFontFeatureValuesRule.cpp:
(WebCore::CSSFontFeatureValuesRule::cssText const):
* Source/WebCore/css/CSSFunctionRule.cpp:
(WebCore::CSSFunctionRule::cssText const):
* Source/WebCore/css/CSSGridLineNamesValue.cpp:
(WebCore::CSSGridLineNamesValue::customCSSText const):
* Source/WebCore/css/CSSLayerBlockRule.cpp:
(WebCore::stringFromCascadeLayerName):
* Source/WebCore/css/CSSMarkup.cpp:
(WebCore::isCSSTokenizerIdentifier):
(WebCore::serializeCharacter):
(WebCore::serializeCharacterAsCodePoint):
(WebCore::serializeIdentifier):
(WebCore::serializeString):
(WebCore::serializeURL):
* Source/WebCore/css/CSSMarkup.h:
* Source/WebCore/css/CSSNamespaceRule.cpp:
(WebCore::CSSNamespaceRule::cssText const):
* Source/WebCore/css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::serializeInternal const):
* Source/WebCore/css/CSSPropertyRule.cpp:
(WebCore::CSSPropertyRule::cssText const):
* Source/WebCore/css/CSSSelector.cpp:
(WebCore::appendPossiblyQuotedIdentifier):
(WebCore::CSSSelector::selectorText const):
* Source/WebCore/css/DOMCSSNamespace.cpp:
(WebCore::DOMCSSNamespace::escape):
* Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp:
(WebCore::CSSCalc::serializeMathFunctionArguments):
* Source/WebCore/css/parser/CSSParserToken.cpp:
(WebCore::CSSParserToken::serialize const):
* Source/WebCore/css/query/ContainerQuery.cpp:
(WebCore::CQ::serialize):
* Source/WebCore/css/query/GenericMediaQuerySerialization.cpp:
(WebCore::MQ::serialize):
* Source/WebCore/css/query/MediaQueryParser.cpp:
(WebCore::MQ::serialize):
* Source/WebCore/css/typedom/CSSKeywordValue.cpp:
(WebCore::CSSKeywordValue::serialize const):
* Source/WebCore/css/values/CSSValueTypes.cpp:
(WebCore::CSS::serializationForCSSCustomIdentifier):
(WebCore::CSS::serializationForCSSString):
* Source/WebCore/css/values/primitives/CSSURL.cpp:
(WebCore::CSS::Serialize<URL>::operator):
* Source/WebCore/css/values/shapes/CSSPathFunction.cpp:
(WebCore::CSS::Serialize<Path>::operator):
Canonical link: https://commits.webkit.org/310602@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications