Commit 38e4991a authored by Mario Sanchez Prada's avatar Mario Sanchez Prada Committed by Commit Bot

Migrate references to mojo interfaces from media/midi/midi_service.mojom

Convert the remaining bits in //content/browser/media that still use the
old mojo types for midi::mojom::MidiSession[Client,Provider} to the new
mojo types, and adapt unit tests.

Bug: 955171
Change-Id: I9f7fa7f992103ad9071ce134ee2c4d329372aad0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1804485Reviewed-by: default avatarKen Buchanan <kenrb@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarTakashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Mario Sanchez Prada <mario@igalia.com>
Cr-Commit-Position: refs/heads/master@{#697109}
parent ba2b8ea8
......@@ -17,7 +17,7 @@
#include "media/midi/message_util.h"
#include "media/midi/midi_message_queue.h"
#include "media/midi/midi_service.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
namespace content {
namespace {
......@@ -59,13 +59,14 @@ MidiHost::~MidiHost() {
}
// static
void MidiHost::BindRequest(int render_process_id,
midi::MidiService* midi_service,
midi::mojom::MidiSessionProviderRequest request) {
void MidiHost::BindReceiver(
int render_process_id,
midi::MidiService* midi_service,
mojo::PendingReceiver<midi::mojom::MidiSessionProvider> receiver) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
mojo::MakeStrongBinding(
mojo::MakeSelfOwnedReceiver(
base::WrapUnique(new MidiHost(render_process_id, midi_service)),
std::move(request));
std::move(receiver));
}
void MidiHost::CompleteStartSession(Result result) {
......
......@@ -43,11 +43,12 @@ class CONTENT_EXPORT MidiHost : public midi::MidiManagerClient,
public:
~MidiHost() override;
// Creates an instance of MidiHost and binds |request| to the instance using
// a strong binding. Should be called on the IO thread.
static void BindRequest(int render_process_id,
midi::MidiService* midi_service,
midi::mojom::MidiSessionProviderRequest request);
// Creates an instance of MidiHost and binds |receiver| to the instance using
// a self owned receiver. Should be called on the IO thread.
static void BindReceiver(
int render_process_id,
midi::MidiService* midi_service,
mojo::PendingReceiver<midi::mojom::MidiSessionProvider> receiver);
// MidiManagerClient implementation. These methods can be called on any thread
// by platform specific implementations of MidiManager, so use locks
......
......@@ -18,8 +18,8 @@
#include "media/midi/midi_service.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace content {
......@@ -137,9 +137,8 @@ class MidiHostTest : public testing::Test {
mojo::PendingRemote<midi::mojom::MidiSessionClient> client_remote;
mojo::MakeSelfOwnedReceiver(std::make_unique<MidiSessionClientForTesting>(),
client_remote.InitWithNewPipeAndPassReceiver());
midi::mojom::MidiSessionRequest session_request =
mojo::MakeRequest(&session_);
host_->StartSession(std::move(session_request), std::move(client_remote));
host_->StartSession(session_.BindNewPipeAndPassReceiver(),
std::move(client_remote));
}
~MidiHostTest() override {
session_.reset();
......@@ -195,7 +194,7 @@ class MidiHostTest : public testing::Test {
base::WeakPtr<FakeMidiManagerFactory> factory_;
std::unique_ptr<midi::MidiService> service_;
std::unique_ptr<MidiHostForTesting> host_;
midi::mojom::MidiSessionPtr session_;
mojo::Remote<midi::mojom::MidiSession> session_;
DISALLOW_COPY_AND_ASSIGN(MidiHostTest);
};
......
......@@ -2076,7 +2076,7 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
base::Unretained(file_system_manager_impl_.get())));
registry->AddInterface(base::BindRepeating(
&MidiHost::BindRequest, GetID(),
&MidiHost::BindReceiver, GetID(),
base::Unretained(BrowserMainLoop::GetInstance()->midi_service())));
if (gpu_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