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

Issue 160903002: Move RenderLayer repainting to repaint-after-layout framework. (Closed)

Created:
6 years, 10 months ago by dsinclair
Modified:
6 years, 9 months ago
CC:
blink-reviews, bemjb+rendering_chromium.org, zoltan1, eae+blinkwatch, leviw+renderwatch, blink-layers+watch_chromium.org, jchaffraix+rendering, pdr.
Base URL:
https://chromium.googlesource.com/chromium/blink@master
Visibility:
Public.

Description

Move RenderLayer repainting to repaint-after-layout framework. This CL updates the RenderLayer repainter code to be a no-op during repaint-after-layout. The repainting of updated layers is handled in the repaintTree method, the same as non-layer RenderObjects. While making this change we discovered that the outline rect can not be calculated from the repaint rect. So, we've had to add the old/new outline rects to the RenderObject so we can have the correct values. BUG=320139 COLLABORATOR=jchaffraix@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169684

Patch Set 1 : #

Total comments: 8

Patch Set 2 : #

Total comments: 7

Patch Set 3 : #

Total comments: 25

Patch Set 4 : #

Patch Set 5 : Rebase to master #

Total comments: 8

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : Rebase to master #

Patch Set 9 : Rebase to master #

Patch Set 10 : Rebase to master #

Unified diffs Side-by-side diffs Delta from patch set Stats (+212 lines, -39 lines) Patch
M Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +23 lines, -14 lines 0 comments Download
M Source/core/rendering/LayoutRectRecorder.cpp View 1 2 3 4 5 6 2 chunks +14 lines, -3 lines 0 comments Download
M Source/core/rendering/RenderBlock.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderBox.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderBox.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +14 lines, -1 line 0 comments Download
M Source/core/rendering/RenderLayer.cpp View 1 2 3 4 5 6 7 8 9 4 chunks +13 lines, -1 line 0 comments Download
M Source/core/rendering/RenderLayerModelObject.cpp View 1 2 3 4 5 6 1 chunk +6 lines, -1 line 0 comments Download
M Source/core/rendering/RenderLayerRepainter.cpp View 1 2 3 4 5 6 7 5 chunks +31 lines, -5 lines 0 comments Download
M Source/core/rendering/RenderLayerScrollableArea.cpp View 1 2 3 4 5 3 chunks +15 lines, -4 lines 0 comments Download
M Source/core/rendering/RenderObject.h View 1 2 3 4 5 6 7 8 9 3 chunks +17 lines, -9 lines 0 comments Download
M Source/core/rendering/RenderObject.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +65 lines, -1 line 0 comments Download
M Source/core/rendering/RenderView.h View 1 2 3 4 5 6 7 8 9 3 chunks +10 lines, -0 lines 0 comments Download

Messages

