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 #include "content/browser/android/synchronous_compositor_host.h" | 5 #include "content/browser/android/synchronous_compositor_host.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 routing_id_, params, &common_renderer_params, | 112 routing_id_, params, &common_renderer_params, |
113 &frame.output_surface_id, frame.frame.get()))) { | 113 &frame.output_surface_id, frame.frame.get()))) { |
114 return SynchronousCompositor::Frame(); | 114 return SynchronousCompositor::Frame(); |
115 } | 115 } |
116 ProcessCommonParams(common_renderer_params); | 116 ProcessCommonParams(common_renderer_params); |
117 if (!frame.frame->delegated_frame_data) { | 117 if (!frame.frame->delegated_frame_data) { |
118 // This can happen if compositor did not swap in this draw. | 118 // This can happen if compositor did not swap in this draw. |
119 frame.frame.reset(); | 119 frame.frame.reset(); |
120 } | 120 } |
121 if (frame.frame) { | 121 if (frame.frame) { |
122 UpdateFrameMetaData(frame.frame->metadata); | 122 UpdateFrameMetaData(frame.frame->metadata.Clone()); |
123 } | 123 } |
124 return frame; | 124 return frame; |
125 } | 125 } |
126 | 126 |
127 void SynchronousCompositorHost::UpdateFrameMetaData( | 127 void SynchronousCompositorHost::UpdateFrameMetaData( |
128 const cc::CompositorFrameMetadata& frame_metadata) { | 128 cc::CompositorFrameMetadata frame_metadata) { |
129 rwhva_->SynchronousFrameMetadata(frame_metadata); | 129 rwhva_->SynchronousFrameMetadata(std::move(frame_metadata)); |
130 } | 130 } |
131 | 131 |
132 namespace { | 132 namespace { |
133 | 133 |
134 class ScopedSetSkCanvas { | 134 class ScopedSetSkCanvas { |
135 public: | 135 public: |
136 explicit ScopedSetSkCanvas(SkCanvas* canvas) { | 136 explicit ScopedSetSkCanvas(SkCanvas* canvas) { |
137 SynchronousCompositorSetSkCanvas(canvas); | 137 SynchronousCompositorSetSkCanvas(canvas); |
138 } | 138 } |
139 | 139 |
(...skipping 14 matching lines...) Expand all Loading... |
154 ScopedSetSkCanvas set_sk_canvas(canvas); | 154 ScopedSetSkCanvas set_sk_canvas(canvas); |
155 SyncCompositorDemandDrawSwParams params; // Unused. | 155 SyncCompositorDemandDrawSwParams params; // Unused. |
156 if (!sender_->Send(new SyncCompositorMsg_DemandDrawSw( | 156 if (!sender_->Send(new SyncCompositorMsg_DemandDrawSw( |
157 routing_id_, params, &success, &common_renderer_params, | 157 routing_id_, params, &success, &common_renderer_params, |
158 frame.get()))) { | 158 frame.get()))) { |
159 return false; | 159 return false; |
160 } | 160 } |
161 if (!success) | 161 if (!success) |
162 return false; | 162 return false; |
163 ProcessCommonParams(common_renderer_params); | 163 ProcessCommonParams(common_renderer_params); |
164 UpdateFrameMetaData(frame->metadata); | 164 UpdateFrameMetaData(std::move(frame->metadata)); |
165 return true; | 165 return true; |
166 } | 166 } |
167 | 167 |
168 class SynchronousCompositorHost::ScopedSendZeroMemory { | 168 class SynchronousCompositorHost::ScopedSendZeroMemory { |
169 public: | 169 public: |
170 ScopedSendZeroMemory(SynchronousCompositorHost* host) : host_(host) {} | 170 ScopedSendZeroMemory(SynchronousCompositorHost* host) : host_(host) {} |
171 ~ScopedSendZeroMemory() { host_->SendZeroMemory(); } | 171 ~ScopedSendZeroMemory() { host_->SendZeroMemory(); } |
172 | 172 |
173 private: | 173 private: |
174 SynchronousCompositorHost* const host_; | 174 SynchronousCompositorHost* const host_; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 if (!sender_->Send(new SyncCompositorMsg_DemandDrawSw( | 220 if (!sender_->Send(new SyncCompositorMsg_DemandDrawSw( |
221 routing_id_, params, &success, &common_renderer_params, | 221 routing_id_, params, &success, &common_renderer_params, |
222 frame.get()))) { | 222 frame.get()))) { |
223 return false; | 223 return false; |
224 } | 224 } |
225 ScopedSendZeroMemory send_zero_memory(this); | 225 ScopedSendZeroMemory send_zero_memory(this); |
226 if (!success) | 226 if (!success) |
227 return false; | 227 return false; |
228 | 228 |
229 ProcessCommonParams(common_renderer_params); | 229 ProcessCommonParams(common_renderer_params); |
230 UpdateFrameMetaData(frame->metadata); | 230 UpdateFrameMetaData(std::move(frame->metadata)); |
231 | 231 |
232 SkBitmap bitmap; | 232 SkBitmap bitmap; |
233 if (!bitmap.installPixels(info, software_draw_shm_->shm.memory(), stride)) | 233 if (!bitmap.installPixels(info, software_draw_shm_->shm.memory(), stride)) |
234 return false; | 234 return false; |
235 | 235 |
236 { | 236 { |
237 TRACE_EVENT0("browser", "DrawBitmap"); | 237 TRACE_EVENT0("browser", "DrawBitmap"); |
238 canvas->save(); | 238 canvas->save(); |
239 canvas->resetMatrix(); | 239 canvas->resetMatrix(); |
240 canvas->drawBitmap(bitmap, 0, 0); | 240 canvas->drawBitmap(bitmap, 0, 0); |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 if (params.page_scale_factor) { | 383 if (params.page_scale_factor) { |
384 client_->UpdateRootLayerState( | 384 client_->UpdateRootLayerState( |
385 this, gfx::ScrollOffsetToVector2dF(params.total_scroll_offset), | 385 this, gfx::ScrollOffsetToVector2dF(params.total_scroll_offset), |
386 gfx::ScrollOffsetToVector2dF(params.max_scroll_offset), | 386 gfx::ScrollOffsetToVector2dF(params.max_scroll_offset), |
387 params.scrollable_size, params.page_scale_factor, | 387 params.scrollable_size, params.page_scale_factor, |
388 params.min_page_scale_factor, params.max_page_scale_factor); | 388 params.min_page_scale_factor, params.max_page_scale_factor); |
389 } | 389 } |
390 } | 390 } |
391 | 391 |
392 } // namespace content | 392 } // namespace content |
OLD | NEW |