Commit 0c2f5b89 authored by Fady Samuel's avatar Fady Samuel Committed by Commit Bot

Pass FrameSinkId by const ref

RenderWidgetHostViewBase::GetFrameSinkId passed the viz::FrameSinkId
by value and was not a const method.

This CL returns a const ref of FrameSinkId and makes GetFrameSinkId a
const method so it can be accessed even if the caller has a const
pointer or reference to the RenderWidgetHostViewBase object.

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I5142a75f21a1c0396ba868bf66699a2fb85a2c33
Bug: 672962
Reviewed-on: https://chromium-review.googlesource.com/1141985
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: default avatarKhushal <khushalsagar@chromium.org>
Reviewed-by: default avatarAntoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576275}
parent fc1434b2
...@@ -127,6 +127,7 @@ viz_component("common") { ...@@ -127,6 +127,7 @@ viz_component("common") {
"surfaces/child_local_surface_id_allocator.h", "surfaces/child_local_surface_id_allocator.h",
"surfaces/frame_sink_id.cc", "surfaces/frame_sink_id.cc",
"surfaces/frame_sink_id.h", "surfaces/frame_sink_id.h",
"surfaces/frame_sink_id_allocator.cc",
"surfaces/frame_sink_id_allocator.h", "surfaces/frame_sink_id_allocator.h",
"surfaces/local_surface_id.cc", "surfaces/local_surface_id.cc",
"surfaces/local_surface_id.h", "surfaces/local_surface_id.h",
......
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/viz/common/surfaces/frame_sink_id_allocator.h"
namespace viz {
constexpr FrameSinkId g_invalid_frame_sink_id;
// static
const FrameSinkId& FrameSinkIdAllocator::InvalidFrameSinkId() {
return g_invalid_frame_sink_id;
}
} // namespace viz
...@@ -7,11 +7,13 @@ ...@@ -7,11 +7,13 @@
#include "components/viz/common/surfaces/frame_sink_id.h" #include "components/viz/common/surfaces/frame_sink_id.h"
#include "components/viz/common/viz_common_export.h"
namespace viz { namespace viz {
// This class generates FrameSinkId with a fixed client_id and an // This class generates FrameSinkId with a fixed client_id and an
// incrementally-increasing sink_id. // incrementally-increasing sink_id.
class FrameSinkIdAllocator { class VIZ_COMMON_EXPORT FrameSinkIdAllocator {
public: public:
constexpr explicit FrameSinkIdAllocator(uint32_t client_id) constexpr explicit FrameSinkIdAllocator(uint32_t client_id)
: client_id_(client_id), next_sink_id_(1u) {} : client_id_(client_id), next_sink_id_(1u) {}
...@@ -20,6 +22,8 @@ class FrameSinkIdAllocator { ...@@ -20,6 +22,8 @@ class FrameSinkIdAllocator {
return FrameSinkId(client_id_, next_sink_id_++); return FrameSinkId(client_id_, next_sink_id_++);
} }
static const FrameSinkId& InvalidFrameSinkId();
private: private:
const uint32_t client_id_; const uint32_t client_id_;
uint32_t next_sink_id_; uint32_t next_sink_id_;
......
...@@ -4,14 +4,12 @@ ...@@ -4,14 +4,12 @@
#include "components/viz/common/surfaces/parent_local_surface_id_allocator.h" #include "components/viz/common/surfaces/parent_local_surface_id_allocator.h"
#include "base/lazy_instance.h"
#include "base/rand_util.h" #include "base/rand_util.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
namespace viz { namespace viz {
base::LazyInstance<LocalSurfaceId>::Leaky g_invalid_local_surface_id = constexpr LocalSurfaceId g_invalid_local_surface_id;
LAZY_INSTANCE_INITIALIZER;
ParentLocalSurfaceIdAllocator::ParentLocalSurfaceIdAllocator() ParentLocalSurfaceIdAllocator::ParentLocalSurfaceIdAllocator()
: current_local_surface_id_(kInvalidParentSequenceNumber, : current_local_surface_id_(kInvalidParentSequenceNumber,
...@@ -75,7 +73,7 @@ const LocalSurfaceId& ParentLocalSurfaceIdAllocator::GenerateId() { ...@@ -75,7 +73,7 @@ const LocalSurfaceId& ParentLocalSurfaceIdAllocator::GenerateId() {
const LocalSurfaceId& ParentLocalSurfaceIdAllocator::GetCurrentLocalSurfaceId() const LocalSurfaceId& ParentLocalSurfaceIdAllocator::GetCurrentLocalSurfaceId()
const { const {
if (is_invalid_) if (is_invalid_)
return g_invalid_local_surface_id.Get(); return g_invalid_local_surface_id;
return current_local_surface_id_; return current_local_surface_id_;
} }
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "cc/trees/layer_tree_host.h" #include "cc/trees/layer_tree_host.h"
#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/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"
...@@ -1932,9 +1933,9 @@ void RenderWidgetHostViewAndroid::DidStopFlinging() { ...@@ -1932,9 +1933,9 @@ void RenderWidgetHostViewAndroid::DidStopFlinging() {
gesture_listener_manager_->DidStopFlinging(); gesture_listener_manager_->DidStopFlinging();
} }
viz::FrameSinkId RenderWidgetHostViewAndroid::GetFrameSinkId() { const viz::FrameSinkId& RenderWidgetHostViewAndroid::GetFrameSinkId() const {
if (!delegated_frame_host_) if (!delegated_frame_host_)
return viz::FrameSinkId(); return viz::FrameSinkIdAllocator::InvalidFrameSinkId();
return delegated_frame_host_->GetFrameSinkId(); return delegated_frame_host_->GetFrameSinkId();
} }
......
...@@ -169,7 +169,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid ...@@ -169,7 +169,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid
void OnDidNavigateMainFrameToNewPage() override; void OnDidNavigateMainFrameToNewPage() override;
void SetNeedsBeginFrames(bool needs_begin_frames) override; void SetNeedsBeginFrames(bool needs_begin_frames) override;
void SetWantsAnimateOnlyBeginFrames() override; void SetWantsAnimateOnlyBeginFrames() override;
viz::FrameSinkId GetFrameSinkId() override; const viz::FrameSinkId& GetFrameSinkId() const override;
bool TransformPointToLocalCoordSpaceLegacy( bool TransformPointToLocalCoordSpaceLegacy(
const gfx::PointF& point, const gfx::PointF& point,
const viz::SurfaceId& original_surface, const viz::SurfaceId& original_surface,
......
...@@ -2317,7 +2317,7 @@ void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() { ...@@ -2317,7 +2317,7 @@ void RenderWidgetHostViewAura::OnDidNavigateMainFrameToNewPage() {
ui::GestureRecognizer::Get()->CancelActiveTouches(window_); ui::GestureRecognizer::Get()->CancelActiveTouches(window_);
} }
viz::FrameSinkId RenderWidgetHostViewAura::GetFrameSinkId() { const viz::FrameSinkId& RenderWidgetHostViewAura::GetFrameSinkId() const {
return frame_sink_id_; return frame_sink_id_;
} }
......
...@@ -181,7 +181,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ...@@ -181,7 +181,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
bool RequestRepaintForTesting() override; bool RequestRepaintForTesting() override;
void DidStopFlinging() override; void DidStopFlinging() override;
void OnDidNavigateMainFrameToNewPage() override; void OnDidNavigateMainFrameToNewPage() override;
viz::FrameSinkId GetFrameSinkId() override; const viz::FrameSinkId& GetFrameSinkId() const override;
viz::LocalSurfaceId GetLocalSurfaceId() const override; viz::LocalSurfaceId GetLocalSurfaceId() const override;
bool TransformPointToLocalCoordSpaceLegacy( bool TransformPointToLocalCoordSpaceLegacy(
const gfx::PointF& point, const gfx::PointF& point,
......
...@@ -515,10 +515,6 @@ void RenderWidgetHostViewBase::OnFrameTokenChangedForView( ...@@ -515,10 +515,6 @@ void RenderWidgetHostViewBase::OnFrameTokenChangedForView(
host()->DidProcessFrame(frame_token); host()->DidProcessFrame(frame_token);
} }
viz::FrameSinkId RenderWidgetHostViewBase::GetFrameSinkId() {
return viz::FrameSinkId();
}
viz::LocalSurfaceId RenderWidgetHostViewBase::GetLocalSurfaceId() const { viz::LocalSurfaceId RenderWidgetHostViewBase::GetLocalSurfaceId() const {
return viz::LocalSurfaceId(); return viz::LocalSurfaceId();
} }
......
...@@ -313,8 +313,7 @@ class CONTENT_EXPORT RenderWidgetHostViewBase ...@@ -313,8 +313,7 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
virtual void DidStopFlinging() {} virtual void DidStopFlinging() {}
// Returns the ID associated with the CompositorFrameSink of this view. // Returns the ID associated with the CompositorFrameSink of this view.
// TODO(fsamuel): Return by const ref. virtual const viz::FrameSinkId& GetFrameSinkId() const = 0;
virtual viz::FrameSinkId GetFrameSinkId();
// 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.
......
...@@ -692,7 +692,7 @@ bool RenderWidgetHostViewChildFrame::IsMouseLocked() { ...@@ -692,7 +692,7 @@ bool RenderWidgetHostViewChildFrame::IsMouseLocked() {
return host()->delegate()->HasMouseLock(host()); return host()->delegate()->HasMouseLock(host());
} }
viz::FrameSinkId RenderWidgetHostViewChildFrame::GetFrameSinkId() { const viz::FrameSinkId& RenderWidgetHostViewChildFrame::GetFrameSinkId() const {
return frame_sink_id_; return frame_sink_id_;
} }
......
...@@ -143,7 +143,7 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame ...@@ -143,7 +143,7 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame
void DidStopFlinging() override; void DidStopFlinging() override;
bool LockMouse() override; bool LockMouse() override;
void UnlockMouse() override; void UnlockMouse() override;
viz::FrameSinkId GetFrameSinkId() override; const viz::FrameSinkId& GetFrameSinkId() const override;
viz::LocalSurfaceId GetLocalSurfaceId() const override; 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;
......
...@@ -179,7 +179,7 @@ class CONTENT_EXPORT RenderWidgetHostViewMac ...@@ -179,7 +179,7 @@ class CONTENT_EXPORT RenderWidgetHostViewMac
std::unique_ptr<SyntheticGestureTarget> CreateSyntheticGestureTarget() std::unique_ptr<SyntheticGestureTarget> CreateSyntheticGestureTarget()
override; override;
viz::FrameSinkId GetFrameSinkId() override; const viz::FrameSinkId& GetFrameSinkId() const override;
viz::LocalSurfaceId GetLocalSurfaceId() const override; 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;
......
...@@ -1126,7 +1126,7 @@ viz::LocalSurfaceId RenderWidgetHostViewMac::GetLocalSurfaceId() const { ...@@ -1126,7 +1126,7 @@ viz::LocalSurfaceId RenderWidgetHostViewMac::GetLocalSurfaceId() const {
return browser_compositor_->GetRendererLocalSurfaceId(); return browser_compositor_->GetRendererLocalSurfaceId();
} }
viz::FrameSinkId RenderWidgetHostViewMac::GetFrameSinkId() { const viz::FrameSinkId& RenderWidgetHostViewMac::GetFrameSinkId() const {
return browser_compositor_->GetDelegatedFrameHost()->frame_sink_id(); return browser_compositor_->GetDelegatedFrameHost()->frame_sink_id();
} }
......
...@@ -193,7 +193,7 @@ bool TestRenderWidgetHostView::LockMouse() { ...@@ -193,7 +193,7 @@ bool TestRenderWidgetHostView::LockMouse() {
void TestRenderWidgetHostView::UnlockMouse() { void TestRenderWidgetHostView::UnlockMouse() {
} }
viz::FrameSinkId TestRenderWidgetHostView::GetFrameSinkId() { const viz::FrameSinkId& TestRenderWidgetHostView::GetFrameSinkId() const {
return frame_sink_id_; return frame_sink_id_;
} }
......
...@@ -114,7 +114,7 @@ class TestRenderWidgetHostView : public RenderWidgetHostViewBase, ...@@ -114,7 +114,7 @@ class TestRenderWidgetHostView : public RenderWidgetHostViewBase,
gfx::Rect GetBoundsInRootWindow() override; gfx::Rect GetBoundsInRootWindow() override;
bool LockMouse() override; bool LockMouse() override;
void UnlockMouse() override; void UnlockMouse() override;
viz::FrameSinkId GetFrameSinkId() override; const viz::FrameSinkId& GetFrameSinkId() 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_; }
......
...@@ -113,7 +113,7 @@ void DelegatedFrameHostAndroid::DidNotProduceFrame( ...@@ -113,7 +113,7 @@ void DelegatedFrameHostAndroid::DidNotProduceFrame(
support_->DidNotProduceFrame(ack); support_->DidNotProduceFrame(ack);
} }
viz::FrameSinkId DelegatedFrameHostAndroid::GetFrameSinkId() const { const viz::FrameSinkId& DelegatedFrameHostAndroid::GetFrameSinkId() const {
return frame_sink_id_; return frame_sink_id_;
} }
......
...@@ -95,7 +95,7 @@ class UI_ANDROID_EXPORT DelegatedFrameHostAndroid ...@@ -95,7 +95,7 @@ class UI_ANDROID_EXPORT DelegatedFrameHostAndroid
cc::SurfaceLayer* content_layer_for_testing() { return content_layer_.get(); } cc::SurfaceLayer* content_layer_for_testing() { return content_layer_.get(); }
viz::FrameSinkId GetFrameSinkId() const; const viz::FrameSinkId& GetFrameSinkId() const;
// Should only be called when the host has a content layer. Use this for one- // Should only be called when the host has a content layer. Use this for one-
// off screen capture, not for video. Always provides RGBA_BITMAP // off screen capture, not for video. Always provides RGBA_BITMAP
......
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