Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Side by Side Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 2144733005: [WIP] cc: Plumb SurfaceId from clients Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ensure only SurfaceFactoy and tests can update hierarchy Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1546 matching lines...) Expand 10 before | Expand all | Expand 10 after
1557 1557
1558 bool RenderWidgetHostImpl::OnSwapCompositorFrame( 1558 bool RenderWidgetHostImpl::OnSwapCompositorFrame(
1559 const IPC::Message& message) { 1559 const IPC::Message& message) {
1560 // This trace event is used in 1560 // This trace event is used in
1561 // chrome/browser/extensions/api/cast_streaming/performance_test.cc 1561 // chrome/browser/extensions/api/cast_streaming/performance_test.cc
1562 TRACE_EVENT0("test_fps,benchmark", "OnSwapCompositorFrame"); 1562 TRACE_EVENT0("test_fps,benchmark", "OnSwapCompositorFrame");
1563 1563
1564 ViewHostMsg_SwapCompositorFrame::Param param; 1564 ViewHostMsg_SwapCompositorFrame::Param param;
1565 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, &param)) 1565 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, &param))
1566 return false; 1566 return false;
1567 cc::CompositorFrame frame(std::move(std::get<1>(param)));
1568 uint32_t output_surface_id = std::get<0>(param); 1567 uint32_t output_surface_id = std::get<0>(param);
1568 cc::SurfaceId surface_id = std::get<1>(param);
1569 cc::CompositorFrame frame(std::move(std::get<2>(param)));
1569 std::vector<IPC::Message> messages_to_deliver_with_frame; 1570 std::vector<IPC::Message> messages_to_deliver_with_frame;
1570 messages_to_deliver_with_frame.swap(std::get<2>(param)); 1571 messages_to_deliver_with_frame.swap(std::get<3>(param));
1571 1572
1572 if (!ui::LatencyInfo::Verify(frame.metadata.latency_info, 1573 if (!ui::LatencyInfo::Verify(frame.metadata.latency_info,
1573 "RenderWidgetHostImpl::OnSwapCompositorFrame")) { 1574 "RenderWidgetHostImpl::OnSwapCompositorFrame")) {
1574 std::vector<ui::LatencyInfo>().swap(frame.metadata.latency_info); 1575 std::vector<ui::LatencyInfo>().swap(frame.metadata.latency_info);
1575 } 1576 }
1576 1577
1577 latency_tracker_.OnSwapCompositorFrame(&frame.metadata.latency_info); 1578 latency_tracker_.OnSwapCompositorFrame(&frame.metadata.latency_info);
1578 1579
1579 bool is_mobile_optimized = IsMobileOptimizedFrame(frame.metadata); 1580 bool is_mobile_optimized = IsMobileOptimizedFrame(frame.metadata);
1580 input_router_->NotifySiteIsMobileOptimized(is_mobile_optimized); 1581 input_router_->NotifySiteIsMobileOptimized(is_mobile_optimized);
1581 if (touch_emulator_) 1582 if (touch_emulator_)
1582 touch_emulator_->SetDoubleTapSupportForPageEnabled(!is_mobile_optimized); 1583 touch_emulator_->SetDoubleTapSupportForPageEnabled(!is_mobile_optimized);
1583 1584
1584 if (view_) { 1585 if (view_) {
1585 view_->OnSwapCompositorFrame(output_surface_id, std::move(frame)); 1586 view_->OnSwapCompositorFrame(output_surface_id, surface_id,
1587 std::move(frame));
1586 view_->DidReceiveRendererFrame(); 1588 view_->DidReceiveRendererFrame();
1587 } else { 1589 } else {
1588 cc::ReturnedResourceArray resources; 1590 cc::ReturnedResourceArray resources;
1589 if (frame.delegated_frame_data) { 1591 if (frame.delegated_frame_data) {
1590 cc::TransferableResource::ReturnResources( 1592 cc::TransferableResource::ReturnResources(
1591 frame.delegated_frame_data->resource_list, &resources); 1593 frame.delegated_frame_data->resource_list, &resources);
1592 } 1594 }
1593 SendReclaimCompositorResources(routing_id_, output_surface_id, 1595 SendReclaimCompositorResources(routing_id_, output_surface_id,
1594 process_->GetID(), true /* is_swap_ack */, 1596 process_->GetID(), true /* is_swap_ack */,
1595 resources); 1597 resources);
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
2166 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL; 2168 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL;
2167 } 2169 }
2168 2170
2169 BrowserAccessibilityManager* 2171 BrowserAccessibilityManager*
2170 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() { 2172 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() {
2171 return delegate_ ? 2173 return delegate_ ?
2172 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL; 2174 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL;
2173 } 2175 }
2174 2176
2175 } // namespace content 2177 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698