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

Unified Diff: cc/surfaces/display.h

Issue 1821863002: Hook up ui::Compositor to Display's BeginFrameSource (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: BrowserCompositorOutputSurface owns;scheduler decides Created 4 years, 9 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
Index: cc/surfaces/display.h
diff --git a/cc/surfaces/display.h b/cc/surfaces/display.h
index 4646179d0a4d0cd010f32b66f5fd7d06237415ed..611eeaebd80135b4d418ea222afaa61423407398 100644
--- a/cc/surfaces/display.h
+++ b/cc/surfaces/display.h
@@ -59,7 +59,7 @@ class CC_SURFACES_EXPORT Display : public DisplaySchedulerClient,
~Display() override;
bool Initialize(scoped_ptr<OutputSurface> output_surface,
- DisplayScheduler* scheduler);
+ base::SingleThreadTaskRunner* task_runner);
// device_scale_factor is used to communicate to the external window system
// what scale this was rendered at.
@@ -71,10 +71,12 @@ class CC_SURFACES_EXPORT Display : public DisplaySchedulerClient,
// DisplaySchedulerClient implementation.
bool DrawAndSwap() override;
+ void UpdateSchedulerBeginFrameSource(BeginFrameSource* source) override;
// OutputSurfaceClient implementation.
void CommitVSyncParameters(base::TimeTicks timebase,
- base::TimeDelta interval) override;
+ base::TimeDelta interval) override {}
+ void SetBeginFrameSource(BeginFrameSource* source) override;
void SetNeedsRedrawRect(const gfx::Rect& damage_rect) override;
void DidSwapBuffers() override;
void DidSwapBuffersComplete() override;
@@ -101,7 +103,7 @@ class CC_SURFACES_EXPORT Display : public DisplaySchedulerClient,
void UpdateRootSurfaceResourcesLocked();
DisplayClient* client_;
- SurfaceManager* manager_;
+ SurfaceManager* surface_manager_;
SharedBitmapManager* bitmap_manager_;
gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_;
RendererSettings settings_;
@@ -111,7 +113,11 @@ class CC_SURFACES_EXPORT Display : public DisplaySchedulerClient,
bool swapped_since_resize_;
gfx::Rect external_clip_;
scoped_ptr<OutputSurface> output_surface_;
- DisplayScheduler* scheduler_;
+ scoped_ptr<DisplayScheduler> scheduler_;
+ // The real BFS tied to vsync provided by the BrowserCompositorOutputSurface.
+ BeginFrameSource* vsync_begin_frame_source_;
+ // The BFS that the scheduler wants to use for this display.
+ BeginFrameSource* scheduler_begin_frame_source_;
scoped_ptr<ResourceProvider> resource_provider_;
scoped_ptr<SurfaceAggregator> aggregator_;
scoped_ptr<DirectRenderer> renderer_;

Powered by Google App Engine
This is Rietveld 408576698