Only boxes should have child transform layers.

The child transform layer exists to apply a perspective 
transform on its composited descendants. If this were to
be necessary, the renderer housing the transform should
be a box. Without this requirement, we cannot determine
the correct size of the composited layer which will own
the perpective transform.

Rationale,

According to http://www.w3.org/TR/css-transforms-1/

Perspective can apply to "transformable elements."
That is, to

"""
an element whose layout is governed by the CSS box model
which is either a block-level or atomic inline-level
element, or whose display property computes to table-row,
table-row-group, table-header-group, table-footer-group,
table-cell, or table-caption [CSS21] an element in the
SVG namespace and not governed by the CSS box model which
has the attributes transform, ‘patternTransform‘ or
gradientTransform [SVG11].
"""

block-level elements and atomic inline-level elements
are boxes (see http://www.w3.org/TR/CSS2/visuren.html#x13
for more info on atomic inline-level elements), as are
the table-* things.

SVG elements could cause problems if they could be
separately composited, but they cannot be currently and
the SVG root is a box.

BUG=363873

Review URL: https://codereview.chromium.org/239513010

git-svn-id: svn://svn.chromium.org/blink/trunk@171832 bbb929c8-8fbe-4397-9dbb-9b2b20218538
3 files changed