OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ | 5 #ifndef COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ |
6 #define COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ | 6 #define COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 29 matching lines...) Expand all Loading... |
40 void SubmitCompositorFrame(const cc::LocalSurfaceId& local_surface_id, | 40 void SubmitCompositorFrame(const cc::LocalSurfaceId& local_surface_id, |
41 cc::CompositorFrame frame) override; | 41 cc::CompositorFrame frame) override; |
42 void Require(const cc::LocalSurfaceId& local_surface_id, | 42 void Require(const cc::LocalSurfaceId& local_surface_id, |
43 const cc::SurfaceSequence& sequence) override; | 43 const cc::SurfaceSequence& sequence) override; |
44 void Satisfy(const cc::SurfaceSequence& sequence) override; | 44 void Satisfy(const cc::SurfaceSequence& sequence) override; |
45 | 45 |
46 // cc::mojom::MojoCompositorFrameSinkPrivate: | 46 // cc::mojom::MojoCompositorFrameSinkPrivate: |
47 void AddChildFrameSink(const cc::FrameSinkId& child_frame_sink_id) override; | 47 void AddChildFrameSink(const cc::FrameSinkId& child_frame_sink_id) override; |
48 void RemoveChildFrameSink( | 48 void RemoveChildFrameSink( |
49 const cc::FrameSinkId& child_frame_sink_id) override; | 49 const cc::FrameSinkId& child_frame_sink_id) override; |
| 50 void RequestCopyOfSurface( |
| 51 std::unique_ptr<cc::CopyOutputRequest> request, |
| 52 const RequestCopyOfSurfaceCallback& callback) override; |
50 | 53 |
51 protected: | 54 protected: |
52 void OnClientConnectionLost(); | 55 void OnClientConnectionLost(); |
53 void OnPrivateConnectionLost(); | 56 void OnPrivateConnectionLost(); |
54 | 57 |
55 GpuCompositorFrameSinkDelegate* const delegate_; | 58 GpuCompositorFrameSinkDelegate* const delegate_; |
56 std::unique_ptr<cc::CompositorFrameSinkSupport> support_; | 59 std::unique_ptr<cc::CompositorFrameSinkSupport> support_; |
57 | 60 |
58 private: | 61 private: |
59 // cc::CompositorFrameSinkSupportClient implementation: | 62 // cc::CompositorFrameSinkSupportClient implementation: |
60 void DidReceiveCompositorFrameAck() override; | 63 void DidReceiveCompositorFrameAck() override; |
61 void OnBeginFrame(const cc::BeginFrameArgs& args) override; | 64 void OnBeginFrame(const cc::BeginFrameArgs& args) override; |
62 void ReclaimResources(const cc::ReturnedResourceArray& resources) override; | 65 void ReclaimResources(const cc::ReturnedResourceArray& resources) override; |
63 void WillDrawSurface() override; | 66 void WillDrawSurface() override; |
64 | 67 |
65 bool client_connection_lost_ = false; | 68 bool client_connection_lost_ = false; |
66 bool private_connection_lost_ = false; | 69 bool private_connection_lost_ = false; |
67 | 70 |
68 cc::mojom::MojoCompositorFrameSinkClientPtr client_; | 71 cc::mojom::MojoCompositorFrameSinkClientPtr client_; |
69 mojo::Binding<cc::mojom::MojoCompositorFrameSinkPrivate> | 72 mojo::Binding<cc::mojom::MojoCompositorFrameSinkPrivate> |
70 compositor_frame_sink_private_binding_; | 73 compositor_frame_sink_private_binding_; |
71 | 74 |
72 DISALLOW_COPY_AND_ASSIGN(GpuCompositorFrameSink); | 75 DISALLOW_COPY_AND_ASSIGN(GpuCompositorFrameSink); |
73 }; | 76 }; |
74 | 77 |
75 } // namespace display_compositor | 78 } // namespace display_compositor |
76 | 79 |
77 #endif // COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ | 80 #endif // COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ |
OLD | NEW |