Chromium Code Reviews
Help | Chromium Project | Sign in
(62)

Issue 2423513002: Simplify incremental paint invalidation (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
5 months, 2 weeks ago by Xianzhu
Modified:
5 months, 1 week ago
Reviewers:
chrishtr
CC:
blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, krit, eae+blinkwatch, f(malita), fs, gyuyoung, jchaffraix+rendering, kouhei+svg_chromium.org, leviw+renderwatch, pdr+svgwatchlist_chromium.org, pdr+renderingwatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Simplify incremental paint invalidation - Incremental paint invalidation now applies to LayoutBoxes only. For other objects, do full paint invalidation. - Do full paint invalidation if the object has border radius. - Simplfied code for incremental paint invalidation. This will simplify spv2 raster invalidation when we implement the same incremental invalidation as spv1. Also make it ready for slimmingPaintInvalidation paint invalidation rect subpixel snapping. Will change the extraWidth/extraHeight parameter from 0 to 1 for slimmingPaintInvalidation to ensure the subpixel along the edge of the delta between the old/new rects. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/7ef32bf9ec1c65dc679f54ea9c686976616e87f2 Cr-Commit-Position: refs/heads/master@{#426914}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Test #

Total comments: 2

Patch Set 3 : Update test and rebaseline layout tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+445 lines, -748 lines) Patch
M third_party/WebKit/LayoutTests/paint/invalidation/align-items-change-expected.txt View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/align-self-change-expected.txt View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/border-radius-repaint-2-expected.txt View 1 2 2 chunks +3 lines, -8 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/border-radius-repaint-expected.txt View 1 2 3 chunks +6 lines, -16 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/border-radius-without-border-expected.txt View 1 2 2 chunks +6 lines, -16 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/border-repaint-glitch-expected.txt View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/box-sizing-expected.txt View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/compositing/resize-repaint-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/content-into-overflow-expected.txt View 1 2 2 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/fixed-under-composited-absolute-scrolled-expected.txt View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/overflow-into-content-expected.txt View 1 2 2 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/repaint-resized-overflow-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/resize-with-border-clipped-expected.txt View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/resize-with-border-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/subtree-layoutstate-transform-expected.txt View 1 2 1 chunk +1 line, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt View 1 2 2 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt View 1 2 2 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt View 1 2 2 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt View 1 2 2 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt View 1 2 2 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/transform-disable-layoutstate-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/compositing/squashing/selection-repaint-with-gaps-expected.txt View 1 2 5 chunks +18 lines, -18 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/border-radius-repaint-expected.txt View 1 2 3 chunks +6 lines, -16 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/border-repaint-glitch-expected.txt View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/japanese-rl-selection-clear-expected.txt View 1 2 2 chunks +17 lines, -17 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/japanese-rl-selection-repaint-expected.txt View 1 2 2 chunks +13 lines, -13 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/repaint-resized-overflow-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt View 1 2 3 chunks +10 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/subtree-layoutstate-transform-expected.txt View 1 2 1 chunk +1 line, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-shrink-row-repaint-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/japanese-rl-selection-repaint-expected.txt View 1 2 2 chunks +14 lines, -14 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/compositing/squashing/selection-repaint-with-gaps-expected.txt View 1 2 5 chunks +18 lines, -18 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/japanese-rl-selection-clear-expected.txt View 1 2 2 chunks +18 lines, -18 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/japanese-rl-selection-repaint-expected.txt View 1 2 2 chunks +14 lines, -14 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/line-flow-with-floats-2-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/line-flow-with-floats-9-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt View 1 2 3 chunks +10 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt View 1 2 2 chunks +7 lines, -7 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.txt View 1 2 2 chunks +5 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt View 1 2 2 chunks +5 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-shrink-row-repaint-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/compositing/squashing/selection-repaint-with-gaps-expected.txt View 1 2 5 chunks +18 lines, -18 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/japanese-rl-selection-clear-expected.txt View 1 2 2 chunks +18 lines, -18 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/japanese-rl-selection-repaint-expected.txt View 1 2 2 chunks +14 lines, -14 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/line-flow-with-floats-2-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/line-flow-with-floats-9-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt View 1 2 3 chunks +10 lines, -10 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt View 1 2 2 chunks +6 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.txt View 1 2 2 chunks +6 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt View 1 2 2 chunks +6 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-shrink-row-repaint-expected.txt View 1 2 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/japanese-rl-selection-clear-expected.txt View 1 2 2 chunks +18 lines, -18 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win7/paint/invalidation/japanese-rl-selection-repaint-expected.txt View 1 2 2 chunks +14 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/core/BUILD.gn View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.h View 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.cpp View 2 chunks +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BUILD.gn View 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp View 4 chunks +60 lines, -82 lines 0 comments Download
A third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp View 1 2 1 chunk +89 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp View 3 chunks +4 lines, -46 lines 0 comments Download
D third_party/WebKit/Source/core/paint/SVGModelObjectPaintInvalidator.h View 1 chunk +0 lines, -33 lines 0 comments Download
D third_party/WebKit/Source/core/paint/SVGModelObjectPaintInvalidator.cpp View 1 chunk +0 lines, -29 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.h View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp View 1 2 1 chunk +6 lines, -3 lines 0 comments Download
Commit queue not available (can’t edit this change).

Messages

Total messages: 26 (16 generated)
Xianzhu
I have checked the layout test results. All of them look legit except for paint/invalidation/fixed-under-composited-absolute-scrolled.html ...
5 months, 2 weeks ago (2016-10-14 22:34:30 UTC) #7
Xianzhu
ping...
5 months, 1 week ago (2016-10-20 16:36:31 UTC) #8
chrishtr
https://codereview.chromium.org/2423513002/diff/1/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp File third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp (right): https://codereview.chromium.org/2423513002/diff/1/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp#newcode68 third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp:68: DCHECK(m_context.oldBounds.location() == m_context.newBounds.location()); Could you add unittests to the ...
5 months, 1 week ago (2016-10-20 18:15:44 UTC) #9
Xianzhu
https://codereview.chromium.org/2423513002/diff/1/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp File third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp (right): https://codereview.chromium.org/2423513002/diff/1/third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp#newcode68 third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp:68: DCHECK(m_context.oldBounds.location() == m_context.newBounds.location()); On 2016/10/20 18:15:44, chrishtr wrote: > ...
5 months, 1 week ago (2016-10-21 00:19:49 UTC) #12
chrishtr
https://codereview.chromium.org/2423513002/diff/20001/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp File third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp (right): https://codereview.chromium.org/2423513002/diff/20001/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp#newcode52 third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp:52: EXPECT_EQ(IntRect(60, 0, 60, 240), (*rasterInvalidations)[0].rect); Check that the paint ...
5 months, 1 week ago (2016-10-21 17:18:27 UTC) #15
Xianzhu
https://codereview.chromium.org/2423513002/diff/20001/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp File third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp (right): https://codereview.chromium.org/2423513002/diff/20001/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp#newcode52 third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp:52: EXPECT_EQ(IntRect(60, 0, 60, 240), (*rasterInvalidations)[0].rect); On 2016/10/21 17:18:27, chrishtr ...
5 months, 1 week ago (2016-10-21 17:53:38 UTC) #17
chrishtr
lgtm
5 months, 1 week ago (2016-10-21 17:55:20 UTC) #19
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/2423513002/40001
5 months, 1 week ago (2016-10-21 22:02:35 UTC) #23
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 months, 1 week ago (2016-10-21 22:19:54 UTC) #24
commit-bot: I haz the power
5 months, 1 week ago (2016-10-21 22:26:29 UTC) #26
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/7ef32bf9ec1c65dc679f54ea9c686976616e87f2
Cr-Commit-Position: refs/heads/master@{#426914}
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld cc6ac46