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

Issue 1329553004: Add a FOUC painting test. (Closed)

Created:
5 years, 3 months ago by esprehn
Modified:
5 years, 3 months ago
Reviewers:
pdr., dglazkov
CC:
blink-layers+watch_chromium.org, blink-reviews, blink-reviews-paint_chromium.org, Rik, danakj, dglazkov+blink, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), jbroman, Justin Novosad, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Add a FOUC painting test. This expands the Sim(ulation) testing framework to support a very rudimentary compositor that can run a simple BeginMainFrame which runs the WebView's beginFrame() and layout() steps followed by a simplified paint step which paints the main layer of every composited layer mapping. This is a very rough approximation of what the real compositor would do, but is enough to test the code for avoiding FOUC in DeprecatedPaintLayerPainter's shouldSuppressPaintingLayer and BlockPainter::paintContents. It's also enough to test the paint invalidation logic in Document::styleResolverChanged for when we painted by skipping painting the actual content because of the previously mentioned FOUC avoidance logic. I also went and added a bunch of comments to the Sim* classes to explain what they do and how to use the testing framework. A future patch may add a README so we can use this framework to write future pipeline tests. This was originally committed as: https://src.chromium.org/viewvc/blink?view=rev&revision=201944 and reverted because the red background fill in debug builds makes the number of draw commands vary from Debug to Release. This new patch introduces a SimCanvas that collects the drawing commands and also disables the red debug fill. This lets the test use stronger assertions and also means it works in both Debug and Release builds. BUG=521692 Committed: https://crrev.com/c999715896955a67460b3a543a76f4453dfe4012 git-svn-id: svn://svn.chromium.org/blink/trunk@202099 bbb929c8-8fbe-4397-9dbb-9b2b20218538

Patch Set 1 #

Patch Set 2 : Make the repaint test actually work. #

Patch Set 3 : Clean it up and fix assert. #

Patch Set 4 : Clean up. #

Total comments: 6

Patch Set 5 : dglazkov@ review. #

Patch Set 6 : Sync. #

Patch Set 7 : Robust painting test. #

Patch Set 8 : Robust painting test. #

Patch Set 9 : fix build. #

Patch Set 10 : fix build. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+563 lines, -43 lines) Patch
M Source/core/dom/Document.h View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/dom/Document.cpp View 1 2 3 4 5 6 3 chunks +6 lines, -6 lines 0 comments Download
M Source/core/frame/FrameView.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 3 chunks +8 lines, -1 line 0 comments Download
M Source/core/layout/compositing/DeprecatedPaintLayerCompositor.cpp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M Source/core/loader/DocumentLoader.cpp View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/graphics/GraphicsLayer.h View 1 2 3 4 5 6 2 chunks +4 lines, -0 lines 0 comments Download
M Source/platform/graphics/GraphicsLayer.cpp View 1 2 3 4 5 6 4 chunks +16 lines, -1 line 0 comments Download
M Source/web/tests/DocumentLoadingRenderingTest.cpp View 1 2 3 4 5 6 4 chunks +88 lines, -5 lines 0 comments Download
A Source/web/tests/sim/SimCanvas.h View 1 2 3 4 5 6 7 9 1 chunk +61 lines, -0 lines 0 comments Download
A Source/web/tests/sim/SimCanvas.cpp View 1 2 3 4 5 6 1 chunk +113 lines, -0 lines 0 comments Download
A Source/web/tests/sim/SimCompositor.h View 1 2 3 4 5 6 1 chunk +42 lines, -0 lines 0 comments Download
A Source/web/tests/sim/SimCompositor.cpp View 1 2 3 4 5 6 1 chunk +92 lines, -0 lines 0 comments Download
A Source/web/tests/sim/SimDisplayItemList.h View 1 2 3 4 5 6 1 chunk +32 lines, -0 lines 0 comments Download
A Source/web/tests/sim/SimDisplayItemList.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +42 lines, -0 lines 0 comments Download
M Source/web/tests/sim/SimLayerTreeView.h View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M Source/web/tests/sim/SimNetwork.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M Source/web/tests/sim/SimRequest.h View 1 2 1 chunk +19 lines, -6 lines 0 comments Download
M Source/web/tests/sim/SimRequest.cpp View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M Source/web/web.gypi View 1 2 3 4 5 6 1 chunk +8 lines, -2 lines 0 comments Download
M public/platform/WebDisplayItemList.h View 1 chunk +16 lines, -16 lines 0 comments Download

Messages

