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/frame_host/render_widget_host_view_child_frame.h" | 5 #include "content/browser/frame_host/render_widget_host_view_child_frame.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 if (!frame_connector_) | 342 if (!frame_connector_) |
343 return; | 343 return; |
344 if ((event.GetType() == blink::WebInputEvent::kGestureScrollUpdate && | 344 if ((event.GetType() == blink::WebInputEvent::kGestureScrollUpdate && |
345 not_consumed) || | 345 not_consumed) || |
346 event.GetType() == blink::WebInputEvent::kGestureScrollEnd) | 346 event.GetType() == blink::WebInputEvent::kGestureScrollEnd) |
347 frame_connector_->BubbleScrollEvent(event); | 347 frame_connector_->BubbleScrollEvent(event); |
348 } | 348 } |
349 | 349 |
350 void RenderWidgetHostViewChildFrame::DidReceiveCompositorFrameAck( | 350 void RenderWidgetHostViewChildFrame::DidReceiveCompositorFrameAck( |
351 const cc::ReturnedResourceArray& resources) { | 351 const cc::ReturnedResourceArray& resources) { |
352 renderer_compositor_frame_sink_->DidReceiveCompositorFrameAck(resources); | 352 if (!host_) |
| 353 return; |
| 354 host_->SendReclaimCompositorResources(true /* is_swap_ack */, resources); |
353 } | 355 } |
354 | 356 |
355 void RenderWidgetHostViewChildFrame::DidCreateNewRendererCompositorFrameSink( | 357 void RenderWidgetHostViewChildFrame::DidCreateNewRendererCompositorFrameSink() { |
356 cc::mojom::MojoCompositorFrameSinkClient* renderer_compositor_frame_sink) { | |
357 ResetCompositorFrameSinkSupport(); | 358 ResetCompositorFrameSinkSupport(); |
358 renderer_compositor_frame_sink_ = renderer_compositor_frame_sink; | |
359 CreateCompositorFrameSinkSupport(); | 359 CreateCompositorFrameSinkSupport(); |
360 has_frame_ = false; | 360 has_frame_ = false; |
361 } | 361 } |
362 | 362 |
363 void RenderWidgetHostViewChildFrame::ProcessCompositorFrame( | 363 void RenderWidgetHostViewChildFrame::ProcessCompositorFrame( |
364 const cc::LocalSurfaceId& local_surface_id, | 364 const cc::LocalSurfaceId& local_surface_id, |
365 cc::CompositorFrame frame) { | 365 cc::CompositorFrame frame) { |
366 current_surface_size_ = frame.render_pass_list.back()->output_rect.size(); | 366 current_surface_size_ = frame.render_pass_list.back()->output_rect.size(); |
367 current_surface_scale_factor_ = frame.metadata.device_scale_factor; | 367 current_surface_scale_factor_ = frame.metadata.device_scale_factor; |
368 | 368 |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 support_->RequestCopyOfSurface(std::move(request)); | 621 support_->RequestCopyOfSurface(std::move(request)); |
622 } | 622 } |
623 | 623 |
624 bool RenderWidgetHostViewChildFrame::HasAcceleratedSurface( | 624 bool RenderWidgetHostViewChildFrame::HasAcceleratedSurface( |
625 const gfx::Size& desired_size) { | 625 const gfx::Size& desired_size) { |
626 return false; | 626 return false; |
627 } | 627 } |
628 | 628 |
629 void RenderWidgetHostViewChildFrame::ReclaimResources( | 629 void RenderWidgetHostViewChildFrame::ReclaimResources( |
630 const cc::ReturnedResourceArray& resources) { | 630 const cc::ReturnedResourceArray& resources) { |
631 renderer_compositor_frame_sink_->ReclaimResources(resources); | 631 if (!host_) |
| 632 return; |
| 633 host_->SendReclaimCompositorResources(false /* is_swap_ack */, resources); |
632 } | 634 } |
633 | 635 |
634 void RenderWidgetHostViewChildFrame::OnBeginFrame( | 636 void RenderWidgetHostViewChildFrame::OnBeginFrame( |
635 const cc::BeginFrameArgs& args) { | 637 const cc::BeginFrameArgs& args) { |
636 host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args)); | 638 host_->Send(new ViewMsg_BeginFrame(host_->GetRoutingID(), args)); |
637 } | 639 } |
638 | 640 |
639 void RenderWidgetHostViewChildFrame::SetNeedsBeginFrames( | 641 void RenderWidgetHostViewChildFrame::SetNeedsBeginFrames( |
640 bool needs_begin_frames) { | 642 bool needs_begin_frames) { |
641 if (support_) | 643 if (support_) |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
713 frame_sink_id_); | 715 frame_sink_id_); |
714 } | 716 } |
715 support_.reset(); | 717 support_.reset(); |
716 } | 718 } |
717 | 719 |
718 bool RenderWidgetHostViewChildFrame::HasEmbedderChanged() { | 720 bool RenderWidgetHostViewChildFrame::HasEmbedderChanged() { |
719 return false; | 721 return false; |
720 } | 722 } |
721 | 723 |
722 } // namespace content | 724 } // namespace content |
OLD | NEW |