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

Issue 2591883002: Apply both phsical bounding box and clip to composited bounds. (Closed)

Created:
4 years ago by chrishtr
Modified:
3 years, 11 months ago
Reviewers:
Xianzhu
CC:
blink-reviews, chromium-reviews, kinuko+watch
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Apply both phsical bounding box and clip to composited bounds. Before this patch and the one that was the proximate cause of issue 674098, clips for composited bounds worked like this: 1. If there was a clip between the compositing container and a PaintLayer, the clip would be that PaintLayer's contribution to composited bounds. 2. If there was no such clip, we would fall back to physicalBoundingBox, and also recurse into children. After the patch causing issue 674098, we would always recurse, even in case 1. This patch observes that we can always use a local bound of the intersection of any clip with physicalBoundingBox. Recursion still always happens. This avoids situations like in issue 674098 where skew matrices yielded bounds much too large. BUG=674098 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/009b4fbe8df4067bf05dd1e3d6d3ca9be31d6363 Cr-Commit-Position: refs/heads/master@{#440929}

Patch Set 1 #

Patch Set 2 : none #

Patch Set 3 : none #

Patch Set 4 : none #

Patch Set 5 : none #

Patch Set 6 : none #

Patch Set 7 : none #

Patch Set 8 : none #

Patch Set 9 : none #

Patch Set 10 : none #

Patch Set 11 : none #

Total comments: 3

Patch Set 12 : none #

Unified diffs Side-by-side diffs Delta from patch set Stats (+49 lines, -25 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/compositing/squashing/do-not-squash-non-self-painting-layer-expected.txt View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/compositing/squashing/squash-compositing-hover-expected.txt View 1 2 3 4 5 6 7 8 9 5 chunks +10 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/inspector/layers/layer-tree-model-expected.txt View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt View 1 2 3 4 5 6 7 8 9 2 chunks +7 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/invalidate-cell-in-row-with-offset-expected.txt View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/offset-change-wrong-invalidation-with-float-expected.txt View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerTest.cpp View 1 2 3 4 5 6 1 chunk +20 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 44 (34 generated)
chrishtr
The changes to layout tests are mostly empty composited layers (some width but no height, ...
3 years, 11 months ago (2016-12-28 23:17:27 UTC) #25
Xianzhu
How do too large bounds cause the bug?
3 years, 11 months ago (2016-12-28 23:49:41 UTC) #26
chrishtr
https://codereview.chromium.org/2591883002/diff/200001/third_party/WebKit/Source/core/paint/PaintLayer.cpp File third_party/WebKit/Source/core/paint/PaintLayer.cpp (right): https://codereview.chromium.org/2591883002/diff/200001/third_party/WebKit/Source/core/paint/PaintLayer.cpp#newcode2570 third_party/WebKit/Source/core/paint/PaintLayer.cpp:2570: result = transform()->mapRect(result); Before this patch, the input to ...
3 years, 11 months ago (2016-12-28 23:56:38 UTC) #27
Xianzhu
The CL lgtm. Just want to understand how the bug occurs. https://codereview.chromium.org/2591883002/diff/200001/third_party/WebKit/Source/core/paint/PaintLayer.cpp File third_party/WebKit/Source/core/paint/PaintLayer.cpp (right): ...
3 years, 11 months ago (2016-12-29 00:09:01 UTC) #28
chrishtr
On 2016/12/29 at 00:09:01, wangxianzhu wrote: > The CL lgtm. Just want to understand how ...
3 years, 11 months ago (2016-12-29 01:04:07 UTC) #31
chrishtr
Updated. Looks ok? https://codereview.chromium.org/2591883002/diff/200001/third_party/WebKit/Source/core/paint/PaintLayer.cpp File third_party/WebKit/Source/core/paint/PaintLayer.cpp (right): https://codereview.chromium.org/2591883002/diff/200001/third_party/WebKit/Source/core/paint/PaintLayer.cpp#newcode2570 third_party/WebKit/Source/core/paint/PaintLayer.cpp:2570: result = transform()->mapRect(result); On 2016/12/29 at ...
3 years, 11 months ago (2016-12-29 01:08:35 UTC) #32
Xianzhu
lgtm
3 years, 11 months ago (2016-12-29 01:18:54 UTC) #35
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/2591883002/220001
3 years, 11 months ago (2016-12-29 02:51:10 UTC) #39
commit-bot: I haz the power
Committed patchset #12 (id:220001)
3 years, 11 months ago (2016-12-29 02:55:25 UTC) #42
commit-bot: I haz the power
3 years, 11 months ago (2017-01-02 15:51:32 UTC) #44
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/009b4fbe8df4067bf05dd1e3d6d3ca9be31d6363
Cr-Commit-Position: refs/heads/master@{#440929}

Powered by Google App Engine
This is Rietveld 408576698