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

Issue 2847873002: Don't pass subpixel offsets through non-translation transforms (Closed)

Created:
3 years, 7 months ago by Xianzhu
Modified:
3 years, 7 months ago
Reviewers:
chrishtr
CC:
blink-reviews, blink-reviews-paint_chromium.org, chromium-reviews, dshwang
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Don't pass subpixel offsets through non-translation transforms Non-translation transforms will change direction and/or scale, etc. of offsets thus making subpixel accumulation through the transform meaningless. This CL addresses the issue in PaintLayerPainter and PaintPropertyTreeBuilder. We still need to address the issue in CompositedLayerMapping (crbug.com/716163). BUG=710665 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2847873002 Cr-Commit-Position: refs/heads/master@{#468516} Committed: https://chromium.googlesource.com/chromium/src/+/098430b33423191b06dc32f13de764076cf60394

Patch Set 1 #

Patch Set 2 : - #

Total comments: 2

Patch Set 3 : Fix LayoutBox::MapVisualRectToContainer()? #

Total comments: 1

Patch Set 4 : - #

Patch Set 5 : rebaseline-cl #

Total comments: 9

Patch Set 6 : -0 #

Total comments: 2

Patch Set 7 : - #

Unified diffs Side-by-side diffs Delta from patch set Stats (+207 lines, -138 lines) Patch
M third_party/WebKit/LayoutTests/fast/sub-pixel/sub-pixel-root-layer.html View 1 2 3 2 chunks +5 lines, -4 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/subpixel-offset-scaled-transform.html View 1 chunk +20 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/subpixel-offset-scaled-transform-expected.png View 1 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/subpixel-offset-scaled-transform-expected.txt View 1 1 chunk +43 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/editing/selection/transformed-selection-rects-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/svg/transforms/svg-css-transforms-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/transforms/svg-vs-css-expected.png View 1 2 3 4 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test-expected.txt View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt View 1 2 3 4 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.10/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.11/svg/transforms/svg-css-transforms-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.11/transforms/svg-vs-css-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-retina/svg/transforms/svg-css-transforms-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-retina/transforms/svg-vs-css-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/editing/selection/transformed-selection-rects-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/svg/transforms/svg-css-transforms-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/transforms/svg-vs-css-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/transforms/transform-on-inline-expected.png View 1 2 3 4 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt View 1 2 3 4 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/svg/transforms/svg-css-transforms-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/transforms/svg-vs-css-expected.png View 1 2 3 4 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test-expected.txt View 1 2 3 4 1 chunk +0 lines, -41 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt View 1 2 3 4 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/win7/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png View 1 2 3 4 Binary file 0 comments Download
D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/invalidation-with-scale-transform-expected.txt View 1 2 3 4 1 chunk +0 lines, -29 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 2 3 4 5 6 3 chunks +34 lines, -27 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp View 1 2 3 4 1 chunk +12 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp View 1 2 3 4 1 chunk +23 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp View 1 2 1 chunk +61 lines, -0 lines 0 comments Download

Messages

