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

_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to