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

Unified Diff: content/browser/compositor/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/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..c0b7f9baae2781fefdb74d9c61f7d478cb8fe058 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_)
@@ -57,17 +50,6 @@ BrowserCompositorOutputSurface::~BrowserCompositorOutputSurface() {
DCHECK(!reflector_);
}
-void BrowserCompositorOutputSurface::OnUpdateVSyncParametersFromGpu(
- base::TimeTicks timebase,
- base::TimeDelta interval) {
- if (interval.is_zero()) {
- // 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);
-}
-
void BrowserCompositorOutputSurface::SetReflector(ReflectorImpl* reflector) {
// Software mirroring is done by doing a GL copy out of the framebuffer - if
// we have overlays then that data will be missing.

Powered by Google App Engine
This is Rietveld 408576698