Commit 745dd5ea authored by Mario Sanchez Prada's avatar Mario Sanchez Prada Committed by Commit Bot

Migrate references of viz::mojom::FrameSinkManager to new Mojo types

Convert the remaining bits in both the implementation and clients from
the browser and renderer processes for the viz::mojom::FrameSinkManager
interface, and adapt unit tests.

Bug: 955171, 978694
Change-Id: I8a7ea0d64ec447de26e52a2b65f7620009be44ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1860028Reviewed-by: default avatardanakj <danakj@chromium.org>
Reviewed-by: default avatarKen Buchanan <kenrb@chromium.org>
Reviewed-by: default avatarenne <enne@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Commit-Queue: Mario Sanchez Prada <mario@igalia.com>
Cr-Commit-Position: refs/heads/master@{#706439}
parent f5c35191
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
#include "components/viz/demo/service/demo_service.h" #include "components/viz/demo/service/demo_service.h"
#include "mojo/core/embedder/embedder.h" #include "mojo/core/embedder/embedder.h"
#include "mojo/core/embedder/scoped_ipc_support.h" #include "mojo/core/embedder/scoped_ipc_support.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "ui/events/platform/platform_event_source.h" #include "ui/events/platform/platform_event_source.h"
#include "ui/platform_window/platform_window_base.h" #include "ui/platform_window/platform_window_base.h"
#include "ui/platform_window/platform_window_delegate.h" #include "ui/platform_window/platform_window_delegate.h"
...@@ -134,9 +136,10 @@ class DemoWindow : public ui::PlatformWindowDelegate { ...@@ -134,9 +136,10 @@ class DemoWindow : public ui::PlatformWindowDelegate {
// actual process of setting up the viz host and the service. // actual process of setting up the viz host and the service.
// First, set up the mojo message-pipes that the host and the service will // First, set up the mojo message-pipes that the host and the service will
// use to communicate with each other. // use to communicate with each other.
viz::mojom::FrameSinkManagerPtr frame_sink_manager; mojo::PendingRemote<viz::mojom::FrameSinkManager> frame_sink_manager;
viz::mojom::FrameSinkManagerRequest frame_sink_manager_request = mojo::PendingReceiver<viz::mojom::FrameSinkManager>
mojo::MakeRequest(&frame_sink_manager); frame_sink_manager_receiver =
frame_sink_manager.InitWithNewPipeAndPassReceiver();
viz::mojom::FrameSinkManagerClientPtr frame_sink_manager_client; viz::mojom::FrameSinkManagerClientPtr frame_sink_manager_client;
viz::mojom::FrameSinkManagerClientRequest viz::mojom::FrameSinkManagerClientRequest
frame_sink_manager_client_request = frame_sink_manager_client_request =
...@@ -150,7 +153,7 @@ class DemoWindow : public ui::PlatformWindowDelegate { ...@@ -150,7 +153,7 @@ class DemoWindow : public ui::PlatformWindowDelegate {
std::move(frame_sink_manager)); std::move(frame_sink_manager));
service_ = std::make_unique<demo::DemoService>( service_ = std::make_unique<demo::DemoService>(
std::move(frame_sink_manager_request), std::move(frame_sink_manager_receiver),
std::move(frame_sink_manager_client)); std::move(frame_sink_manager_client));
} }
......
...@@ -10,20 +10,20 @@ ...@@ -10,20 +10,20 @@
#include "components/viz/demo/client/demo_client.h" #include "components/viz/demo/client/demo_client.h"
#include "components/viz/host/renderer_settings_creation.h" #include "components/viz/host/renderer_settings_creation.h"
#include "mojo/public/cpp/bindings/pending_associated_remote.h" #include "mojo/public/cpp/bindings/pending_associated_remote.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
namespace demo { namespace demo {
DemoHost::DemoHost(gfx::AcceleratedWidget widget, DemoHost::DemoHost(
gfx::AcceleratedWidget widget,
const gfx::Size& size, const gfx::Size& size,
viz::mojom::FrameSinkManagerClientRequest client_request, viz::mojom::FrameSinkManagerClientRequest client_request,
viz::mojom::FrameSinkManagerPtr frame_sink_manager_ptr) mojo::PendingRemote<viz::mojom::FrameSinkManager> frame_sink_manager_remote)
: widget_(widget), size_(size), thread_("DemoHost") { : widget_(widget), size_(size), thread_("DemoHost") {
CHECK(thread_.Start()); CHECK(thread_.Start());
thread_.task_runner()->PostTask( thread_.task_runner()->PostTask(
FROM_HERE, base::BindOnce(&DemoHost::Initialize, base::Unretained(this), FROM_HERE, base::BindOnce(&DemoHost::Initialize, base::Unretained(this),
std::move(client_request), std::move(client_request),
frame_sink_manager_ptr.PassInterface())); std::move(frame_sink_manager_remote)));
} }
DemoHost::~DemoHost() = default; DemoHost::~DemoHost() = default;
...@@ -112,11 +112,11 @@ void DemoHost::EmbedClients(DemoClient* embedder_client, ...@@ -112,11 +112,11 @@ void DemoHost::EmbedClients(DemoClient* embedder_client,
embedded_clients_.push_back(std::move(embedded_client)); embedded_clients_.push_back(std::move(embedded_client));
} }
void DemoHost::Initialize(viz::mojom::FrameSinkManagerClientRequest request, void DemoHost::Initialize(
viz::mojom::FrameSinkManagerPtrInfo ptr_info) { viz::mojom::FrameSinkManagerClientRequest request,
host_frame_sink_manager_.BindAndSetManager( mojo::PendingRemote<viz::mojom::FrameSinkManager> remote) {
std::move(request), nullptr, host_frame_sink_manager_.BindAndSetManager(std::move(request), nullptr,
viz::mojom::FrameSinkManagerPtr(std::move(ptr_info))); std::move(remote));
display_client_ = std::make_unique<viz::HostDisplayClient>(widget_); display_client_ = std::make_unique<viz::HostDisplayClient>(widget_);
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "components/viz/host/host_display_client.h" #include "components/viz/host/host_display_client.h"
#include "components/viz/host/host_frame_sink_client.h" #include "components/viz/host/host_frame_sink_client.h"
#include "components/viz/host/host_frame_sink_manager.h" #include "components/viz/host/host_frame_sink_manager.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/viz/privileged/mojom/compositing/display_private.mojom.h" #include "services/viz/privileged/mojom/compositing/display_private.mojom.h"
#include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h" #include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h"
#include "ui/gfx/native_widget_types.h" #include "ui/gfx/native_widget_types.h"
...@@ -29,7 +30,8 @@ class DemoHost : public viz::HostFrameSinkClient { ...@@ -29,7 +30,8 @@ class DemoHost : public viz::HostFrameSinkClient {
DemoHost(gfx::AcceleratedWidget widget, DemoHost(gfx::AcceleratedWidget widget,
const gfx::Size& size, const gfx::Size& size,
viz::mojom::FrameSinkManagerClientRequest client_request, viz::mojom::FrameSinkManagerClientRequest client_request,
viz::mojom::FrameSinkManagerPtr frame_sink_manager_ptr); mojo::PendingRemote<viz::mojom::FrameSinkManager>
frame_sink_manager_remote);
~DemoHost() override; ~DemoHost() override;
void Resize(const gfx::Size& size); void Resize(const gfx::Size& size);
...@@ -40,7 +42,7 @@ class DemoHost : public viz::HostFrameSinkClient { ...@@ -40,7 +42,7 @@ class DemoHost : public viz::HostFrameSinkClient {
void EmbedClients(DemoClient* embedder_client, const gfx::Rect& child_bounds); void EmbedClients(DemoClient* embedder_client, const gfx::Rect& child_bounds);
void Initialize(viz::mojom::FrameSinkManagerClientRequest request, void Initialize(viz::mojom::FrameSinkManagerClientRequest request,
viz::mojom::FrameSinkManagerPtrInfo ptr_info); mojo::PendingRemote<viz::mojom::FrameSinkManager> remote);
// viz::HostFrameSinkClient: // viz::HostFrameSinkClient:
void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override; void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override;
......
...@@ -12,13 +12,14 @@ ...@@ -12,13 +12,14 @@
namespace demo { namespace demo {
DemoService::DemoService(viz::mojom::FrameSinkManagerRequest request, DemoService::DemoService(
mojo::PendingReceiver<viz::mojom::FrameSinkManager> receiver,
viz::mojom::FrameSinkManagerClientPtr client) { viz::mojom::FrameSinkManagerClientPtr client) {
auto params = viz::mojom::FrameSinkManagerParams::New(); auto params = viz::mojom::FrameSinkManagerParams::New();
params->restart_id = viz::BeginFrameSource::kNotRestartableId; params->restart_id = viz::BeginFrameSource::kNotRestartableId;
params->use_activation_deadline = false; params->use_activation_deadline = false;
params->activation_deadline_in_frames = 0u; params->activation_deadline_in_frames = 0u;
params->frame_sink_manager = std::move(request); params->frame_sink_manager = std::move(receiver);
params->frame_sink_manager_client = client.PassInterface(); params->frame_sink_manager_client = client.PassInterface();
runner_ = std::make_unique<viz::VizCompositorThreadRunnerImpl>(); runner_ = std::make_unique<viz::VizCompositorThreadRunnerImpl>();
runner_->CreateFrameSinkManager(std::move(params)); runner_->CreateFrameSinkManager(std::move(params));
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <memory> #include <memory>
#include "base/threading/thread.h" #include "base/threading/thread.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h" #include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h"
namespace viz { namespace viz {
...@@ -22,7 +23,7 @@ namespace demo { ...@@ -22,7 +23,7 @@ namespace demo {
// the host over the mojom.FrameSinkManagerClient API. // the host over the mojom.FrameSinkManagerClient API.
class DemoService { class DemoService {
public: public:
DemoService(viz::mojom::FrameSinkManagerRequest request, DemoService(mojo::PendingReceiver<viz::mojom::FrameSinkManager> receiver,
viz::mojom::FrameSinkManagerClientPtr client); viz::mojom::FrameSinkManagerClientPtr client);
~DemoService(); ~DemoService();
......
...@@ -176,7 +176,7 @@ void GpuHostImpl::BlockLiveOffscreenContexts() { ...@@ -176,7 +176,7 @@ void GpuHostImpl::BlockLiveOffscreenContexts() {
} }
void GpuHostImpl::ConnectFrameSinkManager( void GpuHostImpl::ConnectFrameSinkManager(
mojom::FrameSinkManagerRequest request, mojo::PendingReceiver<mojom::FrameSinkManager> receiver,
mojom::FrameSinkManagerClientPtrInfo client) { mojom::FrameSinkManagerClientPtrInfo client) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
TRACE_EVENT0("gpu", "GpuHostImpl::ConnectFrameSinkManager"); TRACE_EVENT0("gpu", "GpuHostImpl::ConnectFrameSinkManager");
...@@ -188,7 +188,7 @@ void GpuHostImpl::ConnectFrameSinkManager( ...@@ -188,7 +188,7 @@ void GpuHostImpl::ConnectFrameSinkManager(
params_.deadline_to_synchronize_surfaces.has_value(); params_.deadline_to_synchronize_surfaces.has_value();
params->activation_deadline_in_frames = params->activation_deadline_in_frames =
params_.deadline_to_synchronize_surfaces.value_or(0u); params_.deadline_to_synchronize_surfaces.value_or(0u);
params->frame_sink_manager = std::move(request); params->frame_sink_manager = std::move(receiver);
params->frame_sink_manager_client = std::move(client); params->frame_sink_manager_client = std::move(client);
viz_main_->CreateFrameSinkManager(std::move(params)); viz_main_->CreateFrameSinkManager(std::move(params));
} }
......
...@@ -148,7 +148,8 @@ class VIZ_HOST_EXPORT GpuHostImpl : public mojom::GpuHost { ...@@ -148,7 +148,8 @@ class VIZ_HOST_EXPORT GpuHostImpl : public mojom::GpuHost {
void BlockLiveOffscreenContexts(); void BlockLiveOffscreenContexts();
// Connects to FrameSinkManager running in the Viz service. // Connects to FrameSinkManager running in the Viz service.
void ConnectFrameSinkManager(mojom::FrameSinkManagerRequest request, void ConnectFrameSinkManager(
mojo::PendingReceiver<mojom::FrameSinkManager> receiver,
mojom::FrameSinkManagerClientPtrInfo client); mojom::FrameSinkManagerClientPtrInfo client);
#if BUILDFLAG(USE_VIZ_DEVTOOLS) #if BUILDFLAG(USE_VIZ_DEVTOOLS)
......
...@@ -27,7 +27,7 @@ HostFrameSinkManager::~HostFrameSinkManager() = default; ...@@ -27,7 +27,7 @@ HostFrameSinkManager::~HostFrameSinkManager() = default;
void HostFrameSinkManager::SetLocalManager( void HostFrameSinkManager::SetLocalManager(
FrameSinkManagerImpl* frame_sink_manager_impl) { FrameSinkManagerImpl* frame_sink_manager_impl) {
DCHECK(!frame_sink_manager_ptr_); DCHECK(!frame_sink_manager_remote_);
frame_sink_manager_impl_ = frame_sink_manager_impl; frame_sink_manager_impl_ = frame_sink_manager_impl;
frame_sink_manager_ = frame_sink_manager_impl; frame_sink_manager_ = frame_sink_manager_impl;
...@@ -36,15 +36,15 @@ void HostFrameSinkManager::SetLocalManager( ...@@ -36,15 +36,15 @@ void HostFrameSinkManager::SetLocalManager(
void HostFrameSinkManager::BindAndSetManager( void HostFrameSinkManager::BindAndSetManager(
mojom::FrameSinkManagerClientRequest request, mojom::FrameSinkManagerClientRequest request,
scoped_refptr<base::SingleThreadTaskRunner> task_runner, scoped_refptr<base::SingleThreadTaskRunner> task_runner,
mojom::FrameSinkManagerPtr ptr) { mojo::PendingRemote<mojom::FrameSinkManager> remote) {
DCHECK(!frame_sink_manager_impl_); DCHECK(!frame_sink_manager_impl_);
DCHECK(!binding_.is_bound()); DCHECK(!binding_.is_bound());
binding_.Bind(std::move(request), std::move(task_runner)); binding_.Bind(std::move(request), std::move(task_runner));
frame_sink_manager_ptr_ = std::move(ptr); frame_sink_manager_remote_.Bind(std::move(remote));
frame_sink_manager_ = frame_sink_manager_ptr_.get(); frame_sink_manager_ = frame_sink_manager_remote_.get();
frame_sink_manager_ptr_.set_connection_error_handler(base::BindOnce( frame_sink_manager_remote_.set_disconnect_handler(base::BindOnce(
&HostFrameSinkManager::OnConnectionLost, base::Unretained(this))); &HostFrameSinkManager::OnConnectionLost, base::Unretained(this)));
if (connection_was_lost_) { if (connection_was_lost_) {
...@@ -143,7 +143,7 @@ void HostFrameSinkManager::SetFrameSinkDebugLabel( ...@@ -143,7 +143,7 @@ void HostFrameSinkManager::SetFrameSinkDebugLabel(
void HostFrameSinkManager::CreateRootCompositorFrameSink( void HostFrameSinkManager::CreateRootCompositorFrameSink(
mojom::RootCompositorFrameSinkParamsPtr params) { mojom::RootCompositorFrameSinkParamsPtr params) {
// Should only be used with an out-of-process display compositor. // Should only be used with an out-of-process display compositor.
DCHECK(frame_sink_manager_ptr_); DCHECK(frame_sink_manager_remote_);
FrameSinkId frame_sink_id = params->frame_sink_id; FrameSinkId frame_sink_id = params->frame_sink_id;
FrameSinkData& data = frame_sink_data_map_[frame_sink_id]; FrameSinkData& data = frame_sink_data_map_[frame_sink_id];
...@@ -347,7 +347,7 @@ void HostFrameSinkManager::OnConnectionLost() { ...@@ -347,7 +347,7 @@ void HostFrameSinkManager::OnConnectionLost() {
connection_was_lost_ = true; connection_was_lost_ = true;
binding_.Close(); binding_.Close();
frame_sink_manager_ptr_.reset(); frame_sink_manager_remote_.reset();
frame_sink_manager_ = nullptr; frame_sink_manager_ = nullptr;
// Any cached back buffers are invalid once the connection to the // Any cached back buffers are invalid once the connection to the
...@@ -431,15 +431,15 @@ uint32_t HostFrameSinkManager::CacheBackBufferForRootSink( ...@@ -431,15 +431,15 @@ uint32_t HostFrameSinkManager::CacheBackBufferForRootSink(
DCHECK(it != frame_sink_data_map_.end()); DCHECK(it != frame_sink_data_map_.end());
DCHECK(it->second.is_root); DCHECK(it->second.is_root);
DCHECK(it->second.IsFrameSinkRegistered()); DCHECK(it->second.IsFrameSinkRegistered());
DCHECK(frame_sink_manager_ptr_); DCHECK(frame_sink_manager_remote_);
uint32_t cache_id = next_cache_back_buffer_id_++; uint32_t cache_id = next_cache_back_buffer_id_++;
frame_sink_manager_ptr_->CacheBackBuffer(cache_id, root_sink_id); frame_sink_manager_remote_->CacheBackBuffer(cache_id, root_sink_id);
return cache_id; return cache_id;
} }
void HostFrameSinkManager::EvictCachedBackBuffer(uint32_t cache_id) { void HostFrameSinkManager::EvictCachedBackBuffer(uint32_t cache_id) {
DCHECK(frame_sink_manager_ptr_); DCHECK(frame_sink_manager_remote_);
if (cache_id < min_valid_cache_back_buffer_id_) if (cache_id < min_valid_cache_back_buffer_id_)
return; return;
...@@ -448,7 +448,7 @@ void HostFrameSinkManager::EvictCachedBackBuffer(uint32_t cache_id) { ...@@ -448,7 +448,7 @@ void HostFrameSinkManager::EvictCachedBackBuffer(uint32_t cache_id) {
// the platform window (eg. XWindow or HWND) get destroyed before the // the platform window (eg. XWindow or HWND) get destroyed before the
// platform window is destroyed. // platform window is destroyed.
mojo::SyncCallRestrictions::ScopedAllowSyncCall allow_sync_call; mojo::SyncCallRestrictions::ScopedAllowSyncCall allow_sync_call;
frame_sink_manager_ptr_->EvictBackBuffer(cache_id); frame_sink_manager_remote_->EvictBackBuffer(cache_id);
} }
HostFrameSinkManager::FrameSinkData::FrameSinkData() = default; HostFrameSinkManager::FrameSinkData::FrameSinkData() = default;
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h" #include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h"
namespace base { namespace base {
...@@ -68,10 +69,10 @@ class VIZ_HOST_EXPORT HostFrameSinkManager ...@@ -68,10 +69,10 @@ class VIZ_HOST_EXPORT HostFrameSinkManager
void BindAndSetManager( void BindAndSetManager(
mojom::FrameSinkManagerClientRequest request, mojom::FrameSinkManagerClientRequest request,
scoped_refptr<base::SingleThreadTaskRunner> task_runner, scoped_refptr<base::SingleThreadTaskRunner> task_runner,
mojom::FrameSinkManagerPtr ptr); mojo::PendingRemote<mojom::FrameSinkManager> remote);
// Sets a callback to be notified when the connection to the FrameSinkManager // Sets a callback to be notified when the connection to the FrameSinkManager
// on |frame_sink_manager_ptr_| is lost. // on |frame_sink_manager_remote_| is lost.
void SetConnectionLostCallback(base::RepeatingClosure callback); void SetConnectionLostCallback(base::RepeatingClosure callback);
// Sets a callback to be notified after Viz sent bad message to Viz host. // Sets a callback to be notified after Viz sent bad message to Viz host.
...@@ -256,7 +257,7 @@ class VIZ_HOST_EXPORT HostFrameSinkManager ...@@ -256,7 +257,7 @@ class VIZ_HOST_EXPORT HostFrameSinkManager
DISALLOW_COPY_AND_ASSIGN(FrameSinkData); DISALLOW_COPY_AND_ASSIGN(FrameSinkData);
}; };
// Handles connection loss to |frame_sink_manager_ptr_|. This should only // Handles connection loss to |frame_sink_manager_remote_|. This should only
// happen when the GPU process crashes. // happen when the GPU process crashes.
void OnConnectionLost(); void OnConnectionLost();
...@@ -269,28 +270,28 @@ class VIZ_HOST_EXPORT HostFrameSinkManager ...@@ -269,28 +270,28 @@ class VIZ_HOST_EXPORT HostFrameSinkManager
const FrameSinkId& frame_sink_id, const FrameSinkId& frame_sink_id,
const std::vector<AggregatedHitTestRegion>& hit_test_data) override; const std::vector<AggregatedHitTestRegion>& hit_test_data) override;
// This will point to |frame_sink_manager_ptr_| if using Mojo or // This will point to |frame_sink_manager_remote_| if using Mojo or
// |frame_sink_manager_impl_| if directly connected. Use this to make function // |frame_sink_manager_impl_| if directly connected. Use this to make function
// calls. // calls.
mojom::FrameSinkManager* frame_sink_manager_ = nullptr; mojom::FrameSinkManager* frame_sink_manager_ = nullptr;
// Mojo connection to the FrameSinkManager. If this is bound then // Mojo connection to the FrameSinkManager. If this is bound then
// |frame_sink_manager_impl_| must be null. // |frame_sink_manager_impl_| must be null.
mojom::FrameSinkManagerPtr frame_sink_manager_ptr_; mojo::Remote<mojom::FrameSinkManager> frame_sink_manager_remote_;
// Mojo connection back from the FrameSinkManager. // Mojo connection back from the FrameSinkManager.
mojo::Binding<mojom::FrameSinkManagerClient> binding_; mojo::Binding<mojom::FrameSinkManagerClient> binding_;
// A direct connection to FrameSinkManagerImpl. If this is set then // A direct connection to FrameSinkManagerImpl. If this is set then
// |frame_sink_manager_ptr_| must be unbound. For use in browser process only, // |frame_sink_manager_remote_| must be unbound. For use in browser process
// viz process should not set this. // only, viz process should not set this.
FrameSinkManagerImpl* frame_sink_manager_impl_ = nullptr; FrameSinkManagerImpl* frame_sink_manager_impl_ = nullptr;
// Per CompositorFrameSink data. // Per CompositorFrameSink data.
std::unordered_map<FrameSinkId, FrameSinkData, FrameSinkIdHash> std::unordered_map<FrameSinkId, FrameSinkData, FrameSinkIdHash>
frame_sink_data_map_; frame_sink_data_map_;
// If |frame_sink_manager_ptr_| connection was lost. // If |frame_sink_manager_remote_| connection was lost.
bool connection_was_lost_ = false; bool connection_was_lost_ = false;
base::RepeatingClosure connection_lost_callback_; base::RepeatingClosure connection_lost_callback_;
......
...@@ -134,7 +134,7 @@ class HostFrameSinkManagerTestBase : public testing::Test { ...@@ -134,7 +134,7 @@ class HostFrameSinkManagerTestBase : public testing::Test {
} }
bool IsBoundToFrameSinkManager() { bool IsBoundToFrameSinkManager() {
return host_manager_->frame_sink_manager_ptr_.is_bound() || return host_manager_->frame_sink_manager_remote_.is_bound() ||
host_manager_->binding_.is_bound(); host_manager_->binding_.is_bound();
} }
...@@ -206,9 +206,9 @@ class HostFrameSinkManagerRemoteTest : public HostFrameSinkManagerTestBase { ...@@ -206,9 +206,9 @@ class HostFrameSinkManagerRemoteTest : public HostFrameSinkManagerTestBase {
std::make_unique<testing::NiceMock<MockFrameSinkManagerImpl>>( std::make_unique<testing::NiceMock<MockFrameSinkManagerImpl>>(
&shared_bitmap_manager_); &shared_bitmap_manager_);
mojom::FrameSinkManagerPtr frame_sink_manager; mojo::PendingRemote<mojom::FrameSinkManager> frame_sink_manager;
mojom::FrameSinkManagerRequest frame_sink_manager_request = mojo::PendingReceiver<mojom::FrameSinkManager> frame_sink_manager_receiver =
mojo::MakeRequest(&frame_sink_manager); frame_sink_manager.InitWithNewPipeAndPassReceiver();
mojom::FrameSinkManagerClientPtr frame_sink_manager_client; mojom::FrameSinkManagerClientPtr frame_sink_manager_client;
mojom::FrameSinkManagerClientRequest frame_sink_manager_client_request = mojom::FrameSinkManagerClientRequest frame_sink_manager_client_request =
mojo::MakeRequest(&frame_sink_manager_client); mojo::MakeRequest(&frame_sink_manager_client);
...@@ -216,7 +216,7 @@ class HostFrameSinkManagerRemoteTest : public HostFrameSinkManagerTestBase { ...@@ -216,7 +216,7 @@ class HostFrameSinkManagerRemoteTest : public HostFrameSinkManagerTestBase {
host_manager_->BindAndSetManager( host_manager_->BindAndSetManager(
std::move(frame_sink_manager_client_request), nullptr, std::move(frame_sink_manager_client_request), nullptr,
std::move(frame_sink_manager)); std::move(frame_sink_manager));
manager_impl_->BindAndSetClient(std::move(frame_sink_manager_request), manager_impl_->BindAndSetClient(std::move(frame_sink_manager_receiver),
nullptr, nullptr,
std::move(frame_sink_manager_client)); std::move(frame_sink_manager_client));
} }
......
...@@ -58,8 +58,7 @@ FrameSinkManagerImpl::FrameSinkManagerImpl(const InitParams& params) ...@@ -58,8 +58,7 @@ FrameSinkManagerImpl::FrameSinkManagerImpl(const InitParams& params)
hit_test_manager_(surface_manager()), hit_test_manager_(surface_manager()),
restart_id_(params.restart_id), restart_id_(params.restart_id),
run_all_compositor_stages_before_draw_( run_all_compositor_stages_before_draw_(
params.run_all_compositor_stages_before_draw), params.run_all_compositor_stages_before_draw) {
binding_(this) {
surface_manager_.AddObserver(&hit_test_manager_); surface_manager_.AddObserver(&hit_test_manager_);
surface_manager_.AddObserver(this); surface_manager_.AddObserver(this);
} }
...@@ -86,12 +85,12 @@ FrameSinkManagerImpl::~FrameSinkManagerImpl() { ...@@ -86,12 +85,12 @@ FrameSinkManagerImpl::~FrameSinkManagerImpl() {
} }
void FrameSinkManagerImpl::BindAndSetClient( void FrameSinkManagerImpl::BindAndSetClient(
mojom::FrameSinkManagerRequest request, mojo::PendingReceiver<mojom::FrameSinkManager> receiver,
scoped_refptr<base::SingleThreadTaskRunner> task_runner, scoped_refptr<base::SingleThreadTaskRunner> task_runner,
mojom::FrameSinkManagerClientPtr client) { mojom::FrameSinkManagerClientPtr client) {
DCHECK(!client_); DCHECK(!client_);
DCHECK(!binding_.is_bound()); DCHECK(!receiver_.is_bound());
binding_.Bind(std::move(request), std::move(task_runner)); receiver_.Bind(std::move(receiver), std::move(task_runner));
client_ptr_ = std::move(client); client_ptr_ = std::move(client);
client_ = client_ptr_.get(); client_ = client_ptr_.get();
} }
...@@ -106,8 +105,8 @@ void FrameSinkManagerImpl::SetLocalClient( ...@@ -106,8 +105,8 @@ void FrameSinkManagerImpl::SetLocalClient(
} }
void FrameSinkManagerImpl::ForceShutdown() { void FrameSinkManagerImpl::ForceShutdown() {
if (binding_.is_bound()) if (receiver_.is_bound())
binding_.Close(); receiver_.reset();
for (auto& it : cached_back_buffers_) for (auto& it : cached_back_buffers_)
it.second.RunAndReset(); it.second.RunAndReset();
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
#include "components/viz/service/surfaces/surface_observer.h" #include "components/viz/service/surfaces/surface_observer.h"
#include "components/viz/service/viz_service_export.h" #include "components/viz/service/viz_service_export.h"
#include "gpu/ipc/common/surface_handle.h" #include "gpu/ipc/common/surface_handle.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
#include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h" #include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h"
...@@ -83,10 +82,10 @@ class VIZ_SERVICE_EXPORT FrameSinkManagerImpl ...@@ -83,10 +82,10 @@ class VIZ_SERVICE_EXPORT FrameSinkManagerImpl
// incoming IPCs and destroys all [Root]CompositorFrameSinkImpls. // incoming IPCs and destroys all [Root]CompositorFrameSinkImpls.
void ForceShutdown(); void ForceShutdown();
// Binds |this| as a FrameSinkManagerImpl for |request| on |task_runner|. On // Binds |this| as a FrameSinkManagerImpl for |receiver| on |task_runner|. On
// Mac |task_runner| will be the resize helper task runner. May only be called // Mac |task_runner| will be the resize helper task runner. May only be called
// once. // once.
void BindAndSetClient(mojom::FrameSinkManagerRequest request, void BindAndSetClient(mojo::PendingReceiver<mojom::FrameSinkManager> receiver,
scoped_refptr<base::SingleThreadTaskRunner> task_runner, scoped_refptr<base::SingleThreadTaskRunner> task_runner,
mojom::FrameSinkManagerClientPtr client); mojom::FrameSinkManagerClientPtr client);
...@@ -349,7 +348,7 @@ class VIZ_SERVICE_EXPORT FrameSinkManagerImpl ...@@ -349,7 +348,7 @@ class VIZ_SERVICE_EXPORT FrameSinkManagerImpl
mojom::FrameSinkManagerClient* client_ = nullptr; mojom::FrameSinkManagerClient* client_ = nullptr;
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_ = nullptr; scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_ = nullptr;
mojom::FrameSinkManagerClientPtr client_ptr_; mojom::FrameSinkManagerClientPtr client_ptr_;
mojo::Binding<mojom::FrameSinkManager> binding_; mojo::Receiver<mojom::FrameSinkManager> receiver_{this};
base::ObserverList<FrameSinkObserver>::Unchecked observer_list_; base::ObserverList<FrameSinkObserver>::Unchecked observer_list_;
......
...@@ -6,14 +6,14 @@ ...@@ -6,14 +6,14 @@
namespace viz { namespace viz {
TestFrameSinkManagerImpl::TestFrameSinkManagerImpl() : binding_(this) {} TestFrameSinkManagerImpl::TestFrameSinkManagerImpl() = default;
TestFrameSinkManagerImpl::~TestFrameSinkManagerImpl() {} TestFrameSinkManagerImpl::~TestFrameSinkManagerImpl() = default;
void TestFrameSinkManagerImpl::BindRequest( void TestFrameSinkManagerImpl::BindReceiver(
mojom::FrameSinkManagerRequest request, mojo::PendingReceiver<mojom::FrameSinkManager> receiver,
mojom::FrameSinkManagerClientPtr client) { mojom::FrameSinkManagerClientPtr client) {
binding_.Bind(std::move(request)); receiver_.Bind(std::move(receiver));
client_ = std::move(client); client_ = std::move(client);
} }
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
#define COMPONENTS_VIZ_TEST_TEST_FRAME_SINK_MANAGER_H_ #define COMPONENTS_VIZ_TEST_TEST_FRAME_SINK_MANAGER_H_
#include "base/macros.h" #include "base/macros.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h" #include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h"
namespace viz { namespace viz {
...@@ -18,7 +18,7 @@ class TestFrameSinkManagerImpl : public mojom::FrameSinkManager { ...@@ -18,7 +18,7 @@ class TestFrameSinkManagerImpl : public mojom::FrameSinkManager {
TestFrameSinkManagerImpl(); TestFrameSinkManagerImpl();
~TestFrameSinkManagerImpl() override; ~TestFrameSinkManagerImpl() override;
void BindRequest(mojom::FrameSinkManagerRequest request, void BindReceiver(mojo::PendingReceiver<mojom::FrameSinkManager> receiver,
mojom::FrameSinkManagerClientPtr client); mojom::FrameSinkManagerClientPtr client);
private: private:
...@@ -63,7 +63,7 @@ class TestFrameSinkManagerImpl : public mojom::FrameSinkManager { ...@@ -63,7 +63,7 @@ class TestFrameSinkManagerImpl : public mojom::FrameSinkManager {
void EvictBackBuffer(uint32_t cache_id, void EvictBackBuffer(uint32_t cache_id,
EvictBackBufferCallback callback) override {} EvictBackBufferCallback callback) override {}
mojo::Binding<mojom::FrameSinkManager> binding_; mojo::Receiver<mojom::FrameSinkManager> receiver_{this};
mojom::FrameSinkManagerClientPtr client_; mojom::FrameSinkManagerClientPtr client_;
DISALLOW_COPY_AND_ASSIGN(TestFrameSinkManagerImpl); DISALLOW_COPY_AND_ASSIGN(TestFrameSinkManagerImpl);
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#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/test/test_frame_sink_manager.h" #include "components/viz/test/test_frame_sink_manager.h"
#include "content/browser/compositor/surface_utils.h" #include "content/browser/compositor/surface_utils.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "ui/compositor/reflector.h" #include "ui/compositor/reflector.h"
#include "ui/compositor/test/in_process_context_provider.h" #include "ui/compositor/test/in_process_context_provider.h"
...@@ -40,9 +42,10 @@ TestImageTransportFactory::TestImageTransportFactory() ...@@ -40,9 +42,10 @@ TestImageTransportFactory::TestImageTransportFactory()
test_frame_sink_manager_impl_ = test_frame_sink_manager_impl_ =
std::make_unique<viz::TestFrameSinkManagerImpl>(); std::make_unique<viz::TestFrameSinkManagerImpl>();
viz::mojom::FrameSinkManagerPtr frame_sink_manager; mojo::PendingRemote<viz::mojom::FrameSinkManager> frame_sink_manager;
viz::mojom::FrameSinkManagerRequest frame_sink_manager_request = mojo::PendingReceiver<viz::mojom::FrameSinkManager>
mojo::MakeRequest(&frame_sink_manager); frame_sink_manager_receiver =
frame_sink_manager.InitWithNewPipeAndPassReceiver();
viz::mojom::FrameSinkManagerClientPtr frame_sink_manager_client; viz::mojom::FrameSinkManagerClientPtr frame_sink_manager_client;
viz::mojom::FrameSinkManagerClientRequest viz::mojom::FrameSinkManagerClientRequest
frame_sink_manager_client_request = frame_sink_manager_client_request =
...@@ -56,8 +59,8 @@ TestImageTransportFactory::TestImageTransportFactory() ...@@ -56,8 +59,8 @@ TestImageTransportFactory::TestImageTransportFactory()
// Bind endpoints in TestFrameSinkManagerImpl. For non-tests there would be // Bind endpoints in TestFrameSinkManagerImpl. For non-tests there would be
// a FrameSinkManagerImpl running in another process and these interface // a FrameSinkManagerImpl running in another process and these interface
// endpoints would be bound there. // endpoints would be bound there.
test_frame_sink_manager_impl_->BindRequest( test_frame_sink_manager_impl_->BindReceiver(
std::move(frame_sink_manager_request), std::move(frame_sink_manager_receiver),
std::move(frame_sink_manager_client)); std::move(frame_sink_manager_client));
} else { } else {
shared_bitmap_manager_ = std::make_unique<viz::ServerSharedBitmapManager>(); shared_bitmap_manager_ = std::make_unique<viz::ServerSharedBitmapManager>();
......
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
#include "gpu/command_buffer/client/gles2_interface.h" #include "gpu/command_buffer/client/gles2_interface.h"
#include "gpu/command_buffer/client/raster_interface.h" #include "gpu/command_buffer/client/raster_interface.h"
#include "gpu/ipc/client/gpu_channel_host.h" #include "gpu/ipc/client/gpu_channel_host.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/viz/public/cpp/gpu/context_provider_command_buffer.h" #include "services/viz/public/cpp/gpu/context_provider_command_buffer.h"
#include "ui/base/ui_base_features.h" #include "ui/base/ui_base_features.h"
#include "ui/compositor/reflector.h" #include "ui/compositor/reflector.h"
...@@ -127,9 +129,10 @@ VizProcessTransportFactory::~VizProcessTransportFactory() { ...@@ -127,9 +129,10 @@ VizProcessTransportFactory::~VizProcessTransportFactory() {
} }
void VizProcessTransportFactory::ConnectHostFrameSinkManager() { void VizProcessTransportFactory::ConnectHostFrameSinkManager() {
viz::mojom::FrameSinkManagerPtr frame_sink_manager; mojo::PendingRemote<viz::mojom::FrameSinkManager> frame_sink_manager;
viz::mojom::FrameSinkManagerRequest frame_sink_manager_request = mojo::PendingReceiver<viz::mojom::FrameSinkManager>
mojo::MakeRequest(&frame_sink_manager); frame_sink_manager_receiver =
frame_sink_manager.InitWithNewPipeAndPassReceiver();
viz::mojom::FrameSinkManagerClientPtr frame_sink_manager_client; viz::mojom::FrameSinkManagerClientPtr frame_sink_manager_client;
viz::mojom::FrameSinkManagerClientRequest frame_sink_manager_client_request = viz::mojom::FrameSinkManagerClientRequest frame_sink_manager_client_request =
mojo::MakeRequest(&frame_sink_manager_client); mojo::MakeRequest(&frame_sink_manager_client);
...@@ -144,7 +147,7 @@ void VizProcessTransportFactory::ConnectHostFrameSinkManager() { ...@@ -144,7 +147,7 @@ void VizProcessTransportFactory::ConnectHostFrameSinkManager() {
// Hop to the IO thread, then send the other side of interface to viz // Hop to the IO thread, then send the other side of interface to viz
// process. // process.
auto connect_on_io_thread = auto connect_on_io_thread =
[](viz::mojom::FrameSinkManagerRequest request, [](mojo::PendingReceiver<viz::mojom::FrameSinkManager> receiver,
viz::mojom::FrameSinkManagerClientPtrInfo client) { viz::mojom::FrameSinkManagerClientPtrInfo client) {
// There should always be a GpuProcessHost instance, and GPU process, // There should always be a GpuProcessHost instance, and GPU process,
// for running the compositor thread. The exception is during shutdown // for running the compositor thread. The exception is during shutdown
...@@ -153,12 +156,12 @@ void VizProcessTransportFactory::ConnectHostFrameSinkManager() { ...@@ -153,12 +156,12 @@ void VizProcessTransportFactory::ConnectHostFrameSinkManager() {
auto* gpu_process_host = GpuProcessHost::Get(); auto* gpu_process_host = GpuProcessHost::Get();
if (gpu_process_host) { if (gpu_process_host) {
gpu_process_host->gpu_host()->ConnectFrameSinkManager( gpu_process_host->gpu_host()->ConnectFrameSinkManager(
std::move(request), std::move(client)); std::move(receiver), std::move(client));
} }
}; };
base::PostTask(FROM_HERE, {BrowserThread::IO}, base::PostTask(FROM_HERE, {BrowserThread::IO},
base::BindOnce(connect_on_io_thread, base::BindOnce(connect_on_io_thread,
std::move(frame_sink_manager_request), std::move(frame_sink_manager_receiver),
frame_sink_manager_client.PassInterface())); frame_sink_manager_client.PassInterface()));
} else { } else {
DCHECK(!viz_compositor_thread_); DCHECK(!viz_compositor_thread_);
...@@ -176,7 +179,7 @@ void VizProcessTransportFactory::ConnectHostFrameSinkManager() { ...@@ -176,7 +179,7 @@ void VizProcessTransportFactory::ConnectHostFrameSinkManager() {
params->use_activation_deadline = activation_deadline_in_frames.has_value(); params->use_activation_deadline = activation_deadline_in_frames.has_value();
params->activation_deadline_in_frames = params->activation_deadline_in_frames =
activation_deadline_in_frames.value_or(0u); activation_deadline_in_frames.value_or(0u);
params->frame_sink_manager = std::move(frame_sink_manager_request); params->frame_sink_manager = std::move(frame_sink_manager_receiver);
params->frame_sink_manager_client = params->frame_sink_manager_client =
frame_sink_manager_client.PassInterface(); frame_sink_manager_client.PassInterface();
viz_compositor_thread_->CreateFrameSinkManager(std::move(params)); viz_compositor_thread_->CreateFrameSinkManager(std::move(params));
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#include "components/viz/service/main/viz_compositor_thread_runner_impl.h" #include "components/viz/service/main/viz_compositor_thread_runner_impl.h"
#include "content/browser/compositor/image_transport_factory.h" #include "content/browser/compositor/image_transport_factory.h"
#include "gpu/command_buffer/common/context_result.h" #include "gpu/command_buffer/common/context_result.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h" #include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h"
#include "services/viz/public/mojom/compositing/compositor_frame_sink.mojom.h" #include "services/viz/public/mojom/compositing/compositor_frame_sink.mojom.h"
#include "ui/compositor/compositor.h" #include "ui/compositor/compositor.h"
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "content/browser/gpu/gpu_process_host.h" #include "content/browser/gpu/gpu_process_host.h"
#include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
namespace content { namespace content {
...@@ -95,9 +96,10 @@ CompositorDependenciesAndroid::CompositorDependenciesAndroid() ...@@ -95,9 +96,10 @@ CompositorDependenciesAndroid::CompositorDependenciesAndroid()
CompositorDependenciesAndroid::~CompositorDependenciesAndroid() = default; CompositorDependenciesAndroid::~CompositorDependenciesAndroid() = default;
void CompositorDependenciesAndroid::CreateVizFrameSinkManager() { void CompositorDependenciesAndroid::CreateVizFrameSinkManager() {
viz::mojom::FrameSinkManagerPtr frame_sink_manager; mojo::PendingRemote<viz::mojom::FrameSinkManager> frame_sink_manager;
viz::mojom::FrameSinkManagerRequest frame_sink_manager_request = mojo::PendingReceiver<viz::mojom::FrameSinkManager>
mojo::MakeRequest(&frame_sink_manager); frame_sink_manager_receiver =
frame_sink_manager.InitWithNewPipeAndPassReceiver();
viz::mojom::FrameSinkManagerClientPtr frame_sink_manager_client; viz::mojom::FrameSinkManagerClientPtr frame_sink_manager_client;
viz::mojom::FrameSinkManagerClientRequest frame_sink_manager_client_request = viz::mojom::FrameSinkManagerClientRequest frame_sink_manager_client_request =
mojo::MakeRequest(&frame_sink_manager_client); mojo::MakeRequest(&frame_sink_manager_client);
...@@ -117,7 +119,7 @@ void CompositorDependenciesAndroid::CreateVizFrameSinkManager() { ...@@ -117,7 +119,7 @@ void CompositorDependenciesAndroid::CreateVizFrameSinkManager() {
// connected to the GPU process. // connected to the GPU process.
pending_connect_viz_on_io_thread_ = base::BindOnce( pending_connect_viz_on_io_thread_ = base::BindOnce(
&CompositorDependenciesAndroid::ConnectVizFrameSinkManagerOnIOThread, &CompositorDependenciesAndroid::ConnectVizFrameSinkManagerOnIOThread,
std::move(frame_sink_manager_request), std::move(frame_sink_manager_receiver),
frame_sink_manager_client.PassInterface()); frame_sink_manager_client.PassInterface());
} }
...@@ -144,12 +146,12 @@ void CompositorDependenciesAndroid::TryEstablishVizConnectionIfNeeded() { ...@@ -144,12 +146,12 @@ void CompositorDependenciesAndroid::TryEstablishVizConnectionIfNeeded() {
// re-run when the request is deleted (goes out of scope). // re-run when the request is deleted (goes out of scope).
// static // static
void CompositorDependenciesAndroid::ConnectVizFrameSinkManagerOnIOThread( void CompositorDependenciesAndroid::ConnectVizFrameSinkManagerOnIOThread(
viz::mojom::FrameSinkManagerRequest request, mojo::PendingReceiver<viz::mojom::FrameSinkManager> receiver,
viz::mojom::FrameSinkManagerClientPtrInfo client) { viz::mojom::FrameSinkManagerClientPtrInfo client) {
auto* gpu_process_host = GpuProcessHost::Get(); auto* gpu_process_host = GpuProcessHost::Get();
if (!gpu_process_host) if (!gpu_process_host)
return; return;
gpu_process_host->gpu_host()->ConnectFrameSinkManager(std::move(request), gpu_process_host->gpu_host()->ConnectFrameSinkManager(std::move(receiver),
std::move(client)); std::move(client));
} }
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "base/no_destructor.h" #include "base/no_destructor.h"
#include "components/viz/common/surfaces/frame_sink_id_allocator.h" #include "components/viz/common/surfaces/frame_sink_id_allocator.h"
#include "components/viz/host/host_frame_sink_manager.h" #include "components/viz/host/host_frame_sink_manager.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h" #include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h"
namespace cc { namespace cc {
...@@ -50,7 +51,7 @@ class CompositorDependenciesAndroid { ...@@ -50,7 +51,7 @@ class CompositorDependenciesAndroid {
friend class base::NoDestructor<CompositorDependenciesAndroid>; friend class base::NoDestructor<CompositorDependenciesAndroid>;
static void ConnectVizFrameSinkManagerOnIOThread( static void ConnectVizFrameSinkManagerOnIOThread(
viz::mojom::FrameSinkManagerRequest request, mojo::PendingReceiver<viz::mojom::FrameSinkManager> receiver,
viz::mojom::FrameSinkManagerClientPtrInfo client); viz::mojom::FrameSinkManagerClientPtrInfo client);
CompositorDependenciesAndroid(); CompositorDependenciesAndroid();
......
...@@ -24,7 +24,7 @@ struct FrameSinkManagerParams { ...@@ -24,7 +24,7 @@ struct FrameSinkManagerParams {
uint32 activation_deadline_in_frames = 4; uint32 activation_deadline_in_frames = 4;
// Host to viz interface. // Host to viz interface.
FrameSinkManager& frame_sink_manager; pending_receiver<FrameSinkManager> frame_sink_manager;
// Viz to host interface. // Viz to host interface.
FrameSinkManagerClient frame_sink_manager_client; FrameSinkManagerClient frame_sink_manager_client;
......
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