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

Issue 1416053003: Let synchronized painting generate correct paint invalidation rects (Closed)

Created:
5 years, 2 months ago by Xianzhu
Modified:
5 years, 1 month ago
Reviewers:
chrishtr
CC:
blink-reviews, chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Let synchronized painting generate correct paint invalidation rects - Still use the original paint invalidation path (LayoutObject -> CompositedLayerMapping -> GraphicsLayer -> cc) for rect-based invalidations; - Pass correct paint invalidation rect (bounds) of clients to PaintController for bug 529938; Several TODOs for corner cases to deal with and/or check; - Other changes to make synchronized painting work. Also enable virtual/syncpaint for fast/repaint/, compositing/repaint/ and paint/. BUG=536999, 529938 Committed: https://crrev.com/6b0fe6c757aa2b884be424c7a90c567e8ca39701 Cr-Commit-Position: refs/heads/master@{#355977}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 16

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Total comments: 3

Patch Set 8 : Cleanup #

Total comments: 16

Patch Set 9 : #

Total comments: 8

Patch Set 10 : visualRect #

Patch Set 11 : #

Patch Set 12 : For landing #

Unified diffs Side-by-side diffs Delta from patch set Stats (+249 lines, -282 lines) Patch
M third_party/WebKit/LayoutTests/LeakExpectations View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +23 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/VirtualTestSuites View 1 2 3 4 5 6 7 8 1 chunk +18 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/destroy-scrollbar-expected.txt View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/layout-state-only-positioned-expected.txt View 1 2 3 4 5 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/resize-scrollable-div-expected.txt View 1 2 3 4 5 1 chunk +2 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/scrollbar-damage-and-full-viewport-repaint-expected.txt View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/scrollbar-invalidation-on-resize-expected.txt View 1 2 3 4 5 1 chunk +2 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/scrollbar-invalidation-on-resize-with-border-expected.txt View 1 2 3 4 5 1 chunk +2 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/scrollbar-parts-expected.txt View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-snowleopard/fast/repaint/scrollbar-parts-expected.txt View 1 2 3 4 5 6 1 chunk +1 line, -5 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/mac/fast/repaint/scrollbar-damage-and-full-viewport-repaint-expected.txt View 1 2 3 4 5 1 chunk +0 lines, -22 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/mac/fast/repaint/scrollbar-parts-expected.txt View 1 2 3 4 5 6 1 chunk +0 lines, -23 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/win/fast/repaint/scrollbar-damage-and-full-viewport-repaint-expected.txt View 1 2 3 4 5 1 chunk +0 lines, -20 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/win/fast/repaint/scrollbar-parts-expected.txt View 1 2 3 4 5 6 7 1 chunk +0 lines, -19 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/spv2/paint/invalidation/invalidate-descendants-when-receiving-paint-layer-expected.txt View 1 2 3 4 5 6 1 chunk +1 line, -2 lines 0 comments Download
A third_party/WebKit/LayoutTests/virtual/syncpaint/compositing/repaint/README.txt View 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/virtual/syncpaint/fast/repaint/README.txt View 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/virtual/syncpaint/paint/README.txt View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.cpp View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +15 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp View 1 2 3 4 5 6 2 chunks +12 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutInline.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutInline.cpp View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 6 7 8 4 chunks +5 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 5 6 7 8 10 chunks +28 lines, -47 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutText.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutText.cpp View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutView.cpp View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +26 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 2 3 4 5 3 chunks +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.h View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +12 lines, -13 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +22 lines, -25 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp View 1 2 3 4 5 15 chunks +20 lines, -20 lines 0 comments Download

Messages

