Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Issue 801053005: [New Multicolumn] Render transformed layers into multiple fragments. (Closed)

Created:
5 years, 11 months ago by mstensho (USE GERRIT)
Modified:
5 years, 10 months ago
Reviewers:
chrishtr
CC:
blink-layers+watch_chromium.org, blink-reviews, blink-reviews-paint_chromium.org, blink-reviews-rendering, Dominik Röttsches, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, mstensho (USE GERRIT), pdr+renderingwatchlist_chromium.org, slimming-paint-reviews_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

[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 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=189754

Patch Set 1 #

Total comments: 4

Patch Set 2 : rebase master #

Unified diffs Side-by-side diffs Delta from patch set Stats (+308 lines, -17 lines) Patch
M LayoutTests/TestExpectations View 1 1 chunk +4 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/composited-layer-multiple-fragments.html View 1 chunk +48 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/composited-layer-multiple-fragments-expected.html View 1 chunk +13 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/composited-layer-multiple-fragments-translated.html View 1 chunk +33 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/composited-layer-multiple-fragments-translated-expected.html View 1 chunk +19 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/composited-layer-nested.html View 1 chunk +59 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/composited-layer-nested-expected.html View 1 chunk +13 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/composited-layer-will-change.html View 1 chunk +74 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/composited-layer-will-change-expected.html View 1 chunk +14 lines, -0 lines 0 comments Download
M Source/core/layout/Layer.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/layout/Layer.cpp View 1 2 chunks +16 lines, -8 lines 0 comments Download
M Source/core/paint/LayerPainter.h View 1 2 chunks +4 lines, -2 lines 0 comments Download
M Source/core/paint/LayerPainter.cpp View 1 5 chunks +10 lines, -7 lines 0 comments Download

Messages

Total messages: 14 (4 generated)
mstensho (USE GERRIT)
5 years, 11 months ago (2015-01-14 13:58:09 UTC) #1
chrishtr
https://codereview.chromium.org/801053005/diff/1/Source/core/paint/LayerPainter.cpp File Source/core/paint/LayerPainter.cpp (right): https://codereview.chromium.org/801053005/diff/1/Source/core/paint/LayerPainter.cpp#newcode381 Source/core/paint/LayerPainter.cpp:381: paintFragmentByApplyingTransform(context, paintingInfo, paintFlags, fragment.paginationOffset); It looks like a bunch ...
5 years, 11 months ago (2015-01-15 18:49:47 UTC) #2
mstensho (USE GERRIT)
https://codereview.chromium.org/801053005/diff/1/Source/core/paint/LayerPainter.cpp File Source/core/paint/LayerPainter.cpp (right): https://codereview.chromium.org/801053005/diff/1/Source/core/paint/LayerPainter.cpp#newcode381 Source/core/paint/LayerPainter.cpp:381: paintFragmentByApplyingTransform(context, paintingInfo, paintFlags, fragment.paginationOffset); On 2015/01/15 18:49:47, chrishtr wrote: ...
5 years, 11 months ago (2015-01-15 20:36:48 UTC) #3
chrishtr
https://codereview.chromium.org/801053005/diff/1/Source/core/paint/LayerPainter.cpp File Source/core/paint/LayerPainter.cpp (right): https://codereview.chromium.org/801053005/diff/1/Source/core/paint/LayerPainter.cpp#newcode402 Source/core/paint/LayerPainter.cpp:402: paintLayerContentsAndReflection(context, transformedPaintingInfo, paintFlags, ForceSingleFragment); What I mean is that ...
5 years, 11 months ago (2015-01-15 23:33:45 UTC) #4
mstensho (USE GERRIT)
Sorry about the delay. I had to put this on hold, since we had jchaffraix ...
5 years, 10 months ago (2015-02-03 13:55:01 UTC) #5
chrishtr
lgtm
5 years, 10 months ago (2015-02-07 00:02:45 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/801053005/1
5 years, 10 months ago (2015-02-08 07:57:20 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: blink_presubmit on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/blink_presubmit/builds/26031)
5 years, 10 months ago (2015-02-08 08:02:52 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/801053005/20001
5 years, 10 months ago (2015-02-08 09:33:09 UTC) #13
commit-bot: I haz the power
5 years, 10 months ago (2015-02-08 11:56:49 UTC) #14
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=189754

Powered by Google App Engine
This is Rietveld 408576698