[webkit-changes] [WebKit/WebKit] bb75c5: Convert easing function types to strongly typed CS...

Sam Weinig noreply at github.com
Tue Dec 17 08:19:36 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb75c5b59ec49841696536fdca8296c5dd3cfa91
      https://github.com/WebKit/WebKit/commit/bb75c5b59ec49841696536fdca8296c5dd3cfa91
  Author: Sam Weinig <sam at webkit.org>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/SaferCPPExpectations/RefCntblBaseVirtualDtorExpectations
    M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/animation/AnimationEffect.cpp
    M Source/WebCore/animation/KeyframeEffect.cpp
    A Source/WebCore/css/CSSEasingFunctionValue.cpp
    A Source/WebCore/css/CSSEasingFunctionValue.h
    M Source/WebCore/css/CSSProperties.json
    R Source/WebCore/css/CSSTimingFunctionValue.cpp
    R Source/WebCore/css/CSSTimingFunctionValue.h
    M Source/WebCore/css/CSSToStyleMap.cpp
    M Source/WebCore/css/CSSValue.cpp
    M Source/WebCore/css/CSSValue.h
    M Source/WebCore/css/ComputedStyleExtractor.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.cpp
    A Source/WebCore/css/parser/CSSPropertyParserConsumer+Easing.cpp
    A Source/WebCore/css/parser/CSSPropertyParserConsumer+Easing.h
    R Source/WebCore/css/parser/CSSPropertyParserConsumer+TimingFunction.cpp
    R Source/WebCore/css/parser/CSSPropertyParserConsumer+TimingFunction.h
    M Source/WebCore/css/process-css-properties.py
    M Source/WebCore/css/typedom/CSSStyleValueFactory.cpp
    M Source/WebCore/css/values/CSSValueTypes.h
    M Source/WebCore/css/values/backgrounds/CSSBoxShadow.h
    A Source/WebCore/css/values/easing/CSSCubicBezierEasingFunction.h
    A Source/WebCore/css/values/easing/CSSEasingFunction.h
    A Source/WebCore/css/values/easing/CSSLinearEasingFunction.h
    A Source/WebCore/css/values/easing/CSSSpringEasingFunction.h
    A Source/WebCore/css/values/easing/CSSStepsEasingFunction.h
    M Source/WebCore/css/values/filter-effects/CSSDropShadowFunction.h
    M Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes.h
    M Source/WebCore/css/values/text-decoration/CSSTextShadow.h
    M Source/WebCore/style/StyleBuilderConverter.h
    M Source/WebCore/style/StyleResolver.cpp
    M Source/WebCore/style/values/StyleValueTypes.h
    M Source/WebCore/style/values/backgrounds/StyleBoxShadow.h
    A Source/WebCore/style/values/easing/StyleCubicBezierEasingFunction.cpp
    A Source/WebCore/style/values/easing/StyleCubicBezierEasingFunction.h
    A Source/WebCore/style/values/easing/StyleEasingFunction.cpp
    A Source/WebCore/style/values/easing/StyleEasingFunction.h
    A Source/WebCore/style/values/easing/StyleLinearEasingFunction.cpp
    A Source/WebCore/style/values/easing/StyleLinearEasingFunction.h
    A Source/WebCore/style/values/easing/StyleSpringEasingFunction.cpp
    A Source/WebCore/style/values/easing/StyleSpringEasingFunction.h
    A Source/WebCore/style/values/easing/StyleStepsEasingFunction.cpp
    A Source/WebCore/style/values/easing/StyleStepsEasingFunction.h
    M Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h
    M Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes.h
    M Source/WebCore/style/values/text-decoration/StyleTextShadow.h

  Log Message:
  -----------
  Convert easing function types to strongly typed CSS values
https://bugs.webkit.org/show_bug.cgi?id=284751

Reviewed by Darin Adler.

Converts easing function types to strongly typed CSS values.

