| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/render_widget_host_impl.h" | 5 #include "content/browser/renderer_host/render_widget_host_impl.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <tuple> | 10 #include <tuple> |
| (...skipping 1517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1528 | 1528 |
| 1529 bool RenderWidgetHostImpl::OnSwapCompositorFrame( | 1529 bool RenderWidgetHostImpl::OnSwapCompositorFrame( |
| 1530 const IPC::Message& message) { | 1530 const IPC::Message& message) { |
| 1531 // This trace event is used in | 1531 // This trace event is used in |
| 1532 // chrome/browser/extensions/api/cast_streaming/performance_test.cc | 1532 // chrome/browser/extensions/api/cast_streaming/performance_test.cc |
| 1533 TRACE_EVENT0("test_fps,benchmark", "OnSwapCompositorFrame"); | 1533 TRACE_EVENT0("test_fps,benchmark", "OnSwapCompositorFrame"); |
| 1534 | 1534 |
| 1535 ViewHostMsg_SwapCompositorFrame::Param param; | 1535 ViewHostMsg_SwapCompositorFrame::Param param; |
| 1536 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, ¶m)) | 1536 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, ¶m)) |
| 1537 return false; | 1537 return false; |
| 1538 std::unique_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame); | 1538 cc::CompositorFrame frame(std::move(std::get<1>(param))); |
| 1539 uint32_t output_surface_id = std::get<0>(param); | 1539 uint32_t output_surface_id = std::get<0>(param); |
| 1540 std::get<1>(param).AssignTo(frame.get()); | |
| 1541 std::vector<IPC::Message> messages_to_deliver_with_frame; | 1540 std::vector<IPC::Message> messages_to_deliver_with_frame; |
| 1542 messages_to_deliver_with_frame.swap(std::get<2>(param)); | 1541 messages_to_deliver_with_frame.swap(std::get<2>(param)); |
| 1543 | 1542 |
| 1544 if (!ui::LatencyInfo::Verify(frame->metadata.latency_info, | 1543 if (!ui::LatencyInfo::Verify(frame.metadata.latency_info, |
| 1545 "RenderWidgetHostImpl::OnSwapCompositorFrame")) { | 1544 "RenderWidgetHostImpl::OnSwapCompositorFrame")) { |
| 1546 std::vector<ui::LatencyInfo>().swap(frame->metadata.latency_info); | 1545 std::vector<ui::LatencyInfo>().swap(frame.metadata.latency_info); |
| 1547 } | 1546 } |
| 1548 | 1547 |
| 1549 latency_tracker_.OnSwapCompositorFrame(&frame->metadata.latency_info); | 1548 latency_tracker_.OnSwapCompositorFrame(&frame.metadata.latency_info); |
| 1550 | 1549 |
| 1551 bool is_mobile_optimized = IsMobileOptimizedFrame(frame->metadata); | 1550 bool is_mobile_optimized = IsMobileOptimizedFrame(frame.metadata); |
| 1552 input_router_->NotifySiteIsMobileOptimized(is_mobile_optimized); | 1551 input_router_->NotifySiteIsMobileOptimized(is_mobile_optimized); |
| 1553 if (touch_emulator_) | 1552 if (touch_emulator_) |
| 1554 touch_emulator_->SetDoubleTapSupportForPageEnabled(!is_mobile_optimized); | 1553 touch_emulator_->SetDoubleTapSupportForPageEnabled(!is_mobile_optimized); |
| 1555 | 1554 |
| 1556 if (view_) { | 1555 if (view_) { |
| 1557 view_->OnSwapCompositorFrame(output_surface_id, std::move(frame)); | 1556 view_->OnSwapCompositorFrame(output_surface_id, std::move(frame)); |
| 1558 view_->DidReceiveRendererFrame(); | 1557 view_->DidReceiveRendererFrame(); |
| 1559 } else { | 1558 } else { |
| 1560 cc::CompositorFrameAck ack; | 1559 cc::CompositorFrameAck ack; |
| 1561 if (frame->gl_frame_data) { | 1560 if (frame.gl_frame_data) { |
| 1562 ack.gl_frame_data = std::move(frame->gl_frame_data); | 1561 ack.gl_frame_data = std::move(frame.gl_frame_data); |
| 1563 ack.gl_frame_data->sync_token.Clear(); | 1562 ack.gl_frame_data->sync_token.Clear(); |
| 1564 } else if (frame->delegated_frame_data) { | 1563 } else if (frame.delegated_frame_data) { |
| 1565 cc::TransferableResource::ReturnResources( | 1564 cc::TransferableResource::ReturnResources( |
| 1566 frame->delegated_frame_data->resource_list, | 1565 frame.delegated_frame_data->resource_list, &ack.resources); |
| 1567 &ack.resources); | |
| 1568 } | 1566 } |
| 1569 SendSwapCompositorFrameAck(routing_id_, output_surface_id, | 1567 SendSwapCompositorFrameAck(routing_id_, output_surface_id, |
| 1570 process_->GetID(), ack); | 1568 process_->GetID(), ack); |
| 1571 } | 1569 } |
| 1572 | 1570 |
| 1573 RenderProcessHost* rph = GetProcess(); | 1571 RenderProcessHost* rph = GetProcess(); |
| 1574 for (std::vector<IPC::Message>::const_iterator i = | 1572 for (std::vector<IPC::Message>::const_iterator i = |
| 1575 messages_to_deliver_with_frame.begin(); | 1573 messages_to_deliver_with_frame.begin(); |
| 1576 i != messages_to_deliver_with_frame.end(); | 1574 i != messages_to_deliver_with_frame.end(); |
| 1577 ++i) { | 1575 ++i) { |
| (...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2146 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL; | 2144 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL; |
| 2147 } | 2145 } |
| 2148 | 2146 |
| 2149 BrowserAccessibilityManager* | 2147 BrowserAccessibilityManager* |
| 2150 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() { | 2148 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() { |
| 2151 return delegate_ ? | 2149 return delegate_ ? |
| 2152 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL; | 2150 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL; |
| 2153 } | 2151 } |
| 2154 | 2152 |
| 2155 } // namespace content | 2153 } // namespace content |
| OLD | NEW |