OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ | 5 #ifndef CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ |
6 #define CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ | 6 #define CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 std::unique_ptr<cc::SyntheticBeginFrameSource> | 63 std::unique_ptr<cc::SyntheticBeginFrameSource> |
64 synthetic_begin_frame_source, | 64 synthetic_begin_frame_source, |
65 scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider, | 65 scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider, |
66 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue); | 66 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue); |
67 ~RendererCompositorFrameSink() override; | 67 ~RendererCompositorFrameSink() override; |
68 | 68 |
69 // cc::CompositorFrameSink implementation. | 69 // cc::CompositorFrameSink implementation. |
70 bool BindToClient(cc::CompositorFrameSinkClient* client) override; | 70 bool BindToClient(cc::CompositorFrameSinkClient* client) override; |
71 void DetachFromClient() override; | 71 void DetachFromClient() override; |
72 void SubmitCompositorFrame(cc::CompositorFrame frame) override; | 72 void SubmitCompositorFrame(cc::CompositorFrame frame) override; |
| 73 void BeginFrameDidNotProduceFrame(const cc::BeginFrameAck& ack) override; |
73 | 74 |
74 private: | 75 private: |
75 class RendererCompositorFrameSinkProxy | 76 class RendererCompositorFrameSinkProxy |
76 : public base::RefCountedThreadSafe<RendererCompositorFrameSinkProxy> { | 77 : public base::RefCountedThreadSafe<RendererCompositorFrameSinkProxy> { |
77 public: | 78 public: |
78 explicit RendererCompositorFrameSinkProxy( | 79 explicit RendererCompositorFrameSinkProxy( |
79 RendererCompositorFrameSink* compositor_frame_sink) | 80 RendererCompositorFrameSink* compositor_frame_sink) |
80 : compositor_frame_sink_(compositor_frame_sink) {} | 81 : compositor_frame_sink_(compositor_frame_sink) {} |
81 void ClearCompositorFrameSink() { compositor_frame_sink_ = NULL; } | 82 void ClearCompositorFrameSink() { compositor_frame_sink_ = NULL; } |
82 void OnMessageReceived(const IPC::Message& message) { | 83 void OnMessageReceived(const IPC::Message& message) { |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 | 141 |
141 cc::mojom::MojoCompositorFrameSinkPtr sink_; | 142 cc::mojom::MojoCompositorFrameSinkPtr sink_; |
142 cc::mojom::MojoCompositorFrameSinkPtrInfo sink_ptr_info_; | 143 cc::mojom::MojoCompositorFrameSinkPtrInfo sink_ptr_info_; |
143 cc::mojom::MojoCompositorFrameSinkClientRequest sink_client_request_; | 144 cc::mojom::MojoCompositorFrameSinkClientRequest sink_client_request_; |
144 mojo::Binding<cc::mojom::MojoCompositorFrameSinkClient> sink_client_binding_; | 145 mojo::Binding<cc::mojom::MojoCompositorFrameSinkClient> sink_client_binding_; |
145 }; | 146 }; |
146 | 147 |
147 } // namespace content | 148 } // namespace content |
148 | 149 |
149 #endif // CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ | 150 #endif // CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ |
OLD | NEW |