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

Reply via email to