[webkit-changes] [WebKit/WebKit] 9f095f: [css-animations] a @keyframes rule using an "inher...

Antoine Quint noreply at github.com
Tue Jan 31 08:38:32 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9f095ff23eaab7fd58d2fb1b483113e28538bf2a
      https://github.com/WebKit/WebKit/commit/9f095ff23eaab7fd58d2fb1b483113e28538bf2a
  Author: Antoine Quint <graouts at webkit.org>
  Date:   2023-01-31 (Tue, 31 Jan 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/css/css-animations/responsive/line-height-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-animations/responsive/line-height.html
    M Source/WebCore/animation/KeyframeEffect.cpp
    M Source/WebCore/style/StyleResolver.cpp
    M Source/WebCore/style/StyleResolver.h

  Log Message:
  -----------
  [css-animations] a @keyframes rule using an "inherit" value does not update the resolved value when the parent style changes
https://bugs.webkit.org/show_bug.cgi?id=251433

Reviewed by Antti Koivisto.

In the case where a @keyframes rule has one of its properties set to "inherit", we need to update
the computed keyframes in case an ancestor changes in a way that the inherited value changes.

We already have a mechanism to deal with a similar scenario when the keyframes are provided using
the Web Animations API where the m_inheritedProperties instance variable keeps track of all CSS
properties set to "inherit" in keyframes.

We now pass m_inheritedProperties to Style::Resolver::keyframeStylesForAnimation() to populate it
when a CSS Animation's keyframes are computed.

* LayoutTests/imported/w3c/web-platform-tests/css/css-animations/responsive/line-height-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-animations/responsive/line-height.html: Added.
* Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
* Source/WebCore/style/StyleResolver.cpp:
(WebCore::Style::Resolver::keyframeStylesForAnimation):
* Source/WebCore/style/StyleResolver.h:

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




More information about the webkit-changes mailing list