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

Issue 1287093004: Slimming Paint phase 2 compositing algorithm plumbing (Closed)

Created:
5 years, 4 months ago by pdr.
Modified:
5 years, 4 months ago
Reviewers:
chrishtr, Xianzhu, jbroman
CC:
blink-layers+watch_chromium.org, blink-reviews, blink-reviews-dom_chromium.org, blink-reviews-paint_chromium.org, Rik, danakj, dglazkov+blink, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, f(malita), jbroman, Justin Novosad, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, sof, slimming-paint-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Slimming Paint phase 2 compositing algorithm plumbing This patch adds the plumbing for slimming paint phase 2's compositing algorithm. The basic idea is to move compositing after painting. This patch has the plumbing for two prerequesites to support that change: 1) A hook has been added so the merge algorithm can update a DisplayItemDiff structure. 2) A step for property tree building has been added during the compositing step. The full design can be found at: https://docs.google.com/document/d/1qF7wpO_lhuxUO6YXKZ3CJuXi0grcb5gKZJBBgnoTd0k/view This patch is an updated version of Chrishtr's initial implementation in https://codereview.chromium.org/1238123004 except the display list API has not been implemented. BUG=481592 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=200612

Patch Set 1 #

Patch Set 2 : Minor cleanup #

Total comments: 14

Patch Set 3 : Address reviewer comments #

Total comments: 18

Patch Set 4 : Address reviewer comments #

Total comments: 5

Patch Set 5 : Update per reviewer comments. Still need to find a home for the Transform Tree. #

Total comments: 2

Patch Set 6 : Address reviewer comments #

Patch Set 7 : Rebase #

Patch Set 8 : Rebase from space #

Unified diffs Side-by-side diffs Delta from patch set Stats (+451 lines, -16 lines) Patch
A Source/core/compositing/DisplayListCompositingBuilder.h View 1 2 3 4 1 chunk +33 lines, -0 lines 0 comments Download
A Source/core/compositing/DisplayListCompositingBuilder.cpp View 1 2 3 4 1 chunk +23 lines, -0 lines 0 comments Download
A Source/core/compositing/DisplayListCompositingBuilderTest.cpp View 1 2 3 4 1 chunk +49 lines, -0 lines 0 comments Download
A Source/core/compositing/DisplayListCompositingTest.cpp View 1 2 3 4 5 1 chunk +95 lines, -0 lines 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 2 chunks +4 lines, -0 lines 0 comments Download
M Source/core/dom/DocumentLifecycle.h View 1 2 4 chunks +14 lines, -2 lines 0 comments Download
M Source/core/dom/DocumentLifecycle.cpp View 1 2 3 4 5 6 7 3 chunks +31 lines, -1 line 0 comments Download
M Source/core/frame/FrameView.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 5 chunks +60 lines, -2 lines 0 comments Download
M Source/core/layout/LayoutTestHelper.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutView.h View 1 2 3 4 5 3 chunks +8 lines, -0 lines 0 comments Download
M Source/core/paint/DeprecatedPaintLayer.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M Source/core/paint/DisplayItemListPaintTest.cpp View 1 2 3 4 5 7 chunks +102 lines, -5 lines 0 comments Download
M Source/platform/graphics/ContentLayerDelegate.cpp View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M Source/platform/graphics/paint/DisplayItemList.h View 1 2 3 4 5 4 chunks +9 lines, -2 lines 0 comments Download
M Source/platform/graphics/paint/DisplayItemList.cpp View 1 2 3 4 5 2 chunks +10 lines, -3 lines 0 comments Download

Messages

