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

Issue 2352963002: cc: Make most of cc::OutputSurface abstract. (Closed)

Created:
4 years, 3 months ago by danakj
Modified:
4 years, 2 months ago
CC:
anandc+watch-blimp_chromium.org, android-webview-reviews_chromium.org, cc-bugs_chromium.org, chromium-reviews, danakj+watch_chromium.org, darin-cc_chromium.org, dtrainor+watch-blimp_chromium.org, gcasto+watch-blimp_chromium.org, jam, jbauman+watch_chromium.org, jessicag+watch-blimp_chromium.org, kalyank, khushalsagar+watch-blimp_chromium.org, kmarshall+watch-blimp_chromium.org, lethalantidote+watch-blimp_chromium.org, maniscalco+watch-blimp_chromium.org, marcinjb+watch-blimp_chromium.org, mlamouri+watch-content_chromium.org, nyquist+watch-blimp_chromium.org, perumaal+watch-blimp_chromium.org, piman+watch_chromium.org, piman, rjkroege, scf+watch-blimp_chromium.org, shaktisahu+watch-blimp_chromium.org, sievers+watch_chromium.org, sriramsr+watch-blimp_chromium.org, steimel+watch-blimp_chromium.org, Ian Vollick
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Make most of cc::OutputSurface abstract. This makes most methods on cc::OutputSurface abstract getting us closer to this being an interface again. Currently we have many levels of classes overriding and changing behaviour of methods, and since the base class is an implementation you have at least two. This changes most methods to be pure virtual which forces all implementations of the class to consider if they should be doing something in these methods. A surprising number of methods are not used except in single- platform scenarios, which leads to questions if this API is optimal, but it's nice to expose the situtation as these methods already existed but were sometimes (rarely) overridden. Also eliminates some swap-buffers-complete dancing through multiple levels of inheritance just to call the client's DidSwapBuffersComplete(). TBR=nyquist R=enne@chromium.org BUG=606056 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Committed: https://crrev.com/1c77b832a90d6aab18e5b3ec91dd43291a3f57a7 Cr-Commit-Position: refs/heads/master@{#420994}

Patch Set 1 #

Patch Set 2 : outputsurface-cleanup: tryagain #

Patch Set 3 : outputsurface-cleanup: . #

Patch Set 4 : outputsurface-cleanup: . #

Total comments: 3

Patch Set 5 : outputsurface-cleanup: rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+481 lines, -293 lines) Patch
M android_webview/browser/parent_output_surface.h View 1 2 3 4 2 chunks +7 lines, -0 lines 0 comments Download
M android_webview/browser/parent_output_surface.cc View 1 2 3 4 2 chunks +27 lines, -0 lines 0 comments Download
M blimp/client/support/compositor/blimp_embedder_compositor.cc View 1 2 1 chunk +15 lines, -1 line 0 comments Download
M cc/output/gl_renderer_unittest.cc View 1 2 3 chunks +12 lines, -40 lines 0 comments Download
M cc/output/output_surface.h View 1 2 5 chunks +15 lines, -26 lines 0 comments Download
M cc/output/output_surface.cc View 1 2 6 chunks +27 lines, -82 lines 0 comments Download
M cc/output/output_surface_unittest.cc View 1 2 4 chunks +11 lines, -24 lines 0 comments Download
M cc/output/overlay_unittest.cc View 1 2 3 chunks +17 lines, -13 lines 0 comments Download
M cc/test/fake_output_surface.h View 1 2 2 chunks +16 lines, -14 lines 0 comments Download
M cc/test/fake_output_surface.cc View 1 2 3 3 chunks +9 lines, -11 lines 0 comments Download
M cc/test/pixel_test_output_surface.h View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M cc/test/pixel_test_output_surface.cc View 1 2 3 chunks +28 lines, -0 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.cc View 1 2 2 chunks +8 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.h View 1 chunk +7 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.cc View 1 2 4 chunks +34 lines, -11 lines 0 comments Download
M content/browser/compositor/gpu_output_surface_mac.mm View 1 2 3 4 2 chunks +2 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc View 1 2 2 chunks +1 line, -6 lines 0 comments Download
M content/browser/compositor/offscreen_browser_compositor_output_surface.h View 1 2 2 chunks +6 lines, -1 line 0 comments Download
M content/browser/compositor/offscreen_browser_compositor_output_surface.cc View 1 2 3 chunks +27 lines, -7 lines 0 comments Download
M content/browser/compositor/reflector_impl_unittest.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface.h View 1 chunk +6 lines, -1 line 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface.cc View 2 chunks +24 lines, -3 lines 0 comments Download
M content/browser/renderer_host/compositor_impl_android.cc View 1 2 2 chunks +17 lines, -1 line 0 comments Download
M content/renderer/android/synchronous_compositor_frame_sink.cc View 1 2 2 chunks +12 lines, -1 line 0 comments Download
M services/ui/surfaces/direct_output_surface.h View 1 2 1 chunk +11 lines, -0 lines 0 comments Download
M services/ui/surfaces/direct_output_surface.cc View 1 2 3 chunks +45 lines, -8 lines 0 comments Download
M services/ui/surfaces/direct_output_surface_ozone.h View 1 2 1 chunk +8 lines, -2 lines 0 comments Download
M services/ui/surfaces/direct_output_surface_ozone.cc View 1 2 3 chunks +57 lines, -36 lines 0 comments Download
M ui/compositor/test/in_process_context_factory.cc View 1 2 2 chunks +16 lines, -1 line 0 comments Download

Messages

Total messages: 42 (29 generated)
danakj
Getting rid of the getters on the class and making Reshape abstract is getting hairy ...
4 years, 2 months ago (2016-09-23 23:56:52 UTC) #16
enne (OOO)
lgtm I think it makes sense to stage this a little bit at a time. ...
4 years, 2 months ago (2016-09-24 00:52:34 UTC) #19
danakj
+boliu for content/ and webview +nyquist for blimp/ +sky for service
4 years, 2 months ago (2016-09-24 01:22:12 UTC) #22
sky
sky->fsamuel
4 years, 2 months ago (2016-09-26 15:24:26 UTC) #26
boliu
lgtm https://codereview.chromium.org/2352963002/diff/60001/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc File content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2352963002/diff/60001/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc#newcode111 content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc:111: buffer_queue_->PageFlipComplete(); copy the DCHECK from old code too?
4 years, 2 months ago (2016-09-26 17:14:51 UTC) #27
Fady Samuel
lgtm
4 years, 2 months ago (2016-09-26 17:16:19 UTC) #28
danakj
https://codereview.chromium.org/2352963002/diff/60001/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc File content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/2352963002/diff/60001/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc#newcode111 content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc:111: buffer_queue_->PageFlipComplete(); On 2016/09/26 17:14:50, boliu wrote: > copy the ...
4 years, 2 months ago (2016-09-26 18:54:44 UTC) #29
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/2352963002/60001
4 years, 2 months ago (2016-09-26 18:56:13 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/134911) android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, ...
4 years, 2 months ago (2016-09-26 19:00:38 UTC) #34
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/2352963002/80001
4 years, 2 months ago (2016-09-26 19:57:13 UTC) #37
nyquist
blimp lgtm
4 years, 2 months ago (2016-09-26 20:49:01 UTC) #38
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 2 months ago (2016-09-26 21:26:34 UTC) #40
commit-bot: I haz the power
4 years, 2 months ago (2016-09-26 21:28:54 UTC) #42
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/1c77b832a90d6aab18e5b3ec91dd43291a3f57a7
Cr-Commit-Position: refs/heads/master@{#420994}

Powered by Google App Engine
This is Rietveld 408576698