OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_ANDROID_SYNCHRONOUS_COMPOSITOR_FRAME_SINK_H_ | 5 #ifndef CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FRAME_SINK_H_ |
6 #define CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FRAME_SINK_H_ | 6 #define CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FRAME_SINK_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 const gfx::Transform& transform_for_tile_priority); | 94 const gfx::Transform& transform_for_tile_priority); |
95 void DemandDrawSw(SkCanvas* canvas); | 95 void DemandDrawSw(SkCanvas* canvas); |
96 | 96 |
97 // CompositorFrameSinkSupportClient implementation. | 97 // CompositorFrameSinkSupportClient implementation. |
98 void DidReceiveCompositorFrameAck( | 98 void DidReceiveCompositorFrameAck( |
99 const cc::ReturnedResourceArray& resources) override; | 99 const cc::ReturnedResourceArray& resources) override; |
100 void OnBeginFrame(const cc::BeginFrameArgs& args) override; | 100 void OnBeginFrame(const cc::BeginFrameArgs& args) override; |
101 void ReclaimResources(const cc::ReturnedResourceArray& resources) override; | 101 void ReclaimResources(const cc::ReturnedResourceArray& resources) override; |
102 void WillDrawSurface(const cc::LocalSurfaceId& local_surface_id, | 102 void WillDrawSurface(const cc::LocalSurfaceId& local_surface_id, |
103 const gfx::Rect& damage_rect) override; | 103 const gfx::Rect& damage_rect) override; |
| 104 void DidRejectCompositorFrame() override; |
104 | 105 |
105 private: | 106 private: |
106 class SoftwareOutputSurface; | 107 class SoftwareOutputSurface; |
107 | 108 |
108 void InvokeComposite(const gfx::Transform& transform, | 109 void InvokeComposite(const gfx::Transform& transform, |
109 const gfx::Rect& viewport); | 110 const gfx::Rect& viewport); |
110 bool Send(IPC::Message* message); | 111 bool Send(IPC::Message* message); |
111 void DidActivatePendingTree(); | 112 void DidActivatePendingTree(); |
112 void DeliverMessages(); | 113 void DeliverMessages(); |
113 bool CalledOnValidThread() const; | 114 bool CalledOnValidThread() const; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 const cc::RenderPassList& render_passes) override {} | 149 const cc::RenderPassList& render_passes) override {} |
149 void DisplayDidDrawAndSwap() override {} | 150 void DisplayDidDrawAndSwap() override {} |
150 }; | 151 }; |
151 | 152 |
152 // TODO(danakj): These don't to be stored in unique_ptrs when OutputSurface | 153 // TODO(danakj): These don't to be stored in unique_ptrs when OutputSurface |
153 // is owned/destroyed on the compositor thread. | 154 // is owned/destroyed on the compositor thread. |
154 std::unique_ptr<cc::SurfaceManager> surface_manager_; | 155 std::unique_ptr<cc::SurfaceManager> surface_manager_; |
155 std::unique_ptr<cc::LocalSurfaceIdAllocator> local_surface_id_allocator_; | 156 std::unique_ptr<cc::LocalSurfaceIdAllocator> local_surface_id_allocator_; |
156 cc::LocalSurfaceId child_local_surface_id_; | 157 cc::LocalSurfaceId child_local_surface_id_; |
157 cc::LocalSurfaceId root_local_surface_id_; | 158 cc::LocalSurfaceId root_local_surface_id_; |
| 159 gfx::Size child_size_; |
| 160 gfx::Size display_size_; |
| 161 float device_scale_factor_; |
158 // Uses surface_manager_. | 162 // Uses surface_manager_. |
159 std::unique_ptr<cc::CompositorFrameSinkSupport> root_support_; | 163 std::unique_ptr<cc::CompositorFrameSinkSupport> root_support_; |
160 // Uses surface_manager_. | 164 // Uses surface_manager_. |
161 std::unique_ptr<cc::CompositorFrameSinkSupport> child_support_; | 165 std::unique_ptr<cc::CompositorFrameSinkSupport> child_support_; |
162 StubDisplayClient display_client_; | 166 StubDisplayClient display_client_; |
163 // Uses surface_manager_. | 167 // Uses surface_manager_. |
164 std::unique_ptr<cc::Display> display_; | 168 std::unique_ptr<cc::Display> display_; |
165 // Owned by |display_|. | 169 // Owned by |display_|. |
166 SoftwareOutputSurface* software_output_surface_ = nullptr; | 170 SoftwareOutputSurface* software_output_surface_ = nullptr; |
167 std::unique_ptr<cc::BeginFrameSource> begin_frame_source_; | 171 std::unique_ptr<cc::BeginFrameSource> begin_frame_source_; |
168 | 172 |
169 gfx::Rect sw_viewport_for_current_draw_; | 173 gfx::Rect sw_viewport_for_current_draw_; |
170 | 174 |
171 base::ThreadChecker thread_checker_; | 175 base::ThreadChecker thread_checker_; |
172 | 176 |
173 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorFrameSink); | 177 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorFrameSink); |
174 }; | 178 }; |
175 | 179 |
176 } // namespace content | 180 } // namespace content |
177 | 181 |
178 #endif // CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FRAME_SINK_H_ | 182 #endif // CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_FRAME_SINK_H_ |
OLD | NEW |