[webkit-dev] Question about -webkit-transform: scale3d() when zero scale factor is used.

W. James MacLean wjmaclean at chromium.org
Thu Feb 3 07:49:00 PST 2011


What is the intended behaviour if someone applies the following style to an
element:

-webkit-transform: scale3d(0.8, 0.8, 0)

?

Right now (in Chromium and Safari) there are two different behaviours
depending whether the GPU is involved or not.

With gpu acceleration the objects renders properly, but stops responding to
mouse events. This is due to the fact that elements with non-invertible
transforms are excluded from hit testing.

Without gpu acceleration, the object renders properly and continues to
respond to mouse events. This is due to the fact that when makeRenderable()
is called on the element's transform, it is forced to be affine and it
becomes invertible in the process.

So which, if either, is "correct"?

The following quote is found at

http://www.w3.org/TR/css3-2d-transforms/

"In some cases, an animation might cause a transformation matrix to be
singular or non-invertible. For example, an animation in which scale moves
from 1 to -1. At the time when the matrix is in such a state, the
transformed element is not rendered."

In this case, neither behaviour seems quite consistent, since in both case
the element is rendered. Then again, this is -webkit-transform, not CSS
transform, so are the intended outcomes different?

Cheers,

James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20110203/9df06717/attachment.html>


More information about the webkit-dev mailing list