| 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
|
|
|