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

Unified Diff: services/ui/surfaces/direct_output_surface.cc

Issue 2352963002: cc: Make most of cc::OutputSurface abstract. (Closed)
Patch Set: outputsurface-cleanup: rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « services/ui/surfaces/direct_output_surface.h ('k') | services/ui/surfaces/direct_output_surface_ozone.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/ui/surfaces/direct_output_surface.cc
diff --git a/services/ui/surfaces/direct_output_surface.cc b/services/ui/surfaces/direct_output_surface.cc
index e8937281f958e259c09baf50dcd2261d88cc9070..81457c1962f37614374d4f339db09cd8cdd91674 100644
--- a/services/ui/surfaces/direct_output_surface.cc
+++ b/services/ui/surfaces/direct_output_surface.cc
@@ -39,13 +39,14 @@ bool DirectOutputSurface::BindToClient(cc::OutputSurfaceClient* client) {
return true;
}
-void DirectOutputSurface::OnVSyncParametersUpdated(
- const base::TimeTicks& timebase,
- const base::TimeDelta& interval) {
- // TODO(brianderson): We should not be receiving 0 intervals.
- synthetic_begin_frame_source_->OnUpdateVSyncParameters(
- timebase,
- interval.is_zero() ? cc::BeginFrameArgs::DefaultInterval() : interval);
+void DirectOutputSurface::EnsureBackbuffer() {}
+
+void DirectOutputSurface::DiscardBackbuffer() {
+ context_provider()->ContextGL()->DiscardBackbufferCHROMIUM();
+}
+
+void DirectOutputSurface::BindFramebuffer() {
+ context_provider()->ContextGL()->BindFramebuffer(GL_FRAMEBUFFER, 0);
}
void DirectOutputSurface::SwapBuffers(cc::CompositorFrame frame) {
@@ -67,7 +68,7 @@ void DirectOutputSurface::SwapBuffers(cc::CompositorFrame frame) {
gl->GenUnverifiedSyncTokenCHROMIUM(fence_sync, sync_token.GetData());
context_provider_->ContextSupport()->SignalSyncToken(
- sync_token, base::Bind(&OutputSurface::OnSwapBuffersComplete,
+ sync_token, base::Bind(&DirectOutputSurface::OnSwapBuffersComplete,
weak_ptr_factory_.GetWeakPtr()));
}
@@ -77,4 +78,40 @@ uint32_t DirectOutputSurface::GetFramebufferCopyTextureFormat() {
return GL_RGB;
}
+cc::OverlayCandidateValidator*
+DirectOutputSurface::GetOverlayCandidateValidator() const {
+ return nullptr;
+}
+
+bool DirectOutputSurface::IsDisplayedAsOverlayPlane() const {
+ return false;
+}
+
+unsigned DirectOutputSurface::GetOverlayTextureId() const {
+ return 0;
+}
+
+bool DirectOutputSurface::SurfaceIsSuspendForRecycle() const {
+ return false;
+}
+
+bool DirectOutputSurface::HasExternalStencilTest() const {
+ return false;
+}
+
+void DirectOutputSurface::ApplyExternalStencil() {}
+
+void DirectOutputSurface::OnVSyncParametersUpdated(
+ const base::TimeTicks& timebase,
+ const base::TimeDelta& interval) {
+ // TODO(brianderson): We should not be receiving 0 intervals.
+ synthetic_begin_frame_source_->OnUpdateVSyncParameters(
+ timebase,
+ interval.is_zero() ? cc::BeginFrameArgs::DefaultInterval() : interval);
+}
+
+void DirectOutputSurface::OnSwapBuffersComplete() {
+ client_->DidSwapBuffersComplete();
+}
+
} // namespace ui
« no previous file with comments | « services/ui/surfaces/direct_output_surface.h ('k') | services/ui/surfaces/direct_output_surface_ozone.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698