Index: services/gfx/compositor/compositor_engine.cc |
diff --git a/services/gfx/compositor/compositor_engine.cc b/services/gfx/compositor/compositor_engine.cc |
index aaf569eb341dbff1d1d8fb66b056ba6c1139714b..30d747332c51b17123333bb727a6c221004ec574 100644 |
--- a/services/gfx/compositor/compositor_engine.cc |
+++ b/services/gfx/compositor/compositor_engine.cc |
@@ -215,10 +215,12 @@ void CompositorEngine::Publish( |
} |
void CompositorEngine::ScheduleFrame(SceneState* scene_state, |
- const SceneFrameCallback& callback) { |
+ const FrameCallback& callback) { |
DCHECK(IsSceneStateRegisteredDebug(scene_state)); |
+ DVLOG(1) << "ScheduleFrame: scene=" << scene_state; |
- scene_state->AddSceneFrameCallback(callback); |
+ if (!scene_state->frame_dispatcher().AddCallback(callback)) |
+ return; |
// TODO(jeffbrown): Be more selective and do this work only for scenes |
// which are strongly associated with the renderer so it doesn't receive |
@@ -276,6 +278,18 @@ void CompositorEngine::ClearRootScene(RendererState* renderer_state) { |
} |
} |
+void CompositorEngine::ScheduleFrame(RendererState* renderer_state, |
+ const FrameCallback& callback) { |
+ DCHECK(IsRendererStateRegisteredDebug(renderer_state)); |
+ DVLOG(1) << "ScheduleFrame: renderer=" << renderer_state; |
+ |
+ if (!renderer_state->frame_dispatcher().AddCallback(callback)) |
+ return; |
+ |
+ ScheduleFrameForRenderer(renderer_state, |
+ Scheduler::SchedulingMode::kUpdateAndSnapshot); |
+} |
+ |
void CompositorEngine::HitTest( |
RendererState* renderer_state, |
mojo::PointFPtr point, |
@@ -481,10 +495,12 @@ void CompositorEngine::OnOutputUpdateRequest( |
return; |
DCHECK(IsRendererStateRegisteredDebug(renderer_state)); |
+ renderer_state->frame_dispatcher().DispatchCallbacks(frame_info); |
+ |
// TODO(jeffbrown): Be more selective and do this work only for scenes |
// associated with the renderer. |
for (auto& pair : scenes_by_token_) { |
- pair.second->DispatchSceneFrameCallbacks(frame_info); |
+ pair.second->frame_dispatcher().DispatchCallbacks(frame_info); |
} |
} |