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(
}
void ProducerClient::BindClientAndHostPipesForTesting(
mojom::ProducerClientRequest producer_client_request,
mojo::PendingReceiver<mojom::ProducerClient> producer_client_receiver,
mojo::PendingRemote<mojom::ProducerHost> producer_host_remote) {
task_runner()->GetOrCreateTaskRunner()->PostTask(
FROM_HERE,
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)));
}
......@@ -67,16 +68,16 @@ void ProducerClient::ResetSequenceForTesting() {
// The Mojo binding should run on the same sequence as the one we get
// callbacks from Perfetto on, to avoid additional PostTasks.
void ProducerClient::BindClientAndHostPipesOnSequence(
mojom::ProducerClientRequest producer_client_request,
mojom::ProducerHostPtrInfo producer_host_info) {
mojo::PendingReceiver<mojom::ProducerClient> producer_client_receiver,
mojo::PendingRemote<mojom::ProducerHost> producer_host_info) {
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>>(
this, std::move(producer_client_request));
binding_->set_connection_error_handler(base::BindOnce(
receiver_ = std::make_unique<mojo::Receiver<mojom::ProducerClient>>(
this, std::move(producer_client_receiver));
receiver_->set_disconnect_handler(base::BindOnce(
[](ProducerClient* producer_client) {
producer_client->binding_->Close();
producer_client->receiver_->reset();
},
base::Unretained(this)));
......
......@@ -16,7 +16,7 @@
#include "base/macros.h"
#include "base/memory/weak_ptr.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/task_runner.h"
#include "services/tracing/public/mojom/perfetto_service.mojom.h"
......@@ -90,7 +90,7 @@ class COMPONENT_EXPORT(TRACING_CPP) ProducerClient
perfetto::SharedMemoryArbiter* GetInProcessShmemArbiter() override;
void BindClientAndHostPipesForTesting(
mojom::ProducerClientRequest,
mojo::PendingReceiver<mojom::ProducerClient>,
mojo::PendingRemote<mojom::ProducerHost>);
void ResetSequenceForTesting();
......@@ -100,11 +100,12 @@ class COMPONENT_EXPORT(TRACING_CPP) ProducerClient
private:
friend class base::NoDestructor<ProducerClient>;
void BindClientAndHostPipesOnSequence(mojom::ProducerClientRequest,
mojom::ProducerHostPtrInfo);
void BindClientAndHostPipesOnSequence(
mojo::PendingReceiver<mojom::ProducerClient>,
mojo::PendingRemote<mojom::ProducerHost>);
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_;
std::unique_ptr<MojoSharedMemory> shared_memory_;
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