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

Issue 2457023002: Replace coversExtraPixels with simpler logic (Closed)

Created:
4 years, 1 month ago by Xianzhu
Modified:
4 years, 1 month ago
Reviewers:
pdr.
CC:
chromium-reviews, szager+layoutwatch_chromium.org, zoltan1, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, dshwang, jchaffraix+rendering, blink-reviews-paint_chromium.org, blink-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Replace coversExtraPixels with simpler logic and remove transform workaround Replace coversExtraPixels with simpler logic by comparing paint invalidation rect to LayoutRect(paintInvalicationLocation, size()), and if either changed and they don't equal, do full paint invalidation instead of incremental invalidation. This covers the following cases in which incremental invalidation doesn't apply: - extra pixels covered by enclosingIntRect() during mapping, - transforms such as rotate and skew, - overflowing effects. This also covers an extra case that we did incremental invalidation but now do full paint invalidation: - clipped paint invalidation rect when either borer box or clip changes. Based on layout tests, 1 not a common case, and this is also not an issue of spv2 because we won't clip visual rects. BUG=660195 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/e785d3b4de4914b3a8b773a93596c299937f3770 Cr-Commit-Position: refs/heads/master@{#428596}

Patch Set 1 #

Patch Set 2 : - #

Patch Set 3 : - #

Patch Set 4 : - #

Patch Set 5 : - #

Patch Set 6 : - #

Patch Set 7 : - #

Total comments: 1

Patch Set 8 : Update comments #

Patch Set 9 : Rebase and rebaseline (incomplete) #

Patch Set 10 : Rebaseline #

Unified diffs Side-by-side diffs Delta from patch set Stats (+205 lines, -222 lines) Patch
A third_party/WebKit/LayoutTests/paint/invalidation/resize-mask.html View 1 2 3 4 5 6 7 8 1 chunk +22 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/resize-mask-expected.html View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/resize-skewed-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/resize-with-border-clipped-expected.txt View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -8 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/scrolled-iframe-scrollbar-change-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/paint/invalidation/subtree-layoutstate-transform-expected.txt View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/line-flow-with-floats-2-expected.txt View 1 2 3 4 5 6 7 8 9 2 chunks +7 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/subtree-layoutstate-transform-expected.txt View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -17 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 6 7 8 5 chunks +2 lines, -15 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 2 chunks +5 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPaintInvalidator.h View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp View 1 2 3 4 5 6 7 8 9 chunks +57 lines, -95 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp View 1 2 5 chunks +53 lines, -18 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp View 4 chunks +6 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.h View 3 chunks +4 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.cpp View 1 2 3 4 5 6 7 8 8 chunks +17 lines, -33 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 39 (31 generated)
Xianzhu
https://codereview.chromium.org/2457023002/diff/120001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp File third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp (left): https://codereview.chromium.org/2457023002/diff/120001/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp#oldcode95 third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp:95: void BoxPaintInvalidator::invalidatePaintRectClippedByOldAndNewBounds( Now this is not needed because we ...
4 years, 1 month ago (2016-10-28 22:03:07 UTC) #26
pdr.
This is great--it removes so many special cases. Where is the post-snapping size comparison occurring ...
4 years, 1 month ago (2016-10-28 22:44:01 UTC) #27
pdr.
On 2016/10/28 at 22:44:01, pdr. wrote: > This is great--it removes so many special cases. ...
4 years, 1 month ago (2016-10-28 23:22:04 UTC) #30
Xianzhu
On 2016/10/28 23:22:04, pdr. wrote: > On 2016/10/28 at 22:44:01, pdr. wrote: > > This ...
4 years, 1 month ago (2016-10-28 23:25:24 UTC) #31
pdr.
On 2016/10/28 at 23:25:24, wangxianzhu wrote: > On 2016/10/28 23:22:04, pdr. wrote: > > On ...
4 years, 1 month ago (2016-10-28 23:31:07 UTC) #32
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/2457023002/180001
4 years, 1 month ago (2016-10-29 02:26:25 UTC) #35
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 1 month ago (2016-10-29 04:11:29 UTC) #37
commit-bot: I haz the power
4 years, 1 month ago (2016-10-29 04:14:52 UTC) #39
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/e785d3b4de4914b3a8b773a93596c299937f3770
Cr-Commit-Position: refs/heads/master@{#428596}

Powered by Google App Engine
This is Rietveld 408576698