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

Issue 2793233002: Remove begin/end subseq. display items, and store on PaintController instead. (Closed)

Created:
3 years, 8 months ago by chrishtr
Modified:
3 years, 8 months ago
Reviewers:
Xianzhu
CC:
ajuma+watch_chromium.org, blink-reviews, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, dshwang, drott+blinkwatch_chromium.org, krit, fmalita+watch_chromium.org, jbroman, Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove begin/end subseq. display items, and store on PaintController instead. Subsequence display items cause complications for the SPv2 compositing algorithm because they confuse the PaintChunker. Also, they are the last remaining paired display item in SPv2 that blocks simplifying the display list format. BUG=692614 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2793233002 Cr-Commit-Position: refs/heads/master@{#462735} Committed: https://chromium.googlesource.com/chromium/src/+/256619b40e56be177620efb04b57086b2f6bcbed

Patch Set 1 #

Patch Set 2 : none #

Patch Set 3 : none #

Patch Set 4 : none #

Total comments: 3

Patch Set 5 : none #

Patch Set 6 : none #

Patch Set 7 : Merge branch 'master' into subsequence #

Total comments: 6

Patch Set 8 : none #

Patch Set 9 : none #

Total comments: 7

Patch Set 10 : none #

Patch Set 11 : none #

Patch Set 12 : none #

Unified diffs Side-by-side diffs Delta from patch set Stats (+385 lines, -482 lines) Patch
M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp View 6 chunks +19 lines, -46 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp View 1 2 3 9 chunks +78 lines, -202 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/TablePainterTest.cpp View 1 2 3 4 5 6 4 chunks +6 lines, -15 lines 0 comments Download
M third_party/WebKit/Source/platform/BUILD.gn View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintChunksToCcLayer.cpp View 1 2 3 4 5 1 chunk +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h View 1 2 3 4 5 6 7 8 9 2 chunks +1 line, -7 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp View 1 2 3 4 5 6 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemListTest.cpp View 1 2 chunks +2 lines, -13 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintChunkTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.h View 1 2 3 4 5 6 7 8 9 7 chunks +48 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +106 lines, -57 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp View 1 2 3 4 5 6 7 7 chunks +101 lines, -71 lines 0 comments Download
D third_party/WebKit/Source/platform/graphics/paint/SubsequenceDisplayItem.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -34 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/SubsequenceRecorder.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +15 lines, -15 lines 0 comments Download

Messages

Total messages: 53 (37 generated)
chrishtr
https://codereview.chromium.org/2793233002/diff/60001/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp (right): https://codereview.chromium.org/2793233002/diff/60001/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp#newcode1171 third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp:1171: EXPECT_EQ(0, numSequentialMatches()); I'm not quite sure these are correct. ...
3 years, 8 months ago (2017-04-04 18:12:48 UTC) #9
chrishtr
Updated to fix a bug in under-invalidation checking in PaintController. The change also simplifies the ...
3 years, 8 months ago (2017-04-05 21:39:38 UTC) #19
Xianzhu
https://codereview.chromium.org/2793233002/diff/60001/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp (right): https://codereview.chromium.org/2793233002/diff/60001/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp#newcode1171 third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp:1171: EXPECT_EQ(0, numSequentialMatches()); On 2017/04/04 18:12:48, chrishtr wrote: > I'm ...
3 years, 8 months ago (2017-04-05 22:39:18 UTC) #21
chrishtr
https://codereview.chromium.org/2793233002/diff/120001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (right): https://codereview.chromium.org/2793233002/diff/120001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#newcode165 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:165: m_newCachedSubsequences.insert(&client, SubsequenceMarkers(start, end)); On 2017/04/05 at 22:39:17, Xianzhu wrote: ...
3 years, 8 months ago (2017-04-06 00:05:29 UTC) #24
chrishtr
https://codereview.chromium.org/2793233002/diff/160001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 File third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 (right): https://codereview.chromium.org/2793233002/diff/160001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2#newcode1363 third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2:1363: Bug(none) virtual/threaded/animations/3d/change-transform-in-end-event.html [ Failure ] It appears that removing ...
3 years, 8 months ago (2017-04-06 01:04:19 UTC) #27
chrishtr
Hi, does this CL look ok?
3 years, 8 months ago (2017-04-06 17:46:57 UTC) #30
Xianzhu
lgtm with one comments about CHECK_DISPLAY_ITEM_CLIENT_ALIVENESS. https://codereview.chromium.org/2793233002/diff/160001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (left): https://codereview.chromium.org/2793233002/diff/160001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#oldcode189 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:189: } Keep this. ...
3 years, 8 months ago (2017-04-06 18:22:25 UTC) #31
Xianzhu
https://codereview.chromium.org/2793233002/diff/160001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (left): https://codereview.chromium.org/2793233002/diff/160001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#oldcode199 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:199: #endif The whole block (excluding line 192-196) can be ...
3 years, 8 months ago (2017-04-06 18:30:44 UTC) #32
chrishtr
https://codereview.chromium.org/2793233002/diff/160001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (left): https://codereview.chromium.org/2793233002/diff/160001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#oldcode189 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:189: } On 2017/04/06 at 18:22:25, Xianzhu wrote: > Keep ...
3 years, 8 months ago (2017-04-06 20:01:14 UTC) #33
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/2793233002/180001
3 years, 8 months ago (2017-04-06 20:18:40 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_swarming_rel/builds/152101) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 8 months ago (2017-04-06 21:01:33 UTC) #41
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/2793233002/200001
3 years, 8 months ago (2017-04-06 21:20:15 UTC) #44
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/266584)
3 years, 8 months ago (2017-04-06 22:21:45 UTC) #46
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/2793233002/220001
3 years, 8 months ago (2017-04-06 23:20:03 UTC) #49
commit-bot: I haz the power
Committed patchset #12 (id:220001) as https://chromium.googlesource.com/chromium/src/+/256619b40e56be177620efb04b57086b2f6bcbed
3 years, 8 months ago (2017-04-07 01:30:22 UTC) #52
foolip
3 years, 8 months ago (2017-04-07 05:12:52 UTC) #53
Message was sent while issue was closed.
A revert of this CL (patchset #12 id:220001) has been created in
https://codereview.chromium.org/2804883006/ by foolip@chromium.org.

The reason for reverting is:
PaintControllerUnderInvalidationTest.LessDrawingInSubsequence is failing on many
builders.

Error from WebKit Linux Trusty:
PaintControllerUnderInvalidationTest.LessDrawingInSubsequence (run #1):
[ RUN      ] PaintControllerUnderInvalidationTest.LessDrawingInSubsequence

[WARNING] ../../testing/gtest/src/gtest-death-test.cc:834:: Death tests use
fork(), which is unsafe particularly in a threaded context. For this test,
Google Test detected 2 threads.
../../third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp:2331:
Failure
Death test: testLessDrawingInSubsequence()
    Result: failed to die.
 Error msg:
[  DEATH   ]
[11609:11609:0406/212249.088581:18118180277:ERROR:PaintController.cpp(827)] "(In
cached subsequence of first)" under-invalidation: new subsequence wrong length
[  DEATH   ]
[11609:11609:0406/212249.088701:18118180330:ERROR:PaintController.cpp(828)]
Subsequence client: "first"
[  DEATH   ]
[11609:11609:0406/212249.088713:18118180341:ERROR:PaintController.cpp(832)] Run
debug build to get more details.
[  DEATH   ]
[11609:11609:0406/212249.088718:18118180346:ERROR:PaintController.cpp(834)] See
http://crbug.com/619103.
[  DEATH   ]
[  FAILED  ] PaintControllerUnderInvalidationTest.LessDrawingInSubsequence.

Powered by Google App Engine
This is Rietveld 408576698