Skip to content
  • Anders Hartvoll Ruud's avatar
    f9048ac7
    [scroll-animations] Resolve auto to 0s for time-based animations · f9048ac7
    Anders Hartvoll Ruud authored
    CL:4497757 made the initial value of animation-duration auto,
    but unfortunately reporting this auto value through getComputedStyle
    broke existing web content (Issue 1452130).
    
    Hence, hence the CSSWG opted to define a resolved value for
    animation-duration, which converts auto to 0s unless we have some
    non-default value for animation-timeline. This CL implements that
    change.
    
    This CL also contains a second change: reset-only sub-properties
    of the 'animation' shorthand are now correctly set to their
    initial value, or not some repeated amount of their initial value.
    This change was necessary to prevent e.g. "animation: a1, a2"
    from expanding to "animation-timeline: auto, auto", which would
    disable the auto-to-0s conversion behavior.
    
    Finally, note that the computedStyleMap (Typed OM) does not return
    resolved values, but computed values. Hence it must not be affected
    by the auto-to-0s conversion. To ensure this, an "override"
    was added for kAnimationDuration in ComputedStyleUtils::
    ComputedPropertyValue.
    
    Bug: 1452130
    Change-Id: I021ac68b61b83cd96962c56dab24043a19e99c5f
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4607459
    
    
    Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
    Reviewed-by: default avatarRune Lillesveen <futhark@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1157426}
    f9048ac7
    [scroll-animations] Resolve auto to 0s for time-based animations
    Anders Hartvoll Ruud authored
    CL:4497757 made the initial value of animation-duration auto,
    but unfortunately reporting this auto value through getComputedStyle
    broke existing web content (Issue 1452130).
    
    Hence, hence the CSSWG opted to define a resolved value for
    animation-duration, which converts auto to 0s unless we have some
    non-default value for animation-timeline. This CL implements that
    change.
    
    This CL also contains a second change: reset-only sub-properties
    of the 'animation' shorthand are now correctly set to their
    initial value, or not some repeated amount of their initial value.
    This change was necessary to prevent e.g. "animation: a1, a2"
    from expanding to "animation-timeline: auto, auto", which would
    disable the auto-to-0s conversion behavior.
    
    Finally, note that the computedStyleMap (Typed OM) does not return
    resolved values, but computed values. Hence it must not be affected
    by the auto-to-0s conversion. To ensure this, an "override"
    was added for kAnimationDuration in ComputedStyleUtils::
    ComputedPropertyValue.
    
    Bug: 1452130
    Change-Id: I021ac68b61b83cd96962c56dab24043a19e99c5f
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4607459
    
    
    Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
    Reviewed-by: default avatarRune Lillesveen <futhark@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1157426}
Loading