Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8e9f9d34d8cfb01b1174c74e39a0fc6effba9343
      
https://github.com/WebKit/WebKit/commit/8e9f9d34d8cfb01b1174c74e39a0fc6effba9343
  Author: Darin Adler <da...@apple.com>
  Date:   2023-01-12 (Thu, 12 Jan 2023)

  Changed paths:
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/CSSComputedStyleDeclaration.cpp
    M Source/WebCore/css/CSSComputedStyleDeclaration.h
    M Source/WebCore/css/CSSPrimitiveValue.cpp
    M Source/WebCore/css/CSSPrimitiveValue.h
    M Source/WebCore/css/CSSStyleDeclaration.h
    M Source/WebCore/css/CSSToStyleMap.cpp
    M Source/WebCore/css/CSSValue.cpp
    M Source/WebCore/css/CSSValue.h
    M Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.h
    M Source/WebCore/css/DeprecatedCSSOMValue.cpp
    M Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
    M Source/WebCore/css/PropertySetCSSStyleDeclaration.h
    M Source/WebCore/css/StyleProperties.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.cpp
    M Source/WebCore/editing/EditingStyle.cpp
    M Source/WebCore/editing/cocoa/HTMLConverter.mm
    M Source/WebCore/inspector/InspectorOverlay.cpp
    M Source/WebCore/style/ElementRuleCollector.cpp
    M Source/WebCore/style/PropertyCascade.cpp
    M Source/WebCore/style/StyleBuilder.cpp
    M Source/WebCore/style/StyleResolver.cpp
    M Source/WebCore/svg/SVGFontFaceElement.cpp

  Log Message:
  -----------
  Remove some unneeded CSSValue functions and streamline CSS-wide keyword 
handling
https://bugs.webkit.org/show_bug.cgi?id=250513
rdar://104167575

Reviewed by Tim Nguyen and Oriol Brufau.

Removed some other unneeded things as as well. One benefit of this change is 
that the CSSValue
class is a little less cluttered. Another is that the new implementations are 
mostly inlined
so there might be a small performance boost. Other small improvements in 
specific code paths.

* Source/WebCore/WebCore.xcodeproj/project.pbxproj: Made CSSParserIdioms.h a 
"private" header
since it's now included indirectly by WebKitLegacy source files. There are 
other ways to solve
this problem, but I prefer this one since it doesn't reduce inlining.

* Source/WebCore/css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal): Deleted.
* Source/WebCore/css/CSSComputedStyleDeclaration.h: Removed 
getPropertyCSSValueInternal.

* Source/WebCore/css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Updated the flag name from 
m_isImplicit
to m_isImplicitInitialValue.
(WebCore::CSSPrimitiveValue::isCSSWideKeyword const): Deleted.
* Source/WebCore/css/CSSPrimitiveValue.h: Removed isInitialValue, 
isImplicitInitialValue,
isInheritValue, isUnsetValue, isRevertValue, isRevertLayerValue, and 
isCSSWideKeyword.

* Source/WebCore/css/CSSStyleDeclaration.h: Removed getPropertyCSSValueInternal.

* Source/WebCore/css/CSSToStyleMap.cpp:
(WebCore::treatAsInitialValue): Added. Replaces CSSValue::treatAsInitialValue.
This was the only place that function was used.
(WebCore::CSSToStyleMap::mapFillAttachment): Use treatAsInitialValue.
(WebCore::CSSToStyleMap::mapFillClip): Ditto.
(WebCore::CSSToStyleMap::mapFillComposite): Ditto.
(WebCore::CSSToStyleMap::mapFillBlendMode): Ditto.
(WebCore::CSSToStyleMap::mapFillOrigin): Ditto.
(WebCore::CSSToStyleMap::mapFillImage): Ditto.
(WebCore::CSSToStyleMap::mapFillRepeat): Ditto.
(WebCore::CSSToStyleMap::mapFillSize): Ditto.
(WebCore::CSSToStyleMap::mapFillXPosition): Ditto.
(WebCore::CSSToStyleMap::mapFillYPosition): Ditto.
(WebCore::CSSToStyleMap::mapFillMaskMode): Ditto.
(WebCore::CSSToStyleMap::mapAnimationDelay): Ditto.
(WebCore::CSSToStyleMap::mapAnimationDirection): Ditto.
(WebCore::CSSToStyleMap::mapAnimationDuration): Ditto.
(WebCore::CSSToStyleMap::mapAnimationFillMode): Ditto.
(WebCore::CSSToStyleMap::mapAnimationIterationCount): Ditto.
(WebCore::CSSToStyleMap::mapAnimationName): Ditto.
(WebCore::CSSToStyleMap::mapAnimationPlayState): Ditto.
(WebCore::CSSToStyleMap::mapAnimationProperty): Ditto.
(WebCore::CSSToStyleMap::mapAnimationTimingFunction): Ditto.
(WebCore::CSSToStyleMap::mapAnimationCompositeOperation): Ditto.

