Go to http://www.eleqtriq.com/2010/05/css-3d-matrix-transformations/, and scroll down to the "Example: Coverflow in CSS" section, and click Open Example. In the example, alternately hover over two adjacent cards. Note how they jump backwards and forwards, rather than animating smoothly. This is a regression from Safari 5.
<rdar://problem/9040742>
We're getting the timing function wrong.
Created attachment 83611 [details] Patch
Comment on attachment 83611 [details] Patch rs=me.
http://trac.webkit.org/changeset/79568
Comment on attachment 83611 [details] Patch Consider getting rid of the text in the test in the success case and landing the results in a cross-platform location.
I plan to do a pass over the transition/animation tests and make them dump as text. However, the pixel results aren't cross platform; the CALayer can paint non pixel-aligned.
sorry! my mistake!
I take it back. I'm not sorry. This was Chris :)
It's still wrong on the Win version. I'll add a patch for that presently.
Created attachment 84257 [details] Patch botched by Windows
Created attachment 84258 [details] Windows Patch
Comment on attachment 84258 [details] Windows Patch I think we should do the null check higher up and always pass in a TimingFunction here, because now these magic numbers are in 3 places.
Created attachment 84482 [details] Patch
Comment on attachment 84482 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=84482&action=review > Source/WebCore/platform/graphics/ca/win/PlatformCAAnimationWin.cpp:128 > + ASSERT(timingFunction); > + The Mac version has no blank line after the assert.
Committed r80266: <http://trac.webkit.org/changeset/80266>
Comment on attachment 84482 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=84482&action=review > Source/WebCore/platform/animation/TimingFunction.h:109 > + static const CubicBezierTimingFunction* defaultTimingFunction() > + { > + DEFINE_STATIC_LOCAL(const CubicBezierTimingFunction, dtf, ()); > + return &dtf; > + } This is wacky, and could lead to assertion failures due to adoptRef never being called. I'd suggest writing it like this: static const CubicBezierTimingFunction* function = create().leakRef(); return function;
Created attachment 84623 [details] Patch changing TimingFunction per Adam's suggestion
Committed r80289: <http://trac.webkit.org/changeset/80289>