[New Multicolumn] Render transformed layers into multiple fragments.

When composited, a layer is transformed on the graphics side, so the best thing
we can do is to carry on and just paint in all columns (without applying the
transform on our own). collectLayerFragments() used to refuse to collect a
fragment for each column involved if the layer was transformed. This is only
correct when not compositing, because then we apply the transform in software
for each column.

Note that the end result won't always be correct for transformed composited
layers. Column gap clipping may be wrong, since the gaps get transformed along
with the layer (also a problem prior to this CL). Furthermore, each fragment
should ideally be transformed separately, in order to use a different origin
for each fragment. But at least we won't lose all content outside the first
fragment, like we used to.

Most of the tests are based on work by andersr@opera.com.

BUG=359877
R=chrishtr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@189754 bbb929c8-8fbe-4397-9dbb-9b2b20218538
13 files changed
tree: ffc4ca4a8bacfbbc0078d53d486db754f3bb4839
  1. third_party/