Total messages: 27 (7 generated)
pdr.
5 years, 4 months ago (2015-08-13 05:12:29 UTC) #2
Xianzhu
Previously I thought of making LayoutClean the last document cycle state, because with interest rect ...
5 years, 4 months ago (2015-08-13 17:03:58 UTC) #3
chrishtr
https://codereview.chromium.org/1287093004/diff/20001/Source/core/compositing/DisplayListCompositingBuilder.h File Source/core/compositing/DisplayListCompositingBuilder.h (right): https://codereview.chromium.org/1287093004/diff/20001/Source/core/compositing/DisplayListCompositingBuilder.h#newcode17 Source/core/compositing/DisplayListCompositingBuilder.h:17: DisplayListCompositingBuilder(const DisplayItemList& displayItemList, const DisplayListDiff& displayListDiff, GraphicsLayer& rootGraphicsLayer) GraphicsLayer ...
5 years, 4 months ago (2015-08-13 17:28:32 UTC) #4
pdr.
Thx! PTAL https://codereview.chromium.org/1287093004/diff/20001/Source/core/compositing/DisplayListCompositingBuilder.h File Source/core/compositing/DisplayListCompositingBuilder.h (right): https://codereview.chromium.org/1287093004/diff/20001/Source/core/compositing/DisplayListCompositingBuilder.h#newcode17 Source/core/compositing/DisplayListCompositingBuilder.h:17: DisplayListCompositingBuilder(const DisplayItemList& displayItemList, const DisplayListDiff& displayListDiff, GraphicsLayer& ...
5 years, 4 months ago (2015-08-13 20:55:00 UTC) #5
chrishtr
https://codereview.chromium.org/1287093004/diff/40001/Source/core/compositing/DisplayListCompositingBuilderTest.cpp File Source/core/compositing/DisplayListCompositingBuilderTest.cpp (right): https://codereview.chromium.org/1287093004/diff/40001/Source/core/compositing/DisplayListCompositingBuilderTest.cpp#newcode17 Source/core/compositing/DisplayListCompositingBuilderTest.cpp:17: class DisplayItemListCompositingBuilderTest : public RenderingTest { Make two test ...
5 years, 4 months ago (2015-08-13 21:33:16 UTC) #6
pdr.
PTAL https://codereview.chromium.org/1287093004/diff/40001/Source/core/compositing/DisplayListCompositingBuilderTest.cpp File Source/core/compositing/DisplayListCompositingBuilderTest.cpp (right): https://codereview.chromium.org/1287093004/diff/40001/Source/core/compositing/DisplayListCompositingBuilderTest.cpp#newcode17 Source/core/compositing/DisplayListCompositingBuilderTest.cpp:17: class DisplayItemListCompositingBuilderTest : public RenderingTest { On 2015/08/13 ...
5 years, 4 months ago (2015-08-14 00:10:29 UTC) #7
chrishtr
https://codereview.chromium.org/1287093004/diff/60001/Source/core/compositing/DisplayListCompositingBuilder.h File Source/core/compositing/DisplayListCompositingBuilder.h (right): https://codereview.chromium.org/1287093004/diff/60001/Source/core/compositing/DisplayListCompositingBuilder.h#newcode26 Source/core/compositing/DisplayListCompositingBuilder.h:26: CompositedDisplayList build(); void build(CompositedDisplayList&) https://codereview.chromium.org/1287093004/diff/60001/Source/core/layout/LayoutView.h File Source/core/layout/LayoutView.h (right): https://codereview.chromium.org/1287093004/diff/60001/Source/core/layout/LayoutView.h#newcode192 ...
5 years, 4 months ago (2015-08-14 00:17:20 UTC) #8
Xianzhu
https://codereview.chromium.org/1287093004/diff/20001/Source/platform/graphics/ContentLayerDelegate.cpp File Source/platform/graphics/ContentLayerDelegate.cpp (right): https://codereview.chromium.org/1287093004/diff/20001/Source/platform/graphics/ContentLayerDelegate.cpp#newcode94 Source/platform/graphics/ContentLayerDelegate.cpp:94: if (m_painter->displayItemList()) { On 2015/08/13 20:55:00, pdr wrote: > ...
5 years, 4 months ago (2015-08-14 17:22:59 UTC) #9
pdr.
https://codereview.chromium.org/1287093004/diff/60001/Source/core/compositing/DisplayListCompositingBuilder.h File Source/core/compositing/DisplayListCompositingBuilder.h (right): https://codereview.chromium.org/1287093004/diff/60001/Source/core/compositing/DisplayListCompositingBuilder.h#newcode26 Source/core/compositing/DisplayListCompositingBuilder.h:26: CompositedDisplayList build(); On 2015/08/14 at 00:17:19, chrishtr wrote: > ...
5 years, 4 months ago (2015-08-14 17:28:18 UTC) #10
chrishtr
Looks good except for WebViewImpl part.
5 years, 4 months ago (2015-08-14 17:40:26 UTC) #11
chrishtr
lgtm https://codereview.chromium.org/1287093004/diff/80001/Source/core/layout/LayoutView.h File Source/core/layout/LayoutView.h (right): https://codereview.chromium.org/1287093004/diff/80001/Source/core/layout/LayoutView.h#newcode243 Source/core/layout/LayoutView.h:243: OwnPtrWillBePersistent<const DisplayItemTransformTree> m_transformTree; Put the CompositedDisplayList here instead ...
5 years, 4 months ago (2015-08-14 22:12:10 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1287093004/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1287093004/120001
5 years, 4 months ago (2015-08-15 02:32:39 UTC) #14
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_chromium_gn_compile_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/120241) chromium_presubmit on ...
5 years, 4 months ago (2015-08-15 02:34:47 UTC) #16
pdr.
https://codereview.chromium.org/1287093004/diff/20001/Source/platform/graphics/ContentLayerDelegate.cpp File Source/platform/graphics/ContentLayerDelegate.cpp (right): https://codereview.chromium.org/1287093004/diff/20001/Source/platform/graphics/ContentLayerDelegate.cpp#newcode94 Source/platform/graphics/ContentLayerDelegate.cpp:94: if (m_painter->displayItemList()) { On 2015/08/14 at 17:22:59, Xianzhu wrote: ...
5 years, 4 months ago (2015-08-15 02:35:04 UTC) #17
chrishtr
lgtm
5 years, 4 months ago (2015-08-15 14:31:27 UTC) #18
pdr.
On 2015/08/15 at 14:31:27, chrishtr wrote: > lgtm Original test failures have been fixed (crbug.com/521230). ...
5 years, 4 months ago (2015-08-15 16:54:41 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1287093004/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1287093004/120001
5 years, 4 months ago (2015-08-15 16:54:54 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ninja/builds/99325)
5 years, 4 months ago (2015-08-15 16:57:06 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1287093004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1287093004/140001
5 years, 4 months ago (2015-08-15 20:16:10 UTC) #26
commit-bot: I haz the power
5 years, 4 months ago (2015-08-15 21:29:38 UTC) #27
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=200612

Powered by Google App Engine
This is Rietveld 408576698