[Webkit-unassigned] [Bug 150328] New: Multiple-keyframe animations not honouring ' forwards' fill-mode

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 19 06:23:33 PDT 2015


https://bugs.webkit.org/show_bug.cgi?id=150328

            Bug ID: 150328
           Summary: Multiple-keyframe animations not honouring ' forwards'
                    fill-mode
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Animations
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mario at webkit.org
                CC: cgarcia at igalia.com, dino at apple.com, hyatt at apple.com,
                    mrobinson at webkit.org

Created attachment 263477
  --> https://bugs.webkit.org/attachment.cgi?id=263477&action=review
Reduced test case

DESCRIPTION

In recent versions of WebKit, if a CSS animation is defined with animation-fill-mode = forwards AND at least 3 or more different keyframes **where at least one falls in the [51% - 100%] range**, the end result is some random state that does not match the values of neither the 0% nor the 100% keyframe.

Curiously enough, if all the keyframes but the 100% fall in the [0% - 50%] interval, then the animation is finished correctly, and the final result after it's ended is that the values of the 100% keyframe are kept.

I initially found this in WebKitGTK 2.10.1, but then I've tried in my Mac Mini with OS X Yosemite and I could reproduce it in the latest WebKit nightly, so it looks like a cross platform regression.

More specifically, in OS X:
  * Works OK with Safari 9.0 (10601.1.56.2)
  * FAILS with WebKit Nightly r191175

I'm attaching a test case I wrote, so that the bug can be easily reproduceable.


STEPS TO REPRODUCE

  1. Uncompress the contents of the attached file and load index.html in MiniBrowser / Safari + WebKit Nightly 
  2. You should a block of text with a blue-ish background moving around the horizontal axis:
    + Start at coordinates (400, 0), moving towards the left until reaching (0, 0) at the 25% keyframe
    + Move towards the right until reaching (250, 0) at the 51% keyframe
    + Move towards the left until reaching (100,0) at the 100% keyframe
    + Stay at (100, 0) once the animation has finished


EXPECTED OUTCOME

After the animation has finished, the moving block remains quiet at (100, 0) as per the 'forwards' value of animation-fill-mode, which ensures the values of the 100% keyframe are brought out of the animation.


ACTUAL OUTCOME

After the animation has finished, the moving block moves to some (apparently) random spot in the horizontal axis, which does not seem to much neither the 0% nor the 100% keyframes.

Also, note that if you modify the test case so that the definition of the 51% keyframe because the 50% keyframe, then the animation is processed correctly and the moving block is left at its right position once it's finished.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20151019/d6499899/attachment.html>


More information about the webkit-unassigned mailing list