Commit ddb9567a authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert MediaControllerManager to new Mojo types

This CL converts MediaControllerManager{Ptr, Request} in chromeos,
content and services to the new Mojo type.

Bug: 955171
Change-Id: Ic346dcdeac6e2dc59dc99a953345abd61f9d2c59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1849735
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Reviewed-by: default avatarMounir Lamouri <mlamouri@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Reviewed-by: default avatarOlga Sharonova <olka@chromium.org>
Reviewed-by: default avatarMaksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706946}
parent aabfe60f
......@@ -6,6 +6,7 @@ include_rules = [
"+chromeos/dbus",
"+components/prefs",
"+media",
"+mojo/public/cpp/bindings",
"+testing",
"+services/media_session/public",
"+services/service_manager/public",
......
......@@ -22,6 +22,7 @@
#include "base/threading/thread_task_runner_handle.h"
#include "chromeos/audio/audio_device.h"
#include "chromeos/audio/audio_devices_pref_handler_stub.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/media_session/public/mojom/constants.mojom.h"
#include "services/media_session/public/mojom/media_controller.mojom.h"
#include "services/service_manager/public/cpp/connector.h"
......@@ -1186,10 +1187,10 @@ void CrasAudioHandler::PauseAllStreams() {
LOG(ERROR) << "Failed to get connector";
return;
}
media_session::mojom::MediaControllerManagerPtr controller_manager_ptr;
connector_->BindInterface(media_session::mojom::kServiceName,
mojo::MakeRequest(&controller_manager_ptr));
controller_manager_ptr->SuspendAllSessions();
mojo::Remote<media_session::mojom::MediaControllerManager> controller_manager;
connector_->Connect(media_session::mojom::kServiceName,
controller_manager.BindNewPipeAndPassReceiver());
controller_manager->SuspendAllSessions();
}
void CrasAudioHandler::HandleNonHotplugNodesChange(
......
......@@ -23,6 +23,8 @@
#include "chromeos/dbus/audio/audio_node.h"
#include "chromeos/dbus/audio/fake_cras_audio_client.h"
#include "media/base/video_facing.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "services/media_session/public/mojom/constants.mojom.h"
#include "services/media_session/public/mojom/media_controller.mojom-test-utils.h"
#include "services/service_manager/public/cpp/binder_registry.h"
......@@ -43,7 +45,7 @@ class FakeMediaSessionService
service_manager::mojom::ServiceRequest request)
: binding_(this, std::move(request)) {
binder_registry_.AddInterface(base::BindRepeating(
&FakeMediaSessionService::BindMediaControllerManagerRequest,
&FakeMediaSessionService::BindMediaControllerManagerReceiver,
base::Unretained(this)));
}
......@@ -63,14 +65,15 @@ class FakeMediaSessionService
return nullptr;
}
void BindMediaControllerManagerRequest(
media_session::mojom::MediaControllerManagerRequest request) {
bindings_.AddBinding(this, std::move(request));
void BindMediaControllerManagerReceiver(
mojo::PendingReceiver<media_session::mojom::MediaControllerManager>
receiver) {
receivers_.Add(this, std::move(receiver));
}
service_manager::ServiceBinding binding_;
service_manager::BinderRegistry binder_registry_;
mojo::BindingSet<media_session::mojom::MediaControllerManager> bindings_;
mojo::ReceiverSet<media_session::mojom::MediaControllerManager> receivers_;
DISALLOW_COPY_AND_ASSIGN(FakeMediaSessionService);
};
......
......@@ -7,6 +7,7 @@
#include <memory>
#include <utility>
#include "mojo/public/cpp/bindings/remote.h"
#include "services/media_session/public/mojom/constants.mojom.h"
#include "services/media_session/public/mojom/media_session.mojom.h"
#include "services/service_manager/public/cpp/connector.h"
......@@ -31,10 +32,10 @@ void MprisNotifier::Initialize() {
// Connect to the MediaControllerManager and create a MediaController that
// controls the active session so we can observe it.
media_session::mojom::MediaControllerManagerPtr controller_manager_ptr;
connector_->BindInterface(media_session::mojom::kServiceName,
mojo::MakeRequest(&controller_manager_ptr));
controller_manager_ptr->CreateActiveMediaController(
mojo::Remote<media_session::mojom::MediaControllerManager> controller_manager;
connector_->Connect(media_session::mojom::kServiceName,
controller_manager.BindNewPipeAndPassReceiver());
controller_manager->CreateActiveMediaController(
media_controller_.BindNewPipeAndPassReceiver());
// Observe the active media controller for changes to playback state and
......
......@@ -7,6 +7,7 @@
#include <memory>
#include <utility>
#include "mojo/public/cpp/bindings/remote.h"
#include "services/media_session/public/mojom/constants.mojom.h"
#include "services/media_session/public/mojom/media_session.mojom.h"
#include "services/service_manager/public/cpp/connector.h"
......@@ -26,10 +27,10 @@ NowPlayingInfoCenterNotifier::NowPlayingInfoCenterNotifier(
// Connect to the MediaControllerManager and create a MediaController that
// controls the active session so we can observe it.
media_session::mojom::MediaControllerManagerPtr controller_manager_ptr;
connector->BindInterface(media_session::mojom::kServiceName,
mojo::MakeRequest(&controller_manager_ptr));
controller_manager_ptr->CreateActiveMediaController(
mojo::Remote<media_session::mojom::MediaControllerManager> controller_manager;
connector->Connect(media_session::mojom::kServiceName,
controller_manager.BindNewPipeAndPassReceiver());
controller_manager->CreateActiveMediaController(
media_controller_.BindNewPipeAndPassReceiver());
// Observe the active media controller for changes to playback state and
......
......@@ -11,6 +11,7 @@
#include "base/time/time.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/common/content_client.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/media_session/public/mojom/constants.mojom.h"
#include "services/media_session/public/mojom/media_session.mojom.h"
#include "services/service_manager/public/cpp/connector.h"
......@@ -59,10 +60,10 @@ void SystemMediaControlsNotifier::Initialize() {
// Connect to the MediaControllerManager and create a MediaController that
// controls the active session so we can observe it.
media_session::mojom::MediaControllerManagerPtr controller_manager_ptr;
connector_->BindInterface(media_session::mojom::kServiceName,
mojo::MakeRequest(&controller_manager_ptr));
controller_manager_ptr->CreateActiveMediaController(
mojo::Remote<media_session::mojom::MediaControllerManager> controller_manager;
connector_->Connect(media_session::mojom::kServiceName,
controller_manager.BindNewPipeAndPassReceiver());
controller_manager->CreateActiveMediaController(
media_controller_.BindNewPipeAndPassReceiver());
// Observe the active media controller for changes to playback state and
......
......@@ -301,9 +301,9 @@ void AudioFocusManager::BindToDebugInterface(
}
void AudioFocusManager::BindToControllerManagerInterface(
mojom::MediaControllerManagerRequest request) {
mojo::PendingReceiver<mojom::MediaControllerManager> receiver) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
controller_bindings_.AddBinding(this, std::move(request));
controller_receivers_.Add(this, std::move(receiver));
}
void AudioFocusManager::RequestAudioFocusInternal(
......
......@@ -12,7 +12,6 @@
#include "base/memory/weak_ptr.h"
#include "base/threading/thread_checker.h"
#include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "mojo/public/cpp/bindings/remote_set.h"
......@@ -97,9 +96,9 @@ class AudioFocusManager : public mojom::AudioFocusManager,
void BindToDebugInterface(
mojo::PendingReceiver<mojom::AudioFocusManagerDebug> receiver);
// Bind to a mojom::MediaControllerManagerRequest.
// Bind to a receiver of mojom::MediaControllerManager.
void BindToControllerManagerInterface(
mojom::MediaControllerManagerRequest request);
mojo::PendingReceiver<mojom::MediaControllerManager> receiver);
private:
friend class AudioFocusManagerTest;
......@@ -166,8 +165,8 @@ class AudioFocusManager : public mojom::AudioFocusManager,
// Holds mojo receivers for the Audio Focus Manager Debug API.
mojo::ReceiverSet<mojom::AudioFocusManagerDebug> debug_receivers_;
// Holds mojo bindings for the Media Controller Manager API.
mojo::BindingSet<mojom::MediaControllerManager> controller_bindings_;
// Holds mojo receivers for the Media Controller Manager API.
mojo::ReceiverSet<mojom::MediaControllerManager> controller_receivers_;
// Weak reference of managed observers. Observers are expected to remove
// themselves before being destroyed.
......
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