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

Unified Diff: content/browser/compositor/gpu_browser_compositor_output_surface.cc

Issue 2511273002: Decouple BrowserCompositorOutputSurface from BeginFrameSource. (Closed)
Patch Set: Bring back GpuBrowserCompositorOutputSurface destructor Created 4 years 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
Index: content/browser/compositor/gpu_browser_compositor_output_surface.cc
diff --git a/content/browser/compositor/gpu_browser_compositor_output_surface.cc b/content/browser/compositor/gpu_browser_compositor_output_surface.cc
index 5043c54d2b825ec4786770ba0adc1eec4f042b3d..53b6304db3577834f2270fdfc04d1900c71665d1 100644
--- a/content/browser/compositor/gpu_browser_compositor_output_surface.cc
+++ b/content/browser/compositor/gpu_browser_compositor_output_surface.cc
@@ -22,13 +22,11 @@ namespace content {
GpuBrowserCompositorOutputSurface::GpuBrowserCompositorOutputSurface(
scoped_refptr<ContextProviderCommandBuffer> context,
- scoped_refptr<ui::CompositorVSyncManager> vsync_manager,
- cc::SyntheticBeginFrameSource* begin_frame_source,
+ const UpdateVSyncParametersCallback& update_vsync_parameters_callback,
std::unique_ptr<display_compositor::CompositorOverlayCandidateValidator>
overlay_candidate_validator)
: BrowserCompositorOutputSurface(std::move(context),
- std::move(vsync_manager),
- begin_frame_source,
+ update_vsync_parameters_callback,
std::move(overlay_candidate_validator)),
weak_ptr_factory_(this) {
if (capabilities_.uses_default_gl_framebuffer) {
@@ -37,8 +35,10 @@ GpuBrowserCompositorOutputSurface::GpuBrowserCompositorOutputSurface(
}
}
-GpuBrowserCompositorOutputSurface::~GpuBrowserCompositorOutputSurface() =
- default;
+GpuBrowserCompositorOutputSurface::~GpuBrowserCompositorOutputSurface() {
+ GetCommandBufferProxy()->SetUpdateVSyncParametersCallback(
+ UpdateVSyncParametersCallback());
+}
void GpuBrowserCompositorOutputSurface::OnGpuSwapBuffersCompleted(
const std::vector<ui::LatencyInfo>& latency_info,
@@ -66,9 +66,8 @@ void GpuBrowserCompositorOutputSurface::BindToClient(
GetCommandBufferProxy()->SetSwapBuffersCompletionCallback(
base::Bind(&GpuBrowserCompositorOutputSurface::OnGpuSwapBuffersCompleted,
weak_ptr_factory_.GetWeakPtr()));
- GetCommandBufferProxy()->SetUpdateVSyncParametersCallback(base::Bind(
- &GpuBrowserCompositorOutputSurface::OnUpdateVSyncParametersFromGpu,
- weak_ptr_factory_.GetWeakPtr()));
+ GetCommandBufferProxy()->SetUpdateVSyncParametersCallback(
+ update_vsync_parameters_callback_);
}
void GpuBrowserCompositorOutputSurface::EnsureBackbuffer() {}

Powered by Google App Engine
This is Rietveld 408576698