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

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

Issue 2511273002: Decouple BrowserCompositorOutputSurface from BeginFrameSource. (Closed)
Patch Set: Avoid duplicating code that updates VSync manager. Created 4 years, 1 month 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/browser_compositor_output_surface.cc
diff --git a/content/browser/compositor/browser_compositor_output_surface.cc b/content/browser/compositor/browser_compositor_output_surface.cc
index b93b865efe759fa4788091c0b7df3c096926a9b8..d8166ec507ad3e3a4dc0cca5fbf664be53a537e7 100644
--- a/content/browser/compositor/browser_compositor_output_surface.cc
+++ b/content/browser/compositor/browser_compositor_output_surface.cc
@@ -21,35 +21,28 @@ namespace content {
BrowserCompositorOutputSurface::BrowserCompositorOutputSurface(
scoped_refptr<cc::ContextProvider> context_provider,
- 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)
: OutputSurface(std::move(context_provider)),
- vsync_manager_(std::move(vsync_manager)),
- synthetic_begin_frame_source_(begin_frame_source),
+ update_vsync_parameters_callback_(update_vsync_parameters_callback),
reflector_(nullptr) {
overlay_candidate_validator_ = std::move(overlay_candidate_validator);
}
BrowserCompositorOutputSurface::BrowserCompositorOutputSurface(
std::unique_ptr<cc::SoftwareOutputDevice> software_device,
- const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager,
- cc::SyntheticBeginFrameSource* begin_frame_source)
+ const UpdateVSyncParametersCallback& update_vsync_parameters_callback)
: OutputSurface(std::move(software_device)),
- vsync_manager_(vsync_manager),
- synthetic_begin_frame_source_(begin_frame_source),
+ update_vsync_parameters_callback_(update_vsync_parameters_callback),
reflector_(nullptr) {}
BrowserCompositorOutputSurface::BrowserCompositorOutputSurface(
const scoped_refptr<cc::VulkanContextProvider>& vulkan_context_provider,
- const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager,
- cc::SyntheticBeginFrameSource* begin_frame_source)
+ const UpdateVSyncParametersCallback& update_vsync_parameters_callback)
: OutputSurface(std::move(vulkan_context_provider)),
- vsync_manager_(vsync_manager),
- synthetic_begin_frame_source_(begin_frame_source),
- reflector_(nullptr) {
-}
+ update_vsync_parameters_callback_(update_vsync_parameters_callback),
+ reflector_(nullptr) {}
BrowserCompositorOutputSurface::~BrowserCompositorOutputSurface() {
if (reflector_)
@@ -64,8 +57,8 @@ void BrowserCompositorOutputSurface::OnUpdateVSyncParametersFromGpu(
// TODO(brianderson): We should not be receiving 0 intervals.
interval = cc::BeginFrameArgs::DefaultInterval();
}
- synthetic_begin_frame_source_->OnUpdateVSyncParameters(timebase, interval);
- vsync_manager_->UpdateVSyncParameters(timebase, interval);
+
+ update_vsync_parameters_callback_.Run(timebase, interval);
}
void BrowserCompositorOutputSurface::SetReflector(ReflectorImpl* reflector) {

Powered by Google App Engine
This is Rietveld 408576698