Total messages: 41 (19 generated)
Xianzhu
https://codereview.chromium.org/2847873002/diff/20001/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt File third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt (right): https://codereview.chromium.org/2847873002/diff/20001/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt#newcode16 third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt:16: "rect": [23, 8, 41, 40], *This is disable-spinvalidation*. The ...
3 years, 7 months ago (2017-04-27 22:53:56 UTC) #4
Xianzhu
3 years, 7 months ago (2017-04-27 23:06:58 UTC) #6
chrishtr
Looks good, but please add a test that exercises the composited transform path. I think ...
3 years, 7 months ago (2017-04-27 23:12:39 UTC) #7
Xianzhu
On 2017/04/27 23:12:39, chrishtr wrote: > Looks good, but please add a test that exercises ...
3 years, 7 months ago (2017-04-28 00:14:59 UTC) #8
chrishtr
On 2017/04/28 at 00:14:59, wangxianzhu wrote: > On 2017/04/27 23:12:39, chrishtr wrote: > > Looks ...
3 years, 7 months ago (2017-04-28 02:23:50 UTC) #11
chrishtr
https://codereview.chromium.org/2847873002/diff/20001/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt File third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt (right): https://codereview.chromium.org/2847873002/diff/20001/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt#newcode16 third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt:16: "rect": [23, 8, 41, 40], On 2017/04/27 at 22:53:55, ...
3 years, 7 months ago (2017-04-28 02:23:53 UTC) #12
Xianzhu
https://codereview.chromium.org/2847873002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/2847873002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1248 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1248: FloatQuad(transform_state.LastPlanarQuad().EnclosingBoundingBox())); I'm not sure if this is correct: 1. ...
3 years, 7 months ago (2017-04-28 19:35:28 UTC) #13
chrishtr
On 2017/04/28 at 19:35:28, wangxianzhu wrote: > https://codereview.chromium.org/2847873002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp > File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): > > https://codereview.chromium.org/2847873002/diff/40001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1248 ...
3 years, 7 months ago (2017-04-28 19:52:03 UTC) #16
Xianzhu
On 2017/04/28 19:52:03, chrishtr wrote: > On 2017/04/28 at 19:35:28, wangxianzhu wrote: > > > ...
3 years, 7 months ago (2017-04-28 20:42:13 UTC) #17
chrishtr
On 2017/04/28 at 20:42:13, wangxianzhu wrote: > On 2017/04/28 19:52:03, chrishtr wrote: > > On ...
3 years, 7 months ago (2017-04-28 20:49:28 UTC) #18
Xianzhu
Does the CL look good to you? On 2017/04/28 20:49:28, chrishtr wrote: > On 2017/04/28 ...
3 years, 7 months ago (2017-04-28 22:28:33 UTC) #19
chrishtr
On 2017/04/28 at 22:28:33, wangxianzhu wrote: > Does the CL look good to you? > ...
3 years, 7 months ago (2017-04-28 23:25:25 UTC) #22
chrishtr
https://codereview.chromium.org/2847873002/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/2847873002/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1241 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1241: // Use EnclosingBoundingBox because we cannot properly compute pixel ...
3 years, 7 months ago (2017-04-28 23:26:44 UTC) #23
Xianzhu
https://codereview.chromium.org/2847873002/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/2847873002/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1241 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1241: // Use EnclosingBoundingBox because we cannot properly compute pixel ...
3 years, 7 months ago (2017-05-01 18:13:43 UTC) #26
chrishtr
https://codereview.chromium.org/2847873002/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/2847873002/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1204 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1204: // 6. Transform flattening. Not an issue you created, ...
3 years, 7 months ago (2017-05-01 20:22:28 UTC) #27
Xianzhu
https://codereview.chromium.org/2847873002/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/2847873002/diff/80001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1204 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1204: // 6. Transform flattening. On 2017/05/01 20:22:28, chrishtr wrote: ...
3 years, 7 months ago (2017-05-01 22:03:32 UTC) #28
Xianzhu
3 years, 7 months ago (2017-05-01 22:04:03 UTC) #29
chrishtr
lgtm https://codereview.chromium.org/2847873002/diff/100001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/2847873002/diff/100001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1200 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1200: // 2. Generate transformation matrix by combining: "combining, ...
3 years, 7 months ago (2017-05-01 22:13:42 UTC) #30
Xianzhu
https://codereview.chromium.org/2847873002/diff/100001/third_party/WebKit/Source/core/layout/LayoutBox.cpp File third_party/WebKit/Source/core/layout/LayoutBox.cpp (right): https://codereview.chromium.org/2847873002/diff/100001/third_party/WebKit/Source/core/layout/LayoutBox.cpp#newcode1200 third_party/WebKit/Source/core/layout/LayoutBox.cpp:1200: // 2. Generate transformation matrix by combining: On 2017/05/01 ...
3 years, 7 months ago (2017-05-01 22:59:24 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2847873002/120001
3 years, 7 months ago (2017-05-01 23:03:38 UTC) #37
commit-bot: I haz the power
Committed patchset #7 (id:120001) as https://chromium.googlesource.com/chromium/src/+/098430b33423191b06dc32f13de764076cf60394
3 years, 7 months ago (2017-05-02 00:53:12 UTC) #40
Xianzhu
3 years, 7 months ago (2017-05-03 15:41:41 UTC) #41
Message was sent while issue was closed.
A revert of this CL (patchset #7 id:120001) has been created in
https://codereview.chromium.org/2859483004/ by wangxianzhu@chromium.org.

The reason for reverting is: BUG=717882.

Powered by Google App Engine
This is Rietveld 408576698