Commit e10d9a58 authored by Fady Samuel's avatar Fady Samuel Committed by Commit Bot

Pass LocalSurfaceId by const ref

RenderWidgetHostViewBase::GetLocalSurfaceId passed the viz::LocalSurfaceId
by value.

LocalSurfaceId is large and so copying it around is expensive.
This CL returns a const ref of LocalSurfaceId instead to reduce copying.

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: Ic775202ef5572676e056bd41419edbaefb7e44da

Bug: 672962
Change-Id: Ic775202ef5572676e056bd41419edbaefb7e44da
Reviewed-on: https://chromium-review.googlesource.com/1141990Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576281}
parent 46607313
...@@ -77,4 +77,9 @@ const LocalSurfaceId& ParentLocalSurfaceIdAllocator::GetCurrentLocalSurfaceId() ...@@ -77,4 +77,9 @@ const LocalSurfaceId& ParentLocalSurfaceIdAllocator::GetCurrentLocalSurfaceId()
return current_local_surface_id_; return current_local_surface_id_;
} }
// static
const LocalSurfaceId& ParentLocalSurfaceIdAllocator::InvalidLocalSurfaceId() {
return g_invalid_local_surface_id;
}
} // namespace viz } // namespace viz
...@@ -46,6 +46,8 @@ class VIZ_COMMON_EXPORT ParentLocalSurfaceIdAllocator { ...@@ -46,6 +46,8 @@ class VIZ_COMMON_EXPORT ParentLocalSurfaceIdAllocator {
const LocalSurfaceId& GetCurrentLocalSurfaceId() const; const LocalSurfaceId& GetCurrentLocalSurfaceId() const;
static const LocalSurfaceId& InvalidLocalSurfaceId();
bool is_allocation_suppressed() const { return is_allocation_suppressed_; } bool is_allocation_suppressed() const { return is_allocation_suppressed_; }
private: private:
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "base/command_line.h" #include "base/command_line.h"
#include "base/logging.h" #include "base/logging.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "components/viz/common/surfaces/parent_local_surface_id_allocator.h"
#include "components/viz/service/frame_sinks/frame_sink_manager_impl.h" #include "components/viz/service/frame_sinks/frame_sink_manager_impl.h"
#include "components/viz/service/surfaces/surface.h" #include "components/viz/service/surfaces/surface.h"
#include "components/viz/service/surfaces/surface_hittest.h" #include "components/viz/service/surfaces/surface_hittest.h"
...@@ -565,10 +566,11 @@ viz::FrameSinkId RenderWidgetHostViewGuest::GetRootFrameSinkId() { ...@@ -565,10 +566,11 @@ viz::FrameSinkId RenderWidgetHostViewGuest::GetRootFrameSinkId() {
return viz::FrameSinkId(); return viz::FrameSinkId();
} }
viz::LocalSurfaceId RenderWidgetHostViewGuest::GetLocalSurfaceId() const { const viz::LocalSurfaceId& RenderWidgetHostViewGuest::GetLocalSurfaceId()
const {
if (guest_) if (guest_)
return guest_->local_surface_id(); return guest_->local_surface_id();
return viz::LocalSurfaceId(); return viz::ParentLocalSurfaceIdAllocator::InvalidLocalSurfaceId();
} }
void RenderWidgetHostViewGuest::DidCreateNewRendererCompositorFrameSink( void RenderWidgetHostViewGuest::DidCreateNewRendererCompositorFrameSink(
......
...@@ -126,7 +126,7 @@ class CONTENT_EXPORT RenderWidgetHostViewGuest ...@@ -126,7 +126,7 @@ class CONTENT_EXPORT RenderWidgetHostViewGuest
bool LockMouse() override; bool LockMouse() override;
void UnlockMouse() override; void UnlockMouse() override;
viz::FrameSinkId GetRootFrameSinkId() override; viz::FrameSinkId GetRootFrameSinkId() override;
viz::LocalSurfaceId GetLocalSurfaceId() const override; const viz::LocalSurfaceId& GetLocalSurfaceId() const override;
void DidCreateNewRendererCompositorFrameSink( void DidCreateNewRendererCompositorFrameSink(
viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink) viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink)
override; override;
......
...@@ -408,7 +408,7 @@ class TestView : public TestRenderWidgetHostView { ...@@ -408,7 +408,7 @@ class TestView : public TestRenderWidgetHostView {
float GetBottomControlsHeight() const override { float GetBottomControlsHeight() const override {
return bottom_controls_height_; return bottom_controls_height_;
} }
viz::LocalSurfaceId GetLocalSurfaceId() const override { const viz::LocalSurfaceId& GetLocalSurfaceId() const override {
return local_surface_id_allocator_.GetCurrentLocalSurfaceId(); return local_surface_id_allocator_.GetCurrentLocalSurfaceId();
} }
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "components/viz/common/features.h" #include "components/viz/common/features.h"
#include "components/viz/common/quads/compositor_frame.h" #include "components/viz/common/quads/compositor_frame.h"
#include "components/viz/common/surfaces/frame_sink_id_allocator.h" #include "components/viz/common/surfaces/frame_sink_id_allocator.h"
#include "components/viz/common/surfaces/parent_local_surface_id_allocator.h"
#include "components/viz/service/frame_sinks/frame_sink_manager_impl.h" #include "components/viz/service/frame_sinks/frame_sink_manager_impl.h"
#include "components/viz/service/surfaces/surface.h" #include "components/viz/service/surfaces/surface.h"
#include "components/viz/service/surfaces/surface_hittest.h" #include "components/viz/service/surfaces/surface_hittest.h"
...@@ -2020,9 +2021,10 @@ RenderWidgetHostViewAndroid::GetTouchSelectionControllerClientManager() { ...@@ -2020,9 +2021,10 @@ RenderWidgetHostViewAndroid::GetTouchSelectionControllerClientManager() {
return touch_selection_controller_client_manager_.get(); return touch_selection_controller_client_manager_.get();
} }
viz::LocalSurfaceId RenderWidgetHostViewAndroid::GetLocalSurfaceId() const { const viz::LocalSurfaceId& RenderWidgetHostViewAndroid::GetLocalSurfaceId()
const {
if (!delegated_frame_host_) if (!delegated_frame_host_)
return viz::LocalSurfaceId(); return viz::ParentLocalSurfaceIdAllocator::InvalidLocalSurfaceId();
return local_surface_id_allocator_.GetCurrentLocalSurfaceId(); return local_surface_id_allocator_.GetCurrentLocalSurfaceId();
} }
......
...@@ -183,7 +183,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid ...@@ -183,7 +183,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid
viz::EventSource source = viz::EventSource::ANY) override; viz::EventSource source = viz::EventSource::ANY) override;
TouchSelectionControllerClientManager* TouchSelectionControllerClientManager*
GetTouchSelectionControllerClientManager() override; GetTouchSelectionControllerClientManager() override;
viz::LocalSurfaceId GetLocalSurfaceId() const override; const viz::LocalSurfaceId& GetLocalSurfaceId() const override;
void OnRenderWidgetInit() override; void OnRenderWidgetInit() override;
void TakeFallbackContentFrom(RenderWidgetHostView* view) override; void TakeFallbackContentFrom(RenderWidgetHostView* view) override;
void OnSynchronizedDisplayPropertiesChanged() override; void OnSynchronizedDisplayPropertiesChanged() override;
......
...@@ -2321,7 +2321,7 @@ const viz::FrameSinkId& RenderWidgetHostViewAura::GetFrameSinkId() const { ...@@ -2321,7 +2321,7 @@ const viz::FrameSinkId& RenderWidgetHostViewAura::GetFrameSinkId() const {
return frame_sink_id_; return frame_sink_id_;
} }
viz::LocalSurfaceId RenderWidgetHostViewAura::GetLocalSurfaceId() const { const viz::LocalSurfaceId& RenderWidgetHostViewAura::GetLocalSurfaceId() const {
return window_->GetLocalSurfaceId(); return window_->GetLocalSurfaceId();
} }
......
...@@ -182,7 +182,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ...@@ -182,7 +182,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
void DidStopFlinging() override; void DidStopFlinging() override;
void OnDidNavigateMainFrameToNewPage() override; void OnDidNavigateMainFrameToNewPage() override;
const viz::FrameSinkId& GetFrameSinkId() const override; const viz::FrameSinkId& GetFrameSinkId() const override;
viz::LocalSurfaceId GetLocalSurfaceId() const override; const viz::LocalSurfaceId& GetLocalSurfaceId() const override;
bool TransformPointToLocalCoordSpaceLegacy( bool TransformPointToLocalCoordSpaceLegacy(
const gfx::PointF& point, const gfx::PointF& point,
const viz::SurfaceId& original_surface, const viz::SurfaceId& original_surface,
......
...@@ -515,10 +515,6 @@ void RenderWidgetHostViewBase::OnFrameTokenChangedForView( ...@@ -515,10 +515,6 @@ void RenderWidgetHostViewBase::OnFrameTokenChangedForView(
host()->DidProcessFrame(frame_token); host()->DidProcessFrame(frame_token);
} }
viz::LocalSurfaceId RenderWidgetHostViewBase::GetLocalSurfaceId() const {
return viz::LocalSurfaceId();
}
viz::FrameSinkId RenderWidgetHostViewBase::FrameSinkIdAtPoint( viz::FrameSinkId RenderWidgetHostViewBase::FrameSinkIdAtPoint(
viz::SurfaceHittestDelegate* delegate, viz::SurfaceHittestDelegate* delegate,
const gfx::PointF& point, const gfx::PointF& point,
......
...@@ -317,7 +317,7 @@ class CONTENT_EXPORT RenderWidgetHostViewBase ...@@ -317,7 +317,7 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
// Returns the LocalSurfaceId allocated by the parent client for this view. // Returns the LocalSurfaceId allocated by the parent client for this view.
// TODO(fsamuel): Return by const ref. // TODO(fsamuel): Return by const ref.
virtual viz::LocalSurfaceId GetLocalSurfaceId() const; virtual const viz::LocalSurfaceId& GetLocalSurfaceId() const = 0;
// When there are multiple RenderWidgetHostViews for a single page, input // When there are multiple RenderWidgetHostViews for a single page, input
// events need to be targeted to the correct one for handling. The following // events need to be targeted to the correct one for handling. The following
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "components/viz/common/features.h" #include "components/viz/common/features.h"
#include "components/viz/common/frame_sinks/copy_output_request.h" #include "components/viz/common/frame_sinks/copy_output_request.h"
#include "components/viz/common/frame_sinks/copy_output_result.h" #include "components/viz/common/frame_sinks/copy_output_result.h"
#include "components/viz/common/surfaces/parent_local_surface_id_allocator.h"
#include "components/viz/host/host_frame_sink_manager.h" #include "components/viz/host/host_frame_sink_manager.h"
#include "components/viz/service/frame_sinks/compositor_frame_sink_support.h" #include "components/viz/service/frame_sinks/compositor_frame_sink_support.h"
#include "components/viz/service/surfaces/surface.h" #include "components/viz/service/surfaces/surface.h"
...@@ -696,10 +697,11 @@ const viz::FrameSinkId& RenderWidgetHostViewChildFrame::GetFrameSinkId() const { ...@@ -696,10 +697,11 @@ const viz::FrameSinkId& RenderWidgetHostViewChildFrame::GetFrameSinkId() const {
return frame_sink_id_; return frame_sink_id_;
} }
viz::LocalSurfaceId RenderWidgetHostViewChildFrame::GetLocalSurfaceId() const { const viz::LocalSurfaceId& RenderWidgetHostViewChildFrame::GetLocalSurfaceId()
const {
if (frame_connector_) if (frame_connector_)
return frame_connector_->local_surface_id(); return frame_connector_->local_surface_id();
return viz::LocalSurfaceId(); return viz::ParentLocalSurfaceIdAllocator::InvalidLocalSurfaceId();
} }
void RenderWidgetHostViewChildFrame::PreProcessTouchEvent( void RenderWidgetHostViewChildFrame::PreProcessTouchEvent(
......
...@@ -144,7 +144,7 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame ...@@ -144,7 +144,7 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame
bool LockMouse() override; bool LockMouse() override;
void UnlockMouse() override; void UnlockMouse() override;
const viz::FrameSinkId& GetFrameSinkId() const override; const viz::FrameSinkId& GetFrameSinkId() const override;
viz::LocalSurfaceId GetLocalSurfaceId() const override; const viz::LocalSurfaceId& GetLocalSurfaceId() const override;
void PreProcessTouchEvent(const blink::WebTouchEvent& event) override; void PreProcessTouchEvent(const blink::WebTouchEvent& event) override;
viz::FrameSinkId GetRootFrameSinkId() override; viz::FrameSinkId GetRootFrameSinkId() override;
viz::SurfaceId GetCurrentSurfaceId() const override; viz::SurfaceId GetCurrentSurfaceId() const override;
......
...@@ -180,7 +180,7 @@ class CONTENT_EXPORT RenderWidgetHostViewMac ...@@ -180,7 +180,7 @@ class CONTENT_EXPORT RenderWidgetHostViewMac
override; override;
const viz::FrameSinkId& GetFrameSinkId() const override; const viz::FrameSinkId& GetFrameSinkId() const override;
viz::LocalSurfaceId GetLocalSurfaceId() const override; const viz::LocalSurfaceId& GetLocalSurfaceId() const override;
// Returns true when we can do SurfaceHitTesting for the event type. // Returns true when we can do SurfaceHitTesting for the event type.
bool ShouldRouteEvent(const blink::WebInputEvent& event) const; bool ShouldRouteEvent(const blink::WebInputEvent& event) const;
// This method checks |event| to see if a GesturePinch event can be routed // This method checks |event| to see if a GesturePinch event can be routed
......
...@@ -1122,7 +1122,7 @@ RenderWidgetHostViewMac::CreateSyntheticGestureTarget() { ...@@ -1122,7 +1122,7 @@ RenderWidgetHostViewMac::CreateSyntheticGestureTarget() {
new SyntheticGestureTargetMac(host, cocoa_view())); new SyntheticGestureTargetMac(host, cocoa_view()));
} }
viz::LocalSurfaceId RenderWidgetHostViewMac::GetLocalSurfaceId() const { const viz::LocalSurfaceId& RenderWidgetHostViewMac::GetLocalSurfaceId() const {
return browser_compositor_->GetRendererLocalSurfaceId(); return browser_compositor_->GetRendererLocalSurfaceId();
} }
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "components/viz/common/surfaces/parent_local_surface_id_allocator.h"
#include "components/viz/host/host_frame_sink_manager.h" #include "components/viz/host/host_frame_sink_manager.h"
#include "content/browser/compositor/image_transport_factory.h" #include "content/browser/compositor/image_transport_factory.h"
#include "content/browser/compositor/surface_utils.h" #include "content/browser/compositor/surface_utils.h"
...@@ -197,6 +198,10 @@ const viz::FrameSinkId& TestRenderWidgetHostView::GetFrameSinkId() const { ...@@ -197,6 +198,10 @@ const viz::FrameSinkId& TestRenderWidgetHostView::GetFrameSinkId() const {
return frame_sink_id_; return frame_sink_id_;
} }
const viz::LocalSurfaceId& TestRenderWidgetHostView::GetLocalSurfaceId() const {
return viz::ParentLocalSurfaceIdAllocator::InvalidLocalSurfaceId();
}
viz::SurfaceId TestRenderWidgetHostView::GetCurrentSurfaceId() const { viz::SurfaceId TestRenderWidgetHostView::GetCurrentSurfaceId() const {
return viz::SurfaceId(); return viz::SurfaceId();
} }
......
...@@ -115,6 +115,7 @@ class TestRenderWidgetHostView : public RenderWidgetHostViewBase, ...@@ -115,6 +115,7 @@ class TestRenderWidgetHostView : public RenderWidgetHostViewBase,
bool LockMouse() override; bool LockMouse() override;
void UnlockMouse() override; void UnlockMouse() override;
const viz::FrameSinkId& GetFrameSinkId() const override; const viz::FrameSinkId& GetFrameSinkId() const override;
const viz::LocalSurfaceId& GetLocalSurfaceId() const override;
viz::SurfaceId GetCurrentSurfaceId() const override; viz::SurfaceId GetCurrentSurfaceId() const override;
bool is_showing() const { return is_showing_; } bool is_showing() const { return is_showing_; }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment