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

Issue 2075343003: Use a cc::Display for layout tests. (Closed)

Created:
4 years, 6 months ago by danakj
Modified:
4 years, 5 months ago
CC:
cc-bugs_chromium.org, chromium-reviews, darin-cc_chromium.org, jam, jbauman, jochen+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, mlamouri+watch-test-runner_chromium.org, piman
Base URL:
https://chromium.googlesource.com/chromium/src.git@mailbox-test
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Use a cc::Display for layout tests. This gives a delegating OutputSurface to LayerTreeHost for layout tests, which delegates to an in-process cc::Display instance. It does so using the same code we now use for cc pixel tests, which is the PixelTestDelegatingOutputSurface class. This makes LayoutTests use the same code paths in the renderer compositor that we ship to users! Hooray paying down 3-year-old technical debt. After this, LayerTreeHostImpl will no longer need to use a DirectRenderer ever (modulo WebView). I wanted to keep the Display using a separate ContextProvider from cc, to test texture transport mostly as it exists between the renderer and the out-of-process Display that we ship to users. So the output surface must take a ContextProvider from its creator to allow cc pixel tests to use in-process GL, and layout tests to use out-of-process GL. So the LayoutTestDependenciesImpl creates a ContextProviderCommandBuffer for the cc::Display to use, keeping the smallest code footprint possible inside RenderThreadImpl. TODO(danakj): Delete GLFrameData, MailboxOutputSurface, mailbox support in GLRenderer, etc. R=piman@chromium.org, sievers BUG=311404 Committed: https://crrev.com/a40dd4485a253e119162b5d2fb733ef8b7c53b56 Cr-Commit-Position: refs/heads/master@{#402360}

Patch Set 1 #

Total comments: 2

Patch Set 2 : layouttests-display: removecomment #

Patch Set 3 : layouttests-display: no-surface-expansion #

Patch Set 4 : layouttests-display: rebase #

Patch Set 5 : layouttests-display: delay-beginframesource #

Patch Set 6 : layouttests-display: invalidate #

Patch Set 7 : layouttests-display: releaseoutputsurface #

Patch Set 8 : layouttests-display: settings #

Total comments: 2

Patch Set 9 : layouttests-display: self-nits #

Total comments: 2

Patch Set 10 : layouttests-display: singlethreadproxy #

Patch Set 11 : layouttests-display: skipbadtests #

Patch Set 12 : layouttests-display: rebase #

Patch Set 13 : layouttests-display: webview #

Total comments: 1

Patch Set 14 : layouttests-display2: moreneverfix #