* Source/WebCore/css/CSSValue.cpp:
(WebCore::CSSValue::treatAsInheritedValue const): Deleted.
(WebCore::CSSValue::treatAsInitialValue const): Deleted.
(WebCore::CSSValue::isInitialValue const): Deleted.
(WebCore::CSSValue::isImplicitInitialValue const): Deleted.
(WebCore::CSSValue::isInheritValue const): Deleted.
(WebCore::CSSValue::isUnsetValue const): Deleted.
(WebCore::CSSValue::isRevertValue const): Deleted.
(WebCore::CSSValue::isRevertLayerValue const): Deleted.
(WebCore::CSSValue::isCSSWideKeyword const): Deleted.

* Source/WebCore/css/CSSValue.h: Use the m_isImplicitInitialValue flag to
implement the isImplicitInitialValue function. Removed isInheritValue,
isInitialValue, isUnsetValue, isRevertValue, isRevertLayerValue,
isCSSWideKeyword, treatAsInitialValue, and treatAsInheritedValue.

* Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.h: Use isCSSWideKeyword from 
CSSParserIdioms.

* Source/WebCore/css/DeprecatedCSSOMValue.cpp:
(WebCore::DeprecatedCSSOMComplexValue::cssValueType const): Use valueID
instead of separate getters.

* Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue): Call
the underlying getPropertyCSSValue directly instead of through 
getPropertyCSSValueInternal.
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal): Deleted.

* Source/WebCore/css/PropertySetCSSStyleDeclaration.h: Removed 
getPropertyCSSValueInternal.

* Source/WebCore/css/StyleProperties.cpp:
(WebCore::StyleProperties::commonShorthandChecks const): Use isCSSWideKeyword 
from CSSParserIdioms.

* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::initialValueTextForLonghand): Removed unneeded std::monostate case.

* Source/WebCore/editing/EditingStyle.cpp:
(WebCore::fontWeightValueIsBold): Use isCSSWideKeyword from CSSParserIdioms.

* Source/WebCore/editing/cocoa/HTMLConverter.mm:
(HTMLConverterCaches::propertyValueForNode): Use isValueID.
(HTMLConverterCaches::floatPropertyValueForNode): Ditto.
(HTMLConverterCaches::colorPropertyValueForNode): Ditto.

* Source/WebCore/inspector/InspectorOverlay.cpp:
(WebCore::authoredGridTrackSizes): Get the columns or rows property directly 
from the inline
style rather than going indirectly through cssomStyle, which does the same 
thing but is less
efficient because it unnecessarily creates an object as a side effect and 
requires the
getPropertyCSSValueInternal function, not used anywhere else.

* Source/WebCore/style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::addMatchedProperties): Use isValueID.
* Source/WebCore/style/PropertyCascade.cpp:
(WebCore::Style::PropertyCascade::addMatch): Ditto.

* Source/WebCore/style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyProperty): Use valueID, and simplify since 
traditional properties
and custom properties are now both expressing special values the same way.

* Source/WebCore/style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForKeyframe): Use isValueID.
* Source/WebCore/svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::parseAttribute): Ditto.

Canonical link: https://commits.webkit.org/258863@main


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to