[Bug 16377] New: Define handling of singular 3D transforms

https://www.w3.org/Bugs/Public/show_bug.cgi?id=16377

           Summary: Define handling of singular 3D transforms
           Product: CSS
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Transforms
        AssignedTo: smfr@me.com
        ReportedBy: ayg@aryeh.name
         QAContact: public-css-bugzilla@w3.org
                CC: ayg@aryeh.name, cmarrin@apple.com, eoconnor@apple.com,
                    smfr@me.com, dino@apple.com, dschulze@adobe.com


What happens if a singular 3D transform is applied?  Test-case 1:

data:text/html,<!DOCTYPE html>
<div style="background:lime;height:100px;width:100px;
-ms-transform:scalez(0);
-moz-transform:scalez(0);
-webkit-transform:scalez(0)">

IE10 Developer Preview and Firefox 14.0a1 render nothing.  WebKit nightly
r109732 (Windows) and Chrome 19 dev (Linux, with GPU acceleration) render a
green square.

data:text/html,<!DOCTYPE html>
<div style="background:lime;height:100px;width:100px;
-ms-transform:scale3d(2,2,0);
-moz-transform:scale3d(2,2,0);
-webkit-transform:scale3d(2,2,0)">

This is the same as before, except in this case Chrome 19 dev also renders
nothing.

If we think of elements as being boxes in the x-y plane with zero thickness, a
singular transform that projects them to the x-y plane shouldn't stop them from
rendering.  If we think of them as having infinitesimal thickness, however,
perhaps it should.  More to the point, non-invertible matrices are a pain to
deal with, so perhaps we should say they always cause nothing to render. 
Test-case 3:

data:text/html,<!DOCTYPE html>
<div style="background:lime;height:100px;width:100px;
-ms-transform:scale3d(2,2,0);
-moz-transform:scale3d(2,2,0);
-webkit-transform:scale3d(2,2,0)" onclick="alert('test')">

In the WebKit nightly on Windows, this does render, but clicking on the green
box does nothing.  This is unexpected.  In other browsers it doesn't render, so
of course clicking does nothing.

Should we require that an element affected by a singular transform doesn't
render?  This is obvious for 2D transforms, because the box is mapped to a line
or point, but it's not obvious for rank-2 3D transforms, since they map the box
into a plane.  This change would mean that nothing should render in any of
these test-cases.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Wednesday, 14 March 2012 19:34:44 UTC