| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/renderer_host/browser_compositor_view_mac.h" | 5 #include "content/browser/renderer_host/browser_compositor_view_mac.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 outstanding_copy_count_ += 1; | 261 outstanding_copy_count_ += 1; |
| 262 | 262 |
| 263 auto callback_with_decrement = | 263 auto callback_with_decrement = |
| 264 base::Bind(&BrowserCompositorMac::CopyToVideoFrameCompleted, | 264 base::Bind(&BrowserCompositorMac::CopyToVideoFrameCompleted, |
| 265 weak_factory_.GetWeakPtr(), callback); | 265 weak_factory_.GetWeakPtr(), callback); |
| 266 | 266 |
| 267 delegated_frame_host_->CopyFromCompositingSurfaceToVideoFrame( | 267 delegated_frame_host_->CopyFromCompositingSurfaceToVideoFrame( |
| 268 src_subrect, std::move(target), callback_with_decrement); | 268 src_subrect, std::move(target), callback_with_decrement); |
| 269 } | 269 } |
| 270 | 270 |
| 271 void BrowserCompositorMac::SwapCompositorFrame( | 271 void BrowserCompositorMac::DidCreateNewRendererCompositorFrameSink() { |
| 272 uint32_t compositor_frame_sink_id, | 272 delegated_frame_host_->DidCreateNewRendererCompositorFrameSink(); |
| 273 } |
| 274 |
| 275 void BrowserCompositorMac::SubmitCompositorFrame( |
| 273 const cc::LocalSurfaceId& local_surface_id, | 276 const cc::LocalSurfaceId& local_surface_id, |
| 274 cc::CompositorFrame frame) { | 277 cc::CompositorFrame frame) { |
| 275 // Compute the frame size based on the root render pass rect size. | 278 // Compute the frame size based on the root render pass rect size. |
| 276 cc::RenderPass* root_pass = frame.render_pass_list.back().get(); | 279 cc::RenderPass* root_pass = frame.render_pass_list.back().get(); |
| 277 float scale_factor = frame.metadata.device_scale_factor; | 280 float scale_factor = frame.metadata.device_scale_factor; |
| 278 gfx::Size pixel_size = root_pass->output_rect.size(); | 281 gfx::Size pixel_size = root_pass->output_rect.size(); |
| 279 gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size); | 282 gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size); |
| 280 root_layer_->SetBounds(gfx::Rect(dip_size)); | 283 root_layer_->SetBounds(gfx::Rect(dip_size)); |
| 281 if (recyclable_compositor_) { | 284 if (recyclable_compositor_) { |
| 282 recyclable_compositor_->compositor()->SetScaleAndSize(scale_factor, | 285 recyclable_compositor_->compositor()->SetScaleAndSize(scale_factor, |
| 283 pixel_size); | 286 pixel_size); |
| 284 } | 287 } |
| 285 delegated_frame_host_->SwapDelegatedFrame(compositor_frame_sink_id, | 288 delegated_frame_host_->SubmitCompositorFrame(local_surface_id, |
| 286 local_surface_id, std::move(frame)); | 289 std::move(frame)); |
| 287 } | 290 } |
| 288 | 291 |
| 289 void BrowserCompositorMac::OnBeginFrameDidNotSwap( | 292 void BrowserCompositorMac::OnBeginFrameDidNotSwap( |
| 290 const cc::BeginFrameAck& ack) { | 293 const cc::BeginFrameAck& ack) { |
| 291 delegated_frame_host_->BeginFrameDidNotSwap(ack); | 294 delegated_frame_host_->BeginFrameDidNotSwap(ack); |
| 292 } | 295 } |
| 293 | 296 |
| 294 void BrowserCompositorMac::SetHasTransparentBackground(bool transparent) { | 297 void BrowserCompositorMac::SetHasTransparentBackground(bool transparent) { |
| 295 has_transparent_background_ = transparent; | 298 has_transparent_background_ = transparent; |
| 296 if (recyclable_compositor_) { | 299 if (recyclable_compositor_) { |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 bool defer_compositor_lock) { | 431 bool defer_compositor_lock) { |
| 429 NOTREACHED(); | 432 NOTREACHED(); |
| 430 return std::unique_ptr<ResizeLock>(); | 433 return std::unique_ptr<ResizeLock>(); |
| 431 } | 434 } |
| 432 | 435 |
| 433 void BrowserCompositorMac::DelegatedFrameHostResizeLockWasReleased() { | 436 void BrowserCompositorMac::DelegatedFrameHostResizeLockWasReleased() { |
| 434 NOTREACHED(); | 437 NOTREACHED(); |
| 435 } | 438 } |
| 436 | 439 |
| 437 void BrowserCompositorMac::DelegatedFrameHostSendReclaimCompositorResources( | 440 void BrowserCompositorMac::DelegatedFrameHostSendReclaimCompositorResources( |
| 438 int compositor_frame_sink_id, | |
| 439 bool is_swap_ack, | 441 bool is_swap_ack, |
| 440 const cc::ReturnedResourceArray& resources) { | 442 const cc::ReturnedResourceArray& resources) { |
| 441 client_->BrowserCompositorMacSendReclaimCompositorResources( | 443 client_->BrowserCompositorMacSendReclaimCompositorResources(is_swap_ack, |
| 442 compositor_frame_sink_id, is_swap_ack, resources); | 444 resources); |
| 443 } | 445 } |
| 444 | 446 |
| 445 void BrowserCompositorMac::OnBeginFrame(const cc::BeginFrameArgs& args) { | 447 void BrowserCompositorMac::OnBeginFrame(const cc::BeginFrameArgs& args) { |
| 446 client_->BrowserCompositorMacSendBeginFrame(args); | 448 client_->BrowserCompositorMacSendBeginFrame(args); |
| 447 } | 449 } |
| 448 | 450 |
| 449 bool BrowserCompositorMac::IsAutoResizeEnabled() const { | 451 bool BrowserCompositorMac::IsAutoResizeEnabled() const { |
| 450 NOTREACHED(); | 452 NOTREACHED(); |
| 451 return false; | 453 return false; |
| 452 } | 454 } |
| 453 | 455 |
| 454 } // namespace content | 456 } // namespace content |
| OLD | NEW |