Bug 85121 - Implement reverse animation direction on Windows CoreAnimation
Summary: Implement reverse animation direction on Windows CoreAnimation
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Brent Fulgham
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2012-04-27 20:15 PDT by Dean Jackson
Modified: 2013-10-21 19:03 PDT (History)
5 users (show)

See Also:


Attachments
Invalid Patch (1.63 KB, patch)
2013-10-16 13:57 PDT, Brent Fulgham
no flags Details | Formatted Diff | Diff
Patch (7.07 KB, patch)
2013-10-21 17:34 PDT, Brent Fulgham
no flags Details | Formatted Diff | Diff
Patch (7.35 KB, patch)
2013-10-21 17:49 PDT, Brent Fulgham
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dean Jackson 2012-04-27 20:15:18 PDT
Windows falls back to software animation when the direction is reverse or alternate-reverse.
Comment 1 Radar WebKit Bug Importer 2012-04-27 20:16:03 PDT
<rdar://problem/11341982>
Comment 2 Brent Fulgham 2013-10-15 13:58:15 PDT
Example:

LayoutTests/animations/animation-direction-reverse-timing-functions.html
LayoutTests/animations/animation-direction-reverse-timing-functions-hardware.html

The latter should be completely hardware-accelerated.
Comment 3 Brent Fulgham 2013-10-16 13:55:14 PDT
Running the tests on recent AAS it seems that this is working properly.
Comment 4 Brent Fulgham 2013-10-16 13:57:55 PDT
Created attachment 214391 [details]
Invalid Patch
Comment 5 Simon Fraser (smfr) 2013-10-16 14:18:39 PDT
Comment on attachment 214391 [details]
Invalid Patch

Please mention the radar number too.
Comment 6 Brent Fulgham 2013-10-16 14:36:12 PDT
This patch will be correct in a future version of CoreGraphics.
Comment 7 Brent Fulgham 2013-10-21 16:34:49 PDT
CoreGraphics is fine. The Windows port was simply missing logic to invert the control points used in the timing function (see toCAMediaTimingFunction in PlatformCAAnimationMac.mm for details).
Comment 8 Brent Fulgham 2013-10-21 17:34:17 PDT
Created attachment 214800 [details]
Patch
Comment 9 Dean Jackson 2013-10-21 17:41:20 PDT
Comment on attachment 214800 [details]
Patch

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

> Source/WebCore/platform/animation/TimingFunction.h:145
> +        return adoptRef(new CubicBezierTimingFunction(Ease, 1.0 - m_x2, 1.0 - m_y2, 1.0 - m_x1, 1.0 - m_y1));

As discussed on IRC...

BTW - why not return CubicBezierTimingFunction::create(new points); ?
Comment 10 Brent Fulgham 2013-10-21 17:49:02 PDT
Created attachment 214802 [details]
Patch
Comment 11 WebKit Commit Bot 2013-10-21 19:03:43 PDT
Comment on attachment 214802 [details]
Patch

Clearing flags on attachment: 214802

Committed r157773: <http://trac.webkit.org/changeset/157773>
Comment 12 WebKit Commit Bot 2013-10-21 19:03:46 PDT
All reviewed patches have been landed.  Closing bug.