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

Simon Fraser simon.fraser at apple.com
Thu Feb 3 08:04:00 PST 2011


On Feb 3, 2011, at 7:49 AM, W. James MacLean wrote:

> 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?

Please file a bug on this issue.

Since elements are planar, scaling in the Z plane doesn't really make much sense on the appearance of the element itself, but it will affect the z-positions of children which project out of the plane. I think we may need to clarify this in the 3D transforms spec, and suggest that the element remains visible and hit-testable even when its z-scale is 0.

Simon

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


More information about the webkit-dev mailing list