Bug 217842

Summary: Support accelerated animation of individual transform CSS properties
Product: WebKit Reporter: Antoine Quint <graouts>
Component: AnimationsAssignee: Antoine Quint <graouts>
Status: RESOLVED FIXED    
Severity: Normal CC: changseok, dino, esprehn+autocc, ews-watchlist, fred.wang, glenn, kondapallykalyan, pdr, sergio, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=221054
Bug Depends on:    
Bug Blocks: 178117    
Attachments:
Description Flags
Patch dino: review+, ews-feeder: commit-queue-

Description Antoine Quint 2020-10-16 14:22:29 PDT
Support accelerated animation of individual transform CSS properties
Comment 1 Radar WebKit Bug Importer 2020-10-16 14:23:32 PDT
<rdar://problem/70391914>
Comment 2 Antoine Quint 2020-10-16 14:50:17 PDT
Created attachment 411617 [details]
Patch
Comment 3 Antoine Quint 2020-10-16 14:50:23 PDT
<rdar://problem/70391914>
Comment 4 Dean Jackson 2020-10-16 15:10:11 PDT
Comment on attachment 411617 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=411617&action=review

> Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2893
> +        animation.m_beginTime = Seconds::fromNanoseconds(1);

Why not zero? not that it matters
Comment 5 Antoine Quint 2020-10-16 15:11:17 PDT
(In reply to Dean Jackson from comment #4)
> Comment on attachment 411617 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=411617&action=review
> 
> > Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2893
> > +        animation.m_beginTime = Seconds::fromNanoseconds(1);
> 
> Why not zero? not that it matters

Because the CA API gives special meaning to zero in this context, using the current time when the CA transaction occur. We need this time to be as early as possible explicitly.
Comment 6 Antoine Quint 2020-10-16 15:44:03 PDT
Committed r268615: <https://trac.webkit.org/changeset/268615>
Comment 7 Ryan Haddad 2020-10-16 17:44:29 PDT
(In reply to Antoine Quint from comment #6)
> Committed r268615: <https://trac.webkit.org/changeset/268615>
As indicated by EWS, these tests are failing on Mojave bots now that the change landed:

webanimations/accelerated-transform-related-animation-property-order.html
webanimations/accelerated-translate-animation-additional-animation-added-in-flight.html
webanimations/accelerated-translate-animation-underlying-transform-changed-in-flight.html
webanimations/accelerated-translate-animation-with-transform.html
webanimations/accelerated-translate-animation.html

https://build.webkit.org/results/Apple-Mojave-Release-WK2-Tests/r268619%20(16992)/results.html
Comment 8 Dean Jackson 2020-10-16 19:12:00 PDT
Updated Test Expectations to skip these tests on Mojave.

r268627
Comment 9 Ryan Haddad 2020-10-16 19:20:05 PDT
(In reply to Dean Jackson from comment #8)
> Updated Test Expectations to skip these tests on Mojave.
> 
> r268627
Thanks! These are image failures, so we’ll need to switch this from Failure to ImageOnlyFailure. I can fix it up later tonight.
Comment 10 Simon Fraser (smfr) 2020-10-16 19:55:31 PDT
Why is it OK to break Mojave? That suggests the patch is wrong.
Comment 11 Simon Fraser (smfr) 2020-10-16 20:00:44 PDT
Like maybe this breaks the !HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED platforms.
Comment 12 Antoine Quint 2020-10-16 22:18:15 PDT
Most likely, I’ll install Mojave and fix those ASAP.
Comment 13 Simon Fraser (smfr) 2020-10-17 11:03:31 PDT
Also Windows is broken.