Replaces CSSLinearTimingFunctionValue, CSSCubicBezierTimingFunctionValue
CSSStepsTimingFunctionValue and CSSSpringTimingFunctionValue with a single
CSSEasingFunctionValue backed by CSS::EasingFunction.

The term "easing function" is used instead of "timing function" to
better match the spec language.

Like with shadows and filters, this change only adds new types
on the CSS side, leaving the types on the Style side unchanged.
This is necessary due to complicated layering of the animation
system, which uses the TimingFunction classes extensively in
types shared between the platform and WebCore layers. As with
shadows and filters, the file/directory hierarchy on the Style
side has been updated and is used for the conversion functions.

* Source/WebCore/CMakeLists.txt:
* Source/WebCore/SaferCPPExpectations/RefCntblBaseVirtualDtorExpectations:
* Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/animation/AnimationEffect.cpp:
* Source/WebCore/animation/KeyframeEffect.cpp:
* Source/WebCore/css/CSSEasingFunctionValue.cpp: Added.
* Source/WebCore/css/CSSEasingFunctionValue.h: Added.
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/CSSTimingFunctionValue.cpp: Removed.
* Source/WebCore/css/CSSTimingFunctionValue.h: Removed.
* Source/WebCore/css/CSSToStyleMap.cpp:
* Source/WebCore/css/CSSValue.cpp:
* Source/WebCore/css/CSSValue.h:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Easing.cpp: Renamed from Source/WebCore/css/parser/CSSPropertyParserConsumer+TimingFunction.cpp
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Easing.h: Renamed from Source/WebCore/css/parser/CSSPropertyParserConsumer+TimingFunction.h.
* Source/WebCore/css/process-css-properties.py:
* Source/WebCore/css/values/CSSValueTypes.h:
* Source/WebCore/css/values/backgrounds/CSSBoxShadow.h:
* Source/WebCore/css/values/easing/CSSCubicBezierEasingFunction.h: Added.
* Source/WebCore/css/values/easing/CSSEasingFunction.h: Added.
* Source/WebCore/css/values/easing/CSSLinearEasingFunction.h: Added.
* Source/WebCore/css/values/easing/CSSSpringEasingFunction.h: Added.
* Source/WebCore/css/values/easing/CSSStepsEasingFunction.h: Added.
* Source/WebCore/css/values/filter-effects/CSSDropShadowFunction.h:
* Source/WebCore/css/values/primitives/CSSPrimitiveNumericTypes.h:
* Source/WebCore/css/values/text-decoration/CSSTextShadow.h:
* Source/WebCore/style/StyleBuilderConverter.h:
* Source/WebCore/style/StyleResolver.cpp:
* Source/WebCore/style/values/StyleValueTypes.h:
* Source/WebCore/style/values/backgrounds/StyleBoxShadow.h:
* Source/WebCore/style/values/easing/StyleCubicBezierEasingFunction.cpp: Added.
* Source/WebCore/style/values/easing/StyleCubicBezierEasingFunction.h: Added.
* Source/WebCore/style/values/easing/StyleEasingFunction.cpp: Added.
* Source/WebCore/style/values/easing/StyleEasingFunction.h: Added.
* Source/WebCore/style/values/easing/StyleLinearEasingFunction.cpp: Added.
* Source/WebCore/style/values/easing/StyleLinearEasingFunction.h: Added.
* Source/WebCore/style/values/easing/StyleSpringEasingFunction.cpp: Added.
* Source/WebCore/style/values/easing/StyleSpringEasingFunction.h: Added.
* Source/WebCore/style/values/easing/StyleStepsEasingFunction.cpp: Added.
* Source/WebCore/style/values/easing/StyleStepsEasingFunction.h: Added.
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes.h:
* Source/WebCore/style/values/text-decoration/StyleTextShadow.h:

Canonical link: https://commits.webkit.org/287946@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