Total messages: 40 (0 generated)
dsinclair
This CL currently has a dozen under-painting pixel tests and a bunch of rect tests ...
6 years, 10 months ago (2014-02-13 02:39:21 UTC) #1
Julien - ping for review
https://codereview.chromium.org/160903002/diff/100001/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/160903002/diff/100001/Source/core/rendering/RenderLayer.cpp#newcode474 Source/core/rendering/RenderLayer.cpp:474: LayoutRectRecorder recorder(*m_renderer); This seems too heavy handed (but we ...
6 years, 10 months ago (2014-02-14 18:05:48 UTC) #2
dsinclair
https://codereview.chromium.org/160903002/diff/100001/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/160903002/diff/100001/Source/core/rendering/RenderLayer.cpp#newcode474 Source/core/rendering/RenderLayer.cpp:474: LayoutRectRecorder recorder(*m_renderer); On 2014/02/14 18:05:48, Julien Chaffraix - PST ...
6 years, 10 months ago (2014-02-14 18:15:27 UTC) #3
dsinclair
6 years, 10 months ago (2014-02-19 19:30:47 UTC) #4
dsinclair
Just noticed I didn't put any comments when I sent this out. So, everyone, PTAL. ...
6 years, 10 months ago (2014-02-24 16:27:48 UTC) #5
esprehn
On 2014/02/24 16:27:48, dsinclair wrote: > Just noticed I didn't put any comments when I ...
6 years, 10 months ago (2014-02-24 16:57:10 UTC) #6
dsinclair
On 2014/02/24 16:57:10, esprehn wrote: > On 2014/02/24 16:27:48, dsinclair wrote: > > Just noticed ...
6 years, 10 months ago (2014-02-24 17:01:08 UTC) #7
dsinclair
On 2014/02/24 17:01:08, dsinclair wrote: > On 2014/02/24 16:57:10, esprehn wrote: > > On 2014/02/24 ...
6 years, 10 months ago (2014-02-24 21:16:49 UTC) #8
eseidel
RenderView SGTM. It's always the root of the rendering tree.
6 years, 10 months ago (2014-02-24 21:27:04 UTC) #9
dsinclair
PTAL. I added the HashMap to RenderView and conditionally get/set the outline rects from the ...
6 years, 10 months ago (2014-02-26 19:00:59 UTC) #10
dsinclair
ping. The crashes should all be fixed, as far as I can tell there is ...
6 years, 9 months ago (2014-02-28 02:43:10 UTC) #11
esprehn
This won't work, you can't look at your children inside style recalc. You're adding more ...
6 years, 9 months ago (2014-02-28 02:54:32 UTC) #12
dsinclair
https://codereview.chromium.org/160903002/diff/610001/Source/core/rendering/RenderBox.cpp File Source/core/rendering/RenderBox.cpp (right): https://codereview.chromium.org/160903002/diff/610001/Source/core/rendering/RenderBox.cpp#newcode298 Source/core/rendering/RenderBox.cpp:298: for (RenderObject* child = firstChild(); child; child = child->nextSibling()) ...
6 years, 9 months ago (2014-02-28 18:58:23 UTC) #13
dsinclair
Rebase to master
6 years, 9 months ago (2014-03-03 20:29:44 UTC) #14
dsinclair
Rebase to master
6 years, 9 months ago (2014-03-03 20:31:16 UTC) #15
dsinclair
I appear to have managed to get an upload that didn't 500 and doesn't have ...
6 years, 9 months ago (2014-03-03 21:12:53 UTC) #16
dsinclair
ping
6 years, 9 months ago (2014-03-04 02:42:19 UTC) #17
Julien - ping for review
https://codereview.chromium.org/160903002/diff/610001/Source/core/rendering/RenderObject.cpp File Source/core/rendering/RenderObject.cpp (right): https://codereview.chromium.org/160903002/diff/610001/Source/core/rendering/RenderObject.cpp#newcode3338 Source/core/rendering/RenderObject.cpp:3338: OutlineRects* outlineRects = view()->outlineRects(); On 2014/02/28 18:58:24, dsinclair wrote: ...
6 years, 9 months ago (2014-03-04 18:22:10 UTC) #18
dsinclair
I fixed the massive over-painting, but have caused under-painting on fast/repaint/bugzilla-6388.html which I need to ...
6 years, 9 months ago (2014-03-04 19:21:51 UTC) #19
dsinclair
ping. There is one remaining under-paint case, but I think we can fix that after ...
6 years, 9 months ago (2014-03-06 15:10:22 UTC) #20
Julien - ping for review
https://codereview.chromium.org/160903002/diff/1170001/Source/core/rendering/RenderObject.cpp File Source/core/rendering/RenderObject.cpp (right): https://codereview.chromium.org/160903002/diff/1170001/Source/core/rendering/RenderObject.cpp#newcode3328 Source/core/rendering/RenderObject.cpp:3328: ASSERT(hasOutline()); On 2014/03/04 19:21:52, dsinclair wrote: > On 2014/03/04 ...
6 years, 9 months ago (2014-03-07 18:26:37 UTC) #21
dsinclair
https://codereview.chromium.org/160903002/diff/720015/Source/core/frame/FrameView.cpp File Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/160903002/diff/720015/Source/core/frame/FrameView.cpp#newcode1081 Source/core/frame/FrameView.cpp:1081: } On 2014/03/07 18:26:38, Julien Chaffraix - PST wrote: ...
6 years, 9 months ago (2014-03-07 19:29:47 UTC) #22
Julien - ping for review
https://codereview.chromium.org/160903002/diff/720015/Source/core/rendering/RenderObject.h File Source/core/rendering/RenderObject.h (right): https://codereview.chromium.org/160903002/diff/720015/Source/core/rendering/RenderObject.h#newcode1115 Source/core/rendering/RenderObject.h:1115: , m_shouldDoFullRepaintIfNotComposited(false) On 2014/03/07 19:29:48, dsinclair wrote: > On ...
6 years, 9 months ago (2014-03-13 22:26:50 UTC) #23
Julien - ping for review
Based on my previous comment and some work I did on the change, this is ...
6 years, 9 months ago (2014-03-17 22:39:15 UTC) #24
dsinclair
The CQ bit was checked by dsinclair@chromium.org
6 years, 9 months ago (2014-03-20 14:50:47 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dsinclair@chromium.org/160903002/1260001
6 years, 9 months ago (2014-03-20 14:50:54 UTC) #26
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-20 16:02:51 UTC) #27
commit-bot: I haz the power
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 9 months ago (2014-03-20 16:02:52 UTC) #28
dsinclair
The CQ bit was checked by dsinclair@chromium.org
6 years, 9 months ago (2014-03-20 16:31:45 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dsinclair@chromium.org/160903002/1280001
6 years, 9 months ago (2014-03-20 16:31:51 UTC) #30
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-20 16:32:10 UTC) #31
commit-bot: I haz the power
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 9 months ago (2014-03-20 16:32:10 UTC) #32
dsinclair
The CQ bit was unchecked by dsinclair@chromium.org
6 years, 9 months ago (2014-03-20 16:32:30 UTC) #33
dsinclair
The CQ bit was checked by dsinclair@chromium.org
6 years, 9 months ago (2014-03-20 16:38:10 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dsinclair@chromium.org/160903002/1300001
6 years, 9 months ago (2014-03-20 16:38:21 UTC) #35
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-20 17:14:37 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.blink on linux_blink_rel
6 years, 9 months ago (2014-03-20 17:14:39 UTC) #37
dsinclair
The CQ bit was checked by dsinclair@chromium.org
6 years, 9 months ago (2014-03-20 19:19:39 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dsinclair@chromium.org/160903002/1300001
6 years, 9 months ago (2014-03-20 19:19:49 UTC) #39
commit-bot: I haz the power
6 years, 9 months ago (2014-03-20 19:52:02 UTC) #40
Message was sent while issue was closed.
Change committed as 169684

Powered by Google App Engine
This is Rietveld 408576698