Total messages: 51 (19 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/20001
5 years, 3 months ago (2015-09-05 06:36:15 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/79997)
5 years, 3 months ago (2015-09-05 07:43:38 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/40001
5 years, 3 months ago (2015-09-05 20:56:49 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/60001
5 years, 3 months ago (2015-09-05 21:54:20 UTC) #9
esprehn
This depends on https://codereview.chromium.org/1309243006 so it won't hit the RELEASE_ASSERT_NOT_REACHED() but I removed the conflicting ...
5 years, 3 months ago (2015-09-05 21:56:16 UTC) #10
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 3 months ago (2015-09-05 23:05:24 UTC) #12
dglazkov
holy crap!
5 years, 3 months ago (2015-09-06 01:20:15 UTC) #13
jbroman
(Not a review, just a note on one comment.) https://codereview.chromium.org/1329553004/diff/60001/Source/web/tests/sim/SimDisplayItemList.cpp File Source/web/tests/sim/SimDisplayItemList.cpp (right): https://codereview.chromium.org/1329553004/diff/60001/Source/web/tests/sim/SimDisplayItemList.cpp#newcode20 Source/web/tests/sim/SimDisplayItemList.cpp:20: ...
5 years, 3 months ago (2015-09-06 17:00:51 UTC) #14
esprehn
https://codereview.chromium.org/1329553004/diff/60001/Source/web/tests/sim/SimDisplayItemList.cpp File Source/web/tests/sim/SimDisplayItemList.cpp (right): https://codereview.chromium.org/1329553004/diff/60001/Source/web/tests/sim/SimDisplayItemList.cpp#newcode20 Source/web/tests/sim/SimDisplayItemList.cpp:20: // There's not much we can tell about a ...
5 years, 3 months ago (2015-09-06 20:27:58 UTC) #15
esprehn
https://codereview.chromium.org/1329553004/diff/60001/Source/web/tests/sim/SimDisplayItemList.cpp File Source/web/tests/sim/SimDisplayItemList.cpp (right): https://codereview.chromium.org/1329553004/diff/60001/Source/web/tests/sim/SimDisplayItemList.cpp#newcode20 Source/web/tests/sim/SimDisplayItemList.cpp:20: // There's not much we can tell about a ...
5 years, 3 months ago (2015-09-06 21:17:56 UTC) #16
jbroman
https://codereview.chromium.org/1329553004/diff/60001/Source/web/tests/sim/SimDisplayItemList.cpp File Source/web/tests/sim/SimDisplayItemList.cpp (right): https://codereview.chromium.org/1329553004/diff/60001/Source/web/tests/sim/SimDisplayItemList.cpp#newcode20 Source/web/tests/sim/SimDisplayItemList.cpp:20: // There's not much we can tell about a ...
5 years, 3 months ago (2015-09-07 00:52:37 UTC) #17
dglazkov
https://codereview.chromium.org/1329553004/diff/60001/Source/core/frame/FrameView.h File Source/core/frame/FrameView.h (right): https://codereview.chromium.org/1329553004/diff/60001/Source/core/frame/FrameView.h#newcode291 Source/core/frame/FrameView.h:291: static void setInitialTracksPaintInvalidationsForUnitTestsOnly(bool); The typical prefix we use is ...
5 years, 3 months ago (2015-09-08 17:54:05 UTC) #18
esprehn
On 2015/09/08 at 17:54:05, dglazkov wrote: > https://codereview.chromium.org/1329553004/diff/60001/Source/core/frame/FrameView.h > File Source/core/frame/FrameView.h (right): > > https://codereview.chromium.org/1329553004/diff/60001/Source/core/frame/FrameView.h#newcode291 ...
5 years, 3 months ago (2015-09-08 20:34:27 UTC) #20
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/80001
5 years, 3 months ago (2015-09-08 20:34:28 UTC) #21
dglazkov
lgtm
5 years, 3 months ago (2015-09-08 21:42:48 UTC) #22
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/104356)
5 years, 3 months ago (2015-09-08 22:00:39 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/100001
5 years, 3 months ago (2015-09-08 23:24:54 UTC) #27
commit-bot: I haz the power
Committed patchset #6 (id:100001) as https://src.chromium.org/viewvc/blink?view=rev&revision=201944
5 years, 3 months ago (2015-09-09 00:54:49 UTC) #28
Mike West
A revert of this CL (patchset #6 id:100001) has been created in https://codereview.chromium.org/1316673009/ by mkwst@chromium.org. ...
5 years, 3 months ago (2015-09-09 08:25:17 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/120001
5 years, 3 months ago (2015-09-10 07:31:06 UTC) #31
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/96067)
5 years, 3 months ago (2015-09-10 07:47:05 UTC) #33
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/140001
5 years, 3 months ago (2015-09-10 09:00:39 UTC) #35
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/101350)
5 years, 3 months ago (2015-09-10 09:38:30 UTC) #37
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/160001
5 years, 3 months ago (2015-09-10 23:05:49 UTC) #39
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/102552)
5 years, 3 months ago (2015-09-10 23:31:45 UTC) #41
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/180001
5 years, 3 months ago (2015-09-11 00:51:29 UTC) #43
esprehn
Okay I fixed the bug that got this reverted, the test also contains actual paint ...
5 years, 3 months ago (2015-09-11 01:17:45 UTC) #44
dglazkov
On 2015/09/11 at 01:17:45, esprehn wrote: > Okay I fixed the bug that got this ...
5 years, 3 months ago (2015-09-11 01:52:39 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1329553004/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1329553004/180001
5 years, 3 months ago (2015-09-11 02:17:00 UTC) #48
pdr.
On 2015/09/11 at 02:17:00, commit-bot wrote: > CQ is trying da patch. Follow status at ...
5 years, 3 months ago (2015-09-11 03:27:28 UTC) #49
commit-bot: I haz the power
Committed patchset #10 (id:180001) as https://src.chromium.org/viewvc/blink?view=rev&revision=202099
5 years, 3 months ago (2015-09-11 03:31:43 UTC) #50
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:18:25 UTC) #51
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/c999715896955a67460b3a543a76f4453dfe4012

Powered by Google App Engine
This is Rietveld 408576698