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

