[Webkit-unassigned] [Bug 67695] (animated?) rotate and rotate3d improperly handle values over 180 degrees

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 8 13:09:55 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=67695


Dean Jackson <dino at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
         AssignedTo|webkit-unassigned at lists.web |dino at apple.com
                   |kit.org                     |
     Ever Confirmed|0                           |1




--- Comment #9 from Dean Jackson <dino at apple.com>  2011-09-08 13:09:55 PST ---
(In reply to comment #8)
> (In reply to comment #6)
> > I see the issue. You're animating from rotate(0deg) to rotateY(540deg), which is effectively going between rotateZ() and rotateY(). Because your starting and ending transform lists are mismatched, we fall back to converting both to matrices, and interpolating the matrices. This causes loss of information, but is expected behavior. See <http://www.w3.org/TR/css3-3d-transforms/#animation>
> 
> That is simply one case. What about the others I detailed? They are not covered by that explanation.

Sorry, I think they are. http://www.w3.org/TR/css3-3d-transforms/#animation

- The first three tests you give fail all the rules given in the spec, in particular the 2nd last one "If both the ‘from’ and ‘to’ transforms have the same number of transform functions and corresponding functions in each transform list are of the same type". rotate() doesn't match rotateX(), rotateY() or rotateZ().

- The rest of the tests are between rotate3d() values. See the 2nd sub-clause of the first rule: "For perspective, matrix, matrix3d and rotate3d: the values are first converted to a 4x4 matrix...". That conversion to a matrix will lose the fact that 360deg is different from 0deg.

I'll also note that rotate3d(0,0,0, anything) doesn't make sense. The spec says "A direction vector that cannot be normalized, such as [0, 0, 0], will cause the rotation to not be applied". 

I'm going to take this bug though, because it seems that Chrome is applying rotation where it shouldn't. I expect this is because the WebKit software animator is doing the wrong thing (Safari uses another engine for 3d). Unfortunately this means "fixing" the bug in the opposite manner to which you're asking.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list