<html>
    <head>
      <base href="https://bugs.webkit.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - animation-play-state does not work when -webkit-overflow-scrolling is set to "touch""
   href="https://bugs.webkit.org/show_bug.cgi?id=170784#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - animation-play-state does not work when -webkit-overflow-scrolling is set to "touch""
   href="https://bugs.webkit.org/show_bug.cgi?id=170784">bug 170784</a>
              from <span class="vcard"><a class="email" href="mailto:fred.wang@free.fr" title="Frédéric Wang (:fredw) <fred.wang@free.fr>"> <span class="fn">Frédéric Wang (:fredw)</span></a>
</span></b>
        <pre>I debugged this a bit today. Pausing seems to behave normally for WebCore's animation-related objects but then the code arrives in GraphicsLayerCA::pauseCAAnimationOnLayer where the running animation is replace with a zero-speed copy:

    // Animations on the layer are immutable, so we have to clone and modify.   
    RefPtr<PlatformCAAnimation> newAnim = curAnim->copy();

    newAnim->setSpeed(0);
    newAnim->setTimeOffset(timeOffset.seconds());

    layer->addAnimationForKey(animationID, *newAnim); // This will replace the running animation.                                                              

Here for macOS vs iOS we have "Cocoa" vs "Remote" layer-related objects, which I guess behave differently. I have not tried to debug more for now but removing the animation key before adding the zero-speed copy does stop the animation  (but unfortunately seems to remove the current transform). So I guess it's an issue in how "Remote" objects handle this.

I also wonder what is this bug7311367Workaround function in GraphicsLayerCA  and whether it is relevant here?</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>