Commit 66197f54 authored by Abhijeet Kandalkar's avatar Abhijeet Kandalkar Committed by Commit Bot

Convert traced_process.mojom to use new Mojo types.

This CL converts |mojom::TracedProcessRequest| to
|mjo::PendingReceiver<mojom::TracedProcess>| to use new mojo types.

Bug: 955171, 978694

Change-Id: Ife8d61ee2e18f81857fda8376992082fb1f28cde
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1838891Reviewed-by: default avatarKen Rockot <rockot@google.com>
Commit-Queue: Abhijeet Kandalkar <abhijeet@igalia.com>
Cr-Commit-Position: refs/heads/master@{#703643}
parent 2f7c5562
......@@ -16,10 +16,10 @@ namespace tracing {
// static
void TracedProcess::OnTracedProcessRequest(
mojom::TracedProcessRequest request) {
mojo::PendingReceiver<mojom::TracedProcess> receiver) {
#if !defined(OS_NACL) && !defined(OS_IOS)
tracing::TracedProcessImpl::GetInstance()->OnTracedProcessRequest(
std::move(request));
std::move(receiver));
#endif
}
......
......@@ -11,7 +11,8 @@ namespace tracing {
class TracedProcess {
public:
static void OnTracedProcessRequest(mojom::TracedProcessRequest request);
static void OnTracedProcessRequest(
mojo::PendingReceiver<mojom::TracedProcess> receiver);
};
} // namespace tracing
......
......@@ -22,7 +22,7 @@ TracedProcessImpl* TracedProcessImpl::GetInstance() {
return traced_process.get();
}
TracedProcessImpl::TracedProcessImpl() : binding_(this) {
TracedProcessImpl::TracedProcessImpl() {
DETACH_FROM_SEQUENCE(sequence_checker_);
}
......@@ -31,29 +31,29 @@ TracedProcessImpl::~TracedProcessImpl() = default;
// OnTracedProcessRequest can be called concurrently from
// multiple threads, as we get one call per service.
void TracedProcessImpl::OnTracedProcessRequest(
mojom::TracedProcessRequest request) {
mojo::PendingReceiver<mojom::TracedProcess> receiver) {
if (task_runner_ && !task_runner_->RunsTasksInCurrentSequence()) {
task_runner_->PostTask(
FROM_HERE, base::BindOnce(&TracedProcessImpl::OnTracedProcessRequest,
base::Unretained(this), std::move(request)));
base::Unretained(this), std::move(receiver)));
return;
}
// We only need one binding per process.
base::AutoLock lock(lock_);
if (binding_.is_bound()) {
if (receiver_.is_bound()) {
return;
}
DETACH_FROM_SEQUENCE(sequence_checker_);
binding_.Bind(std::move(request));
receiver_.Bind(std::move(receiver));
}
// SetTaskRunner must be called before we start receiving
// any OnTracedProcessRequest calls.
void TracedProcessImpl::SetTaskRunner(
scoped_refptr<base::SequencedTaskRunner> task_runner) {
DCHECK(!binding_.is_bound());
DCHECK(!receiver_.is_bound());
DCHECK(!task_runner_);
task_runner_ = task_runner;
}
......@@ -100,7 +100,7 @@ void TracedProcessImpl::ConnectToTracingService(
// again.
base::AutoLock lock(traced_process->lock_);
traced_process->agent_registry_.reset();
traced_process->binding_.Close();
traced_process->receiver_.reset();
},
base::Unretained(this)));
......
......@@ -29,7 +29,8 @@ class COMPONENT_EXPORT(TRACING_CPP) TracedProcessImpl
public:
static TracedProcessImpl* GetInstance();
void OnTracedProcessRequest(mojom::TracedProcessRequest request);
void OnTracedProcessRequest(
mojo::PendingReceiver<mojom::TracedProcess> receiver);
// Set which taskrunner to bind any incoming requests on.
void SetTaskRunner(scoped_refptr<base::SequencedTaskRunner> task_runner);
......@@ -54,7 +55,7 @@ class COMPONENT_EXPORT(TRACING_CPP) TracedProcessImpl
base::Lock lock_;
std::set<BaseAgent*> agents_;
mojo::Remote<tracing::mojom::AgentRegistry> agent_registry_;
mojo::Binding<tracing::mojom::TracedProcess> binding_;
mojo::Receiver<tracing::mojom::TracedProcess> receiver_{this};
scoped_refptr<base::SequencedTaskRunner> task_runner_;
SEQUENCE_CHECKER(sequence_checker_);
......
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