Chromium Code Reviews| Index: services/ui/ws/server_window_compositor_frame_sink_manager.h |
| diff --git a/services/ui/ws/server_window_compositor_frame_sink_manager.h b/services/ui/ws/server_window_compositor_frame_sink_manager.h |
| index 271b0131654e3f85732010c836dbfafa88f29044..305660f836b3c74025ea92d345567ef259e54e57 100644 |
| --- a/services/ui/ws/server_window_compositor_frame_sink_manager.h |
| +++ b/services/ui/ws/server_window_compositor_frame_sink_manager.h |
| @@ -21,6 +21,19 @@ class ServerWindow; |
| class ServerWindowCompositorFrameSink; |
| class ServerWindowCompositorFrameSinkManagerTestApi; |
| +struct CompositorFrameSinkData { |
| + CompositorFrameSinkData(); |
| + CompositorFrameSinkData(CompositorFrameSinkData&& other); |
| + ~CompositorFrameSinkData(); |
| + |
| + CompositorFrameSinkData& operator=(CompositorFrameSinkData&& other); |
| + |
| + cc::SurfaceId last_submitted_surface_id; |
| + gfx::Size last_submitted_frame_size; |
| + // TODO(fsamuel): This should be a mojo interface. |
| + std::unique_ptr<ServerWindowCompositorFrameSink> compositor_frame_sink; |
| +}; |
| + |
| // ServerWindowCompositorFrameSinkManager tracks the surfaces associated with a |
| // ServerWindow. |
| class ServerWindowCompositorFrameSinkManager { |
| @@ -47,6 +60,12 @@ class ServerWindowCompositorFrameSinkManager { |
| bool HasCompositorFrameSinkOfType(mojom::CompositorFrameSinkType type) const; |
| bool HasAnyCompositorFrameSink() const; |
| + gfx::Size GetLastFrameSize(mojom::CompositorFrameSinkType type) const; |
| + cc::SurfaceId GetLastSurfaceId(mojom::CompositorFrameSinkType type) const; |
| + void SetLastSurfaceId(mojom::CompositorFrameSinkType type, |
|
sadrul
2016/10/27 05:06:30
Since this also sets the size, how about SetLatest
Fady Samuel
2016/10/27 05:46:37
Done.
|
| + const cc::SurfaceId& surface_id, |
| + const gfx::Size& frame_size); |
|
sadrul
2016/10/27 05:06:30
nit: s/Last/Latest/ in these?
Fady Samuel
2016/10/27 05:46:37
Done.
|
| + |
| cc::SurfaceManager* GetCompositorFrameSinkManager(); |
| private: |
| @@ -61,8 +80,7 @@ class ServerWindowCompositorFrameSinkManager { |
| ServerWindow* window_; |
| using TypeToCompositorFrameSinkMap = |
| - std::map<mojom::CompositorFrameSinkType, |
| - std::unique_ptr<ServerWindowCompositorFrameSink>>; |
| + std::map<mojom::CompositorFrameSinkType, CompositorFrameSinkData>; |
| TypeToCompositorFrameSinkMap type_to_compositor_frame_sink_map_; |