| 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 |