Patch Set 15 : layouttests-display2: rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+307 lines, -236 lines) Patch
M cc/test/layer_tree_pixel_test.cc View 1 2 3 4 5 6 7 1 chunk +8 lines, -3 lines 0 comments Download
M cc/test/pixel_test_delegating_output_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +9 lines, -0 lines 0 comments Download
M cc/test/pixel_test_delegating_output_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +11 lines, -10 lines 0 comments Download
M cc/trees/proxy_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -1 line 0 comments Download
M content/renderer/gpu/render_widget_compositor.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +13 lines, -5 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 11 chunks +188 lines, -193 lines 0 comments Download
M content/renderer/layout_test_dependencies.h View 1 chunk +9 lines, -3 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +12 lines, -15 lines 0 comments Download
M content/test/layouttest_support.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +40 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/NeverFixTests View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +6 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 101 (51 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/2075343003/1
4 years, 6 months ago (2016-06-18 01:13:51 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_blink_rel on tryserver.blink (JOB_FAILED, no build URL)
4 years, 6 months ago (2016-06-18 01:14:58 UTC) #11
danakj
4 years, 6 months ago (2016-06-18 01:14:58 UTC) #12
danakj
I thought about moving all the context creation into the LayerTestDepsImpl. Then the early out ...
4 years, 6 months ago (2016-06-18 01:23:17 UTC) #15
piman
lgtm https://codereview.chromium.org/2075343003/diff/1/content/test/layouttest_support.cc File content/test/layouttest_support.cc (right): https://codereview.chromium.org/2075343003/diff/1/content/test/layouttest_support.cc#newcode218 content/test/layouttest_support.cc:218: */ nit: remove
4 years, 6 months ago (2016-06-20 16:45:07 UTC) #16
danakj
There's some strange/intruiging tiny pixel differences compared to before, such as: https://storage.googleapis.com/chromium-layout-test-archives/linux_blink_rel/87245/layout-test-results/compositing/overflow/nested-render-surfaces-with-rotation-diff.png Little rounding things, ...
4 years, 6 months ago (2016-06-20 23:21:00 UTC) #17
enne (OOO)
On 2016/06/20 at 23:21:00, danakj wrote: > There's some strange/intruiging tiny pixel differences compared to ...
4 years, 6 months ago (2016-06-20 23:27:58 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2075343003/10001
4 years, 6 months ago (2016-06-21 00:00:35 UTC) #20
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/242042)
4 years, 6 months ago (2016-06-21 00:39:26 UTC) #22
danakj
Aha. WebView surface expansion testing leaked into layouttests, that's the pixel differences. I've made us ...
4 years, 6 months ago (2016-06-21 01:11:04 UTC) #23
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2075343003/30001
4 years, 6 months ago (2016-06-21 01:11:39 UTC) #25
danakj
I should point out we're still using default RendererSettings in layout tests instead of plumbing ...
4 years, 6 months ago (2016-06-21 01:11:56 UTC) #26
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/87331)
4 years, 6 months ago (2016-06-21 01:56:07 UTC) #28
danakj
2 other pixel failures were: css3/filters/backdrop-filter-rendering.html css3/filters/backdrop-filter-rendering-no-background.html I think this points to bug 612238 where ...
4 years, 6 months ago (2016-06-21 21:47:19 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/2075343003/70001
4 years, 6 months ago (2016-06-23 01:11:36 UTC) #31
danakj
The latest patchset changes PixelTestDelegatedOutputSurface to use a DelayBasedBeginFrameSource instead of a BackToBackBeginFrameSource. This fixes ...
4 years, 6 months ago (2016-06-23 01:42:12 UTC) #32
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2075343003/90001
4 years, 6 months ago (2016-06-23 01:48:46 UTC) #35
danakj
These are the remaining pixel failures (again, everything is flaky tho yay): https://storage.googleapis.com/chromium-layout-test-archives/linux_blink_rel/87488/layout-test-results/results.html There's 2 ...
4 years, 6 months ago (2016-06-23 01:49:42 UTC) #36
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/87491)
4 years, 6 months ago (2016-06-23 02:51:46 UTC) #38
danakj
OK I undid my change to the weakptrs in PixelTestDelegatingOutputSurface, and instead I release the ...
4 years, 6 months ago (2016-06-23 20:59:46 UTC) #39
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2075343003/110001
4 years, 6 months ago (2016-06-23 21:01:22 UTC) #41
danakj
The pixel differences with virtual/threaded/animations/rotate-transform-equivalent.html reproduce if I use a default RendererSettings instead of the ...
4 years, 6 months ago (2016-06-23 21:13:05 UTC) #42
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/87537)
4 years, 6 months ago (2016-06-23 21:45:34 UTC) #44
danakj
Confirmed that getting the settings we give to LayerTreeHost(Impl) to the Display does in fact ...
4 years, 6 months ago (2016-06-23 22:04:26 UTC) #45
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2075343003/130001
4 years, 6 months ago (2016-06-23 22:04:53 UTC) #47
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2075343003/150001
4 years, 6 months ago (2016-06-23 22:19:13 UTC) #49
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/68015)
4 years, 6 months ago (2016-06-23 22:54:40 UTC) #51
enne (OOO)
lgtm https://codereview.chromium.org/2075343003/diff/130001/cc/trees/proxy_impl.cc File cc/trees/proxy_impl.cc (right): https://codereview.chromium.org/2075343003/diff/130001/cc/trees/proxy_impl.cc#newcode120 cc/trees/proxy_impl.cc:120: layer_tree_host_impl_->ReleaseOutputSurface(); Please do this in single thread proxy ...
4 years, 6 months ago (2016-06-23 23:17:55 UTC) #52
jbauman
lgtm
4 years, 6 months ago (2016-06-23 23:19:10 UTC) #54
danakj
https://codereview.chromium.org/2075343003/diff/130001/cc/trees/proxy_impl.cc File cc/trees/proxy_impl.cc (right): https://codereview.chromium.org/2075343003/diff/130001/cc/trees/proxy_impl.cc#newcode120 cc/trees/proxy_impl.cc:120: layer_tree_host_impl_->ReleaseOutputSurface(); On 2016/06/23 23:17:55, enne wrote: > Please do ...
4 years, 6 months ago (2016-06-23 23:21:04 UTC) #55
danakj
Blah, linux works but 2 more failures on mac: virtual/threaded/animations/transition-and-animation-1.html virtual/threaded/animations/transition-and-animation-2.html https://storage.googleapis.com/chromium-layout-test-archives/mac_blink_rel/68015/layout-test-results/results.html They aren't pixel ...
4 years, 6 months ago (2016-06-23 23:28:00 UTC) #56
danakj
Blah, linux works but 2 more failures on mac: virtual/threaded/animations/transition-and-animation-1.html virtual/threaded/animations/transition-and-animation-2.html https://storage.googleapis.com/chromium-layout-test-archives/mac_blink_rel/68015/layout-test-results/results.html They aren't pixel ...
4 years, 6 months ago (2016-06-23 23:28:03 UTC) #57
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/2075343003/210001
4 years, 6 months ago (2016-06-24 18:33:54 UTC) #60
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/93551)
4 years, 6 months ago (2016-06-24 19:46:31 UTC) #62
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/2075343003/230001
4 years, 6 months ago (2016-06-24 23:25:05 UTC) #66
danakj
Oh, bo, there's a change in content/renderer/android/synchronous_compositor_proxy.cc now. The output surface is detatched/destroyed before the ...
4 years, 6 months ago (2016-06-24 23:31:28 UTC) #67
boliu
lgtm https://codereview.chromium.org/2075343003/diff/230001/content/renderer/android/synchronous_compositor_proxy.cc File content/renderer/android/synchronous_compositor_proxy.cc (right): https://codereview.chromium.org/2075343003/diff/230001/content/renderer/android/synchronous_compositor_proxy.cc#newcode58 content/renderer/android/synchronous_compositor_proxy.cc:58: DCHECK_NE(output_surface_, output_surface); alternative is to remove this DCHECK, ...
4 years, 6 months ago (2016-06-24 23:44:45 UTC) #70
danakj
OK last patch set has a DCHECK in ~LTHI that the output surface is gone ...
4 years, 6 months ago (2016-06-25 00:29:03 UTC) #72
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/2075343003/250001
4 years, 6 months ago (2016-06-25 00:29:20 UTC) #75
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/183289)
4 years, 6 months ago (2016-06-25 01:55:18 UTC) #77
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/2075343003/250001
4 years, 5 months ago (2016-06-27 17:11:24 UTC) #79
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/2075343003/230001
4 years, 5 months ago (2016-06-27 17:13:08 UTC) #83
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/245942)
4 years, 5 months ago (2016-06-27 18:31:15 UTC) #85
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2075343003/230001
4 years, 5 months ago (2016-06-27 18:53:32 UTC) #87
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/2075343003/270001
4 years, 5 months ago (2016-06-27 19:59:41 UTC) #90
danakj
On 2016/06/25 00:29:03, danakj wrote: > OK last patch set has a DCHECK in ~LTHI ...
4 years, 5 months ago (2016-06-27 20:00:16 UTC) #91
commit-bot: I haz the power
Failed to apply patch for content/renderer/gpu/render_widget_compositor.cc: While running git apply --index -3 -p1; error: patch ...
4 years, 5 months ago (2016-06-27 21:58:19 UTC) #93
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/2075343003/290001
4 years, 5 months ago (2016-06-27 22:16:57 UTC) #97
commit-bot: I haz the power
Committed patchset #15 (id:290001)
4 years, 5 months ago (2016-06-28 01:14:25 UTC) #99
commit-bot: I haz the power
4 years, 5 months ago (2016-06-28 01:17:27 UTC) #101
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/a40dd4485a253e119162b5d2fb733ef8b7c53b56
Cr-Commit-Position: refs/heads/master@{#402360}

Powered by Google App Engine
This is Rietveld 408576698