Bug 93975

Summary: [chromium] Must account for empty transformation lists when checking for big rotations.
Product: WebKit Reporter: vollick
Component: WebKit Misc.Assignee: vollick
Severity: Normal CC: cc-bugs, enne, jamesr, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Description Flags
Patch none

Description vollick 2012-08-14 09:19:38 PDT
AnimationTranslationUtil.cpp is supposed to reject large rotations (>= 180 degrees between keyframes). The current code assumes that if the lists of transforms at two consecutive keyframes do not match (i.e., are different types), then do not need to reject. The rationale is that we will revert to matrix blending -- we will collapse the lists of transform operations to matrices at each keyframe and blend those. Unfortunately, this is not true if a list is empty. It can be the case that we transition from no transform to a rotation about the z axis of 360 degrees. In this case, the first list of transform operations will be empty and the second will have a single rotation of 360 degrees. An empty list should be treated as a rotation of zero degrees.
Comment 1 vollick 2012-08-14 09:31:35 PDT
Created attachment 158347 [details]
Comment 2 vollick 2012-08-14 10:15:36 PDT
Created attachment 158358 [details]

Comment 3 James Robinson 2012-08-15 11:56:44 PDT
Comment on attachment 158358 [details]

Comment 4 WebKit Review Bot 2012-08-15 13:50:26 PDT
Comment on attachment 158358 [details]

Clearing flags on attachment: 158358

Committed r125702: <http://trac.webkit.org/changeset/125702>
Comment 5 WebKit Review Bot 2012-08-15 13:50:29 PDT
All reviewed patches have been landed.  Closing bug.