Commit 9229631f authored by Abhijeet Kandalkar's avatar Abhijeet Kandalkar Committed by Commit Bot

Convert perfetto_service.mojom to new Mojo types (6/n)

This CL converts usage of |ProducerClientRequest| to
|mojo::PendingReceiver<mojom::ProducerClient>|

Bug: 955171, 978694
Change-Id: I54d5a576b097e98c9d80bdf966d2f92262d24d90
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1842174Reviewed-by: default avataroysteine <oysteine@chromium.org>
Commit-Queue: Abhijeet Kandalkar <abhijeet@igalia.com>
Cr-Commit-Position: refs/heads/master@{#704077}
parent 3efe5add
...@@ -51,12 +51,13 @@ void ProducerClient::Connect( ...@@ -51,12 +51,13 @@ void ProducerClient::Connect(
} }
void ProducerClient::BindClientAndHostPipesForTesting( void ProducerClient::BindClientAndHostPipesForTesting(
mojom::ProducerClientRequest producer_client_request, mojo::PendingReceiver<mojom::ProducerClient> producer_client_receiver,
mojo::PendingRemote<mojom::ProducerHost> producer_host_remote) { mojo::PendingRemote<mojom::ProducerHost> producer_host_remote) {
task_runner()->GetOrCreateTaskRunner()->PostTask( task_runner()->GetOrCreateTaskRunner()->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&ProducerClient::BindClientAndHostPipesOnSequence, base::BindOnce(&ProducerClient::BindClientAndHostPipesOnSequence,
base::Unretained(this), std::move(producer_client_request), base::Unretained(this),
std::move(producer_client_receiver),
std::move(producer_host_remote))); std::move(producer_host_remote)));
} }
...@@ -67,16 +68,16 @@ void ProducerClient::ResetSequenceForTesting() { ...@@ -67,16 +68,16 @@ void ProducerClient::ResetSequenceForTesting() {
// The Mojo binding should run on the same sequence as the one we get // The Mojo binding should run on the same sequence as the one we get
// callbacks from Perfetto on, to avoid additional PostTasks. // callbacks from Perfetto on, to avoid additional PostTasks.
void ProducerClient::BindClientAndHostPipesOnSequence( void ProducerClient::BindClientAndHostPipesOnSequence(
mojom::ProducerClientRequest producer_client_request, mojo::PendingReceiver<mojom::ProducerClient> producer_client_receiver,
mojom::ProducerHostPtrInfo producer_host_info) { mojo::PendingRemote<mojom::ProducerHost> producer_host_info) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(!binding_ || !binding_->is_bound()); CHECK(!receiver_ || !receiver_->is_bound());
binding_ = std::make_unique<mojo::Binding<mojom::ProducerClient>>( receiver_ = std::make_unique<mojo::Receiver<mojom::ProducerClient>>(
this, std::move(producer_client_request)); this, std::move(producer_client_receiver));
binding_->set_connection_error_handler(base::BindOnce( receiver_->set_disconnect_handler(base::BindOnce(
[](ProducerClient* producer_client) { [](ProducerClient* producer_client) {
producer_client->binding_->Close(); producer_client->receiver_->reset();
}, },
base::Unretained(this))); base::Unretained(this)));
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/receiver.h"
#include "services/tracing/public/cpp/perfetto/perfetto_producer.h" #include "services/tracing/public/cpp/perfetto/perfetto_producer.h"
#include "services/tracing/public/cpp/perfetto/task_runner.h" #include "services/tracing/public/cpp/perfetto/task_runner.h"
#include "services/tracing/public/mojom/perfetto_service.mojom.h" #include "services/tracing/public/mojom/perfetto_service.mojom.h"
...@@ -90,7 +90,7 @@ class COMPONENT_EXPORT(TRACING_CPP) ProducerClient ...@@ -90,7 +90,7 @@ class COMPONENT_EXPORT(TRACING_CPP) ProducerClient
perfetto::SharedMemoryArbiter* GetInProcessShmemArbiter() override; perfetto::SharedMemoryArbiter* GetInProcessShmemArbiter() override;
void BindClientAndHostPipesForTesting( void BindClientAndHostPipesForTesting(
mojom::ProducerClientRequest, mojo::PendingReceiver<mojom::ProducerClient>,
mojo::PendingRemote<mojom::ProducerHost>); mojo::PendingRemote<mojom::ProducerHost>);
void ResetSequenceForTesting(); void ResetSequenceForTesting();
...@@ -100,11 +100,12 @@ class COMPONENT_EXPORT(TRACING_CPP) ProducerClient ...@@ -100,11 +100,12 @@ class COMPONENT_EXPORT(TRACING_CPP) ProducerClient
private: private:
friend class base::NoDestructor<ProducerClient>; friend class base::NoDestructor<ProducerClient>;
void BindClientAndHostPipesOnSequence(mojom::ProducerClientRequest, void BindClientAndHostPipesOnSequence(
mojom::ProducerHostPtrInfo); mojo::PendingReceiver<mojom::ProducerClient>,
mojo::PendingRemote<mojom::ProducerHost>);
uint32_t data_sources_tracing_ = 0; uint32_t data_sources_tracing_ = 0;
std::unique_ptr<mojo::Binding<mojom::ProducerClient>> binding_; std::unique_ptr<mojo::Receiver<mojom::ProducerClient>> receiver_;
mojom::ProducerHostPtr producer_host_; mojom::ProducerHostPtr producer_host_;
std::unique_ptr<MojoSharedMemory> shared_memory_; std::unique_ptr<MojoSharedMemory> shared_memory_;
std::unique_ptr<perfetto::SharedMemoryArbiter> shared_memory_arbiter_; std::unique_ptr<perfetto::SharedMemoryArbiter> shared_memory_arbiter_;
......
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