Index: services/gfx/compositor/scene_state.h |
diff --git a/services/gfx/compositor/scene_state.h b/services/gfx/compositor/scene_state.h |
index c5f07efb0d3443b378558ea51057e5e72591145c..ec26485cac09a6d3da32866f7f351d9751ce5993 100644 |
--- a/services/gfx/compositor/scene_state.h |
+++ b/services/gfx/compositor/scene_state.h |
@@ -8,20 +8,17 @@ |
#include <memory> |
#include <string> |
#include <unordered_map> |
-#include <vector> |
#include "base/callback.h" |
#include "base/macros.h" |
#include "base/memory/weak_ptr.h" |
#include "mojo/services/gfx/composition/cpp/formatting.h" |
#include "mojo/services/gfx/composition/interfaces/scenes.mojom.h" |
+#include "services/gfx/compositor/frame_dispatcher.h" |
#include "services/gfx/compositor/graph/scene_def.h" |
namespace compositor { |
-using SceneFrameCallback = |
- base::Callback<void(mojo::gfx::composition::FrameInfoPtr)>; |
- |
// Describes the state of a particular scene. |
// This object is owned by the CompositorEngine that created it. |
class SceneState { |
@@ -54,15 +51,15 @@ class SceneState { |
// Gets the underlying scene definition, never null. |
SceneDef* scene_def() { return &scene_def_; } |
- void AddSceneFrameCallback(const SceneFrameCallback& callback); |
- void DispatchSceneFrameCallbacks( |
- const mojo::gfx::composition::FrameInfo& frame_info); |
+ FrameDispatcher& frame_dispatcher() { return frame_dispatcher_; } |
private: |
mojo::gfx::composition::SceneTokenPtr scene_token_; |
+ |
+ FrameDispatcher frame_dispatcher_; // must be before scene_impl_ |
std::unique_ptr<mojo::gfx::composition::Scene> scene_impl_; |
+ |
mojo::gfx::composition::SceneListenerPtr scene_listener_; |
- std::vector<SceneFrameCallback> pending_frame_callbacks_; |
SceneDef scene_def_; |