Total messages: 34 (9 generated)
Xianzhu
5 years, 2 months ago (2015-10-21 23:08:35 UTC) #3
chrishtr
https://codereview.chromium.org/1416053003/diff/40001/third_party/WebKit/LayoutTests/LeakExpectations File third_party/WebKit/LayoutTests/LeakExpectations (right): https://codereview.chromium.org/1416053003/diff/40001/third_party/WebKit/LayoutTests/LeakExpectations#newcode60 third_party/WebKit/LayoutTests/LeakExpectations:60: crbug.com/364417 virtual/syncpaint/fast/repaint/japanese-rl-selection-clear.html [ Leak ] Why the changes in ...
5 years, 2 months ago (2015-10-22 00:02:41 UTC) #5
Xianzhu
TL;DR: I have a much simpler method to make rect invalidation work for spv1 sync ...
5 years, 2 months ago (2015-10-22 01:17:04 UTC) #6
chrishtr
On 2015/10/22 at 01:17:04, wangxianzhu wrote: > TL;DR: I have a much simpler method to ...
5 years, 2 months ago (2015-10-22 15:11:59 UTC) #7
Xianzhu
On 2015/10/22 15:11:59, chrishtr wrote: > On 2015/10/22 at 01:17:04, wangxianzhu wrote: > https://codereview.chromium.org/1416053003/diff/40001/third_party/WebKit/Source/platform/graphics/paint/PaintController.h#newcode46 > ...
5 years, 2 months ago (2015-10-22 16:15:11 UTC) #8
Xianzhu
Note the [1] link is not pointing to the expected code because the file changed. ...
5 years, 2 months ago (2015-10-22 16:22:05 UTC) #9
chrishtr
On 2015/10/22 at 16:15:11, wangxianzhu wrote: > On 2015/10/22 15:11:59, chrishtr wrote: > > On ...
5 years, 2 months ago (2015-10-22 16:30:01 UTC) #10
Xianzhu
On 2015/10/22 16:30:01, chrishtr wrote: > Yes. He is trying to unblock using an RTree, ...
5 years, 2 months ago (2015-10-22 16:47:54 UTC) #11
chrishtr
On 2015/10/22 at 16:47:54, wangxianzhu wrote: > On 2015/10/22 16:30:01, chrishtr wrote: > > Yes. ...
5 years, 2 months ago (2015-10-22 16:50:43 UTC) #12
chrishtr
On 2015/10/22 at 16:50:43, chrishtr wrote: > On 2015/10/22 at 16:47:54, wangxianzhu wrote: > > ...
5 years, 2 months ago (2015-10-22 16:51:18 UTC) #13
Xianzhu
Ready for review. Ptal. https://codereview.chromium.org/1416053003/diff/120001/third_party/WebKit/LayoutTests/fast/repaint/scrollbar-damage-and-full-viewport-repaint-expected.txt File third_party/WebKit/LayoutTests/fast/repaint/scrollbar-damage-and-full-viewport-repaint-expected.txt (left): https://codereview.chromium.org/1416053003/diff/120001/third_party/WebKit/LayoutTests/fast/repaint/scrollbar-damage-and-full-viewport-repaint-expected.txt#oldcode10 third_party/WebKit/LayoutTests/fast/repaint/scrollbar-damage-and-full-viewport-repaint-expected.txt:10: [1, 236, 185, 15] The ...
5 years, 2 months ago (2015-10-22 22:51:48 UTC) #15
chrishtr
https://codereview.chromium.org/1416053003/diff/40001/third_party/WebKit/Source/core/paint/PaintLayer.cpp File third_party/WebKit/Source/core/paint/PaintLayer.cpp (right): https://codereview.chromium.org/1416053003/diff/40001/third_party/WebKit/Source/core/paint/PaintLayer.cpp#newcode2696 third_party/WebKit/Source/core/paint/PaintLayer.cpp:2696: if (compositingState() == PaintsIntoOwnBacking) On 2015/10/22 at 01:17:04, Xianzhu ...
5 years, 2 months ago (2015-10-23 17:15:07 UTC) #16
Xianzhu
https://codereview.chromium.org/1416053003/diff/40001/third_party/WebKit/Source/core/paint/PaintLayer.cpp File third_party/WebKit/Source/core/paint/PaintLayer.cpp (right): https://codereview.chromium.org/1416053003/diff/40001/third_party/WebKit/Source/core/paint/PaintLayer.cpp#newcode2696 third_party/WebKit/Source/core/paint/PaintLayer.cpp:2696: if (compositingState() == PaintsIntoOwnBacking) On 2015/10/23 17:15:06, chrishtr wrote: ...
5 years, 2 months ago (2015-10-23 18:43:27 UTC) #18
chrishtr
https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3364 third_party/WebKit/Source/core/layout/LayoutObject.cpp:3364: enclosingLayer->setNeedsRepaint(); If they can't find their layers, how can ...
5 years, 2 months ago (2015-10-23 19:57:49 UTC) #19
Xianzhu
https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3364 third_party/WebKit/Source/core/layout/LayoutObject.cpp:3364: enclosingLayer->setNeedsRepaint(); On 2015/10/23 19:57:49, chrishtr wrote: > If they ...
5 years, 2 months ago (2015-10-23 20:56:53 UTC) #20
chrishtr
https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3364 third_party/WebKit/Source/core/layout/LayoutObject.cpp:3364: enclosingLayer->setNeedsRepaint(); On 2015/10/23 at 20:56:53, Xianzhu wrote: > On ...
5 years, 2 months ago (2015-10-23 20:59:45 UTC) #21
Xianzhu
https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3364 third_party/WebKit/Source/core/layout/LayoutObject.cpp:3364: enclosingLayer->setNeedsRepaint(); On 2015/10/23 20:59:45, chrishtr wrote: > On 2015/10/23 ...
5 years, 2 months ago (2015-10-23 21:28:22 UTC) #22
chrishtr
On 2015/10/23 at 21:28:22, wangxianzhu wrote: > https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp > File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): > > https://codereview.chromium.org/1416053003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3364 ...
5 years, 2 months ago (2015-10-23 21:44:54 UTC) #23
Xianzhu
On 2015/10/23 21:44:54, chrishtr wrote: > On 2015/10/23 at 21:28:22, wangxianzhu wrote: > > > ...
5 years, 2 months ago (2015-10-23 21:48:37 UTC) #24
chrishtr
lgtm Ok.
5 years, 2 months ago (2015-10-23 21:49:10 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1416053003/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1416053003/220001
5 years, 2 months ago (2015-10-23 23:41:40 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/69673)
5 years, 2 months ago (2015-10-24 01:17:48 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1416053003/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1416053003/220001
5 years, 1 month ago (2015-10-24 15:48:07 UTC) #32
commit-bot: I haz the power
Committed patchset #12 (id:220001)
5 years, 1 month ago (2015-10-24 16:34:06 UTC) #33
commit-bot: I haz the power
5 years, 1 month ago (2015-10-24 16:35:11 UTC) #34
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/6b0fe6c757aa2b884be424c7a90c567e8ca39701
Cr-Commit-Position: refs/heads/master@{#355977}

Powered by Google App Engine
This is Rietveld 408576698