Commit 964232f7 authored by Gyuyoung Kim's avatar Gyuyoung Kim Committed by Commit Bot

Migrate MediaRouter::OnMediaRemoterCreated to new Mojo types

OnMediaRemoterCreated has still been using old Mojo types.
This CL applies pending_remote and pending_receiver to
the function.

Bug: 955171
Change-Id: Iefbf6465dfd43940f4f0a9c46c28a1f4f2012ddb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1829633Reviewed-by: default avatarTommi <tommi@chromium.org>
Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Cr-Commit-Position: refs/heads/master@{#706333}
parent ee6a927d
...@@ -192,7 +192,6 @@ CastRemotingConnector::CastRemotingConnector( ...@@ -192,7 +192,6 @@ CastRemotingConnector::CastRemotingConnector(
tab_id_(tab_id), tab_id_(tab_id),
permission_request_callback_(std::move(permission_request_callback)), permission_request_callback_(std::move(permission_request_callback)),
active_bridge_(nullptr), active_bridge_(nullptr),
deprecated_binding_(this),
pref_service_(pref_service) { pref_service_(pref_service) {
DCHECK(permission_request_callback_); DCHECK(permission_request_callback_);
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
...@@ -224,18 +223,18 @@ CastRemotingConnector::~CastRemotingConnector() { ...@@ -224,18 +223,18 @@ CastRemotingConnector::~CastRemotingConnector() {
} }
void CastRemotingConnector::ConnectToService( void CastRemotingConnector::ConnectToService(
media::mojom::MirrorServiceRemotingSourceRequest source_request, mojo::PendingReceiver<media::mojom::MirrorServiceRemotingSource>
media::mojom::MirrorServiceRemoterPtr remoter) { source_receiver,
DCHECK(!deprecated_binding_); mojo::PendingRemote<media::mojom::MirrorServiceRemoter> remoter) {
DCHECK(!deprecated_remoter_); DCHECK(!deprecated_remoter_);
DCHECK(remoter); DCHECK(remoter);
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
deprecated_binding_.Bind(std::move(source_request)); deprecated_receiver_.Bind(std::move(source_receiver));
deprecated_binding_.set_connection_error_handler(base::BindOnce( deprecated_receiver_.set_disconnect_handler(base::BindOnce(
&CastRemotingConnector::OnMirrorServiceStopped, base::Unretained(this))); &CastRemotingConnector::OnMirrorServiceStopped, base::Unretained(this)));
deprecated_remoter_ = std::move(remoter); deprecated_remoter_.Bind(std::move(remoter));
deprecated_remoter_.set_connection_error_handler(base::BindOnce( deprecated_remoter_.set_disconnect_handler(base::BindOnce(
&CastRemotingConnector::OnMirrorServiceStopped, base::Unretained(this))); &CastRemotingConnector::OnMirrorServiceStopped, base::Unretained(this)));
} }
...@@ -263,8 +262,7 @@ void CastRemotingConnector::OnMirrorServiceStopped() { ...@@ -263,8 +262,7 @@ void CastRemotingConnector::OnMirrorServiceStopped() {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
DVLOG(2) << __func__; DVLOG(2) << __func__;
if (deprecated_binding_) deprecated_receiver_.reset();
deprecated_binding_.Close();
deprecated_remoter_.reset(); deprecated_remoter_.reset();
receiver_.reset(); receiver_.reset();
remoter_.reset(); remoter_.reset();
......
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
#include "media/mojo/mojom/mirror_service_remoting.mojom.h" #include "media/mojo/mojom/mirror_service_remoting.mojom.h"
#include "media/mojo/mojom/remoting.mojom.h" #include "media/mojo/mojom/remoting.mojom.h"
#include "media/mojo/mojom/remoting_common.mojom.h" #include "media/mojo/mojom/remoting_common.mojom.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/bindings/remote.h"
...@@ -100,8 +101,9 @@ class CastRemotingConnector : public base::SupportsUserData::Data, ...@@ -100,8 +101,9 @@ class CastRemotingConnector : public base::SupportsUserData::Data,
// call connects the CastRemotingConnector with the MediaRemoter. Remoting // call connects the CastRemotingConnector with the MediaRemoter. Remoting
// sessions can only be started after this is called. // sessions can only be started after this is called.
void ConnectToService( void ConnectToService(
media::mojom::MirrorServiceRemotingSourceRequest source_request, mojo::PendingReceiver<media::mojom::MirrorServiceRemotingSource>
media::mojom::MirrorServiceRemoterPtr remoter); source_receiver,
mojo::PendingRemote<media::mojom::MirrorServiceRemoter> remoter);
// Called at the start of mirroring to reset the permission. // Called at the start of mirroring to reset the permission.
void ResetRemotingPermission(); void ResetRemotingPermission();
...@@ -234,8 +236,9 @@ class CastRemotingConnector : public base::SupportsUserData::Data, ...@@ -234,8 +236,9 @@ class CastRemotingConnector : public base::SupportsUserData::Data,
RemotingBridge* active_bridge_; RemotingBridge* active_bridge_;
// TODO(xjz): Remove these after Mirroring Service is launched. // TODO(xjz): Remove these after Mirroring Service is launched.
mojo::Binding<media::mojom::MirrorServiceRemotingSource> deprecated_binding_; mojo::Receiver<media::mojom::MirrorServiceRemotingSource>
media::mojom::MirrorServiceRemoterPtr deprecated_remoter_; deprecated_receiver_{this};
mojo::Remote<media::mojom::MirrorServiceRemoter> deprecated_remoter_;
mojo::Receiver<media::mojom::RemotingSource> receiver_{this}; mojo::Receiver<media::mojom::RemotingSource> receiver_{this};
mojo::Remote<media::mojom::Remoter> remoter_; mojo::Remote<media::mojom::Remoter> remoter_;
......
...@@ -21,7 +21,10 @@ ...@@ -21,7 +21,10 @@
#include "content/public/test/browser_task_environment.h" #include "content/public/test/browser_task_environment.h"
#include "media/mojo/mojom/mirror_service_remoting.mojom.h" #include "media/mojo/mojom/mirror_service_remoting.mojom.h"
#include "media/mojo/mojom/remoting.mojom.h" #include "media/mojo/mojom/remoting.mojom.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -81,8 +84,9 @@ class FakeMediaRouter : public media_router::MockMediaRouter { ...@@ -81,8 +84,9 @@ class FakeMediaRouter : public media_router::MockMediaRouter {
void OnMediaRemoterCreated( void OnMediaRemoterCreated(
SessionID tab_id, SessionID tab_id,
MirrorServiceRemoterPtr remoter, mojo::PendingRemote<media::mojom::MirrorServiceRemoter> remoter,
MirrorServiceRemotingSourceRequest remoting_source) { mojo::PendingReceiver<media::mojom::MirrorServiceRemotingSource>
remoting_source) {
if (tab_id != tab_id_) if (tab_id != tab_id_)
return; return;
...@@ -130,16 +134,15 @@ class MockMediaRemoter final : public media::mojom::MirrorServiceRemoter, ...@@ -130,16 +134,15 @@ class MockMediaRemoter final : public media::mojom::MirrorServiceRemoter,
public media::mojom::Remoter { public media::mojom::Remoter {
public: public:
// TODO(xjz): Remove this ctor after Mirroring Service is launched. // TODO(xjz): Remove this ctor after Mirroring Service is launched.
explicit MockMediaRemoter(FakeMediaRouter* media_router) explicit MockMediaRemoter(FakeMediaRouter* media_router) {
: deprecated_binding_(this) { mojo::PendingRemote<media::mojom::MirrorServiceRemoter> pending_remoter;
MirrorServiceRemoterPtr remoter; deprecated_receiver_.Bind(pending_remoter.InitWithNewPipeAndPassReceiver());
deprecated_binding_.Bind(mojo::MakeRequest(&remoter)); media_router->OnMediaRemoterCreated(
media_router->OnMediaRemoterCreated(kRemotingTabId, std::move(remoter), kRemotingTabId, std::move(pending_remoter),
mojo::MakeRequest(&deprecated_source_)); deprecated_source_.BindNewPipeAndPassReceiver());
} }
explicit MockMediaRemoter(CastRemotingConnector* connector) explicit MockMediaRemoter(CastRemotingConnector* connector) {
: deprecated_binding_(this) {
connector->ConnectWithMediaRemoter(receiver_.BindNewPipeAndPassRemote(), connector->ConnectWithMediaRemoter(receiver_.BindNewPipeAndPassRemote(),
mojo::MakeRequest(&source_)); mojo::MakeRequest(&source_));
} }
...@@ -217,8 +220,8 @@ class MockMediaRemoter final : public media::mojom::MirrorServiceRemoter, ...@@ -217,8 +220,8 @@ class MockMediaRemoter final : public media::mojom::MirrorServiceRemoter,
private: private:
// TODO(xjz): Remove these after Mirroring Service is launched. // TODO(xjz): Remove these after Mirroring Service is launched.
mojo::Binding<media::mojom::MirrorServiceRemoter> deprecated_binding_; mojo::Receiver<media::mojom::MirrorServiceRemoter> deprecated_receiver_{this};
MirrorServiceRemotingSourcePtr deprecated_source_; mojo::Remote<media::mojom::MirrorServiceRemotingSource> deprecated_source_;
mojo::Receiver<media::mojom::Remoter> receiver_{this}; mojo::Receiver<media::mojom::Remoter> receiver_{this};
RemotingSourcePtr source_; RemotingSourcePtr source_;
......
...@@ -914,8 +914,9 @@ void MediaRouterMojoImpl::OnProviderConnectionError( ...@@ -914,8 +914,9 @@ void MediaRouterMojoImpl::OnProviderConnectionError(
void MediaRouterMojoImpl::OnMediaRemoterCreated( void MediaRouterMojoImpl::OnMediaRemoterCreated(
int32_t tab_id, int32_t tab_id,
media::mojom::MirrorServiceRemoterPtr remoter, mojo::PendingRemote<media::mojom::MirrorServiceRemoter> remoter,
media::mojom::MirrorServiceRemotingSourceRequest source_request) { mojo::PendingReceiver<media::mojom::MirrorServiceRemotingSource>
source_receiver) {
DVLOG_WITH_INSTANCE(1) << __func__ << ": tab_id = " << tab_id; DVLOG_WITH_INSTANCE(1) << __func__ << ": tab_id = " << tab_id;
auto it = remoting_sources_.find(SessionID::FromSerializedValue(tab_id)); auto it = remoting_sources_.find(SessionID::FromSerializedValue(tab_id));
...@@ -926,7 +927,7 @@ void MediaRouterMojoImpl::OnMediaRemoterCreated( ...@@ -926,7 +927,7 @@ void MediaRouterMojoImpl::OnMediaRemoterCreated(
} }
CastRemotingConnector* connector = it->second; CastRemotingConnector* connector = it->second;
connector->ConnectToService(std::move(source_request), std::move(remoter)); connector->ConnectToService(std::move(source_receiver), std::move(remoter));
} }
void MediaRouterMojoImpl::GetMediaSinkServiceStatus( void MediaRouterMojoImpl::GetMediaSinkServiceStatus(
......
...@@ -342,8 +342,9 @@ class MediaRouterMojoImpl : public MediaRouterBase, public mojom::MediaRouter { ...@@ -342,8 +342,9 @@ class MediaRouterMojoImpl : public MediaRouterBase, public mojom::MediaRouter {
std::vector<mojom::RouteMessagePtr> messages) override; std::vector<mojom::RouteMessagePtr> messages) override;
void OnMediaRemoterCreated( void OnMediaRemoterCreated(
int32_t tab_id, int32_t tab_id,
media::mojom::MirrorServiceRemoterPtr remoter, mojo::PendingRemote<media::mojom::MirrorServiceRemoter> remoter,
media::mojom::MirrorServiceRemotingSourceRequest source_request) override; mojo::PendingReceiver<media::mojom::MirrorServiceRemotingSource>
source_receiver) override;
void GetMediaSinkServiceStatus( void GetMediaSinkServiceStatus(
mojom::MediaRouter::GetMediaSinkServiceStatusCallback callback) override; mojom::MediaRouter::GetMediaSinkServiceStatusCallback callback) override;
void GetMirroringServiceHostForTab( void GetMirroringServiceHostForTab(
......
...@@ -59,17 +59,20 @@ class MockMojoMediaRouter : public MockMediaRouter, public mojom::MediaRouter { ...@@ -59,17 +59,20 @@ class MockMojoMediaRouter : public MockMediaRouter, public mojom::MediaRouter {
MOCK_METHOD2(OnRouteMessagesReceived, MOCK_METHOD2(OnRouteMessagesReceived,
void(const std::string& route_id, void(const std::string& route_id,
std::vector<mojom::RouteMessagePtr> messages)); std::vector<mojom::RouteMessagePtr> messages));
void OnMediaRemoterCreated(int32_t tab_id, void OnMediaRemoterCreated(
media::mojom::MirrorServiceRemoterPtr remoter, int32_t tab_id,
media::mojom::MirrorServiceRemotingSourceRequest mojo::PendingRemote<media::mojom::MirrorServiceRemoter> remoter,
source_request) override { mojo::PendingReceiver<media::mojom::MirrorServiceRemotingSource>
OnMediaRemoterCreatedInternal(tab_id, remoter, source_request); source_receiver) override {
OnMediaRemoterCreatedInternal(tab_id, std::move(remoter),
std::move(source_receiver));
} }
MOCK_METHOD3( MOCK_METHOD3(
OnMediaRemoterCreatedInternal, OnMediaRemoterCreatedInternal,
void(int32_t tab_id, void(int32_t tab_id,
media::mojom::MirrorServiceRemoterPtr& remoter, mojo::PendingRemote<media::mojom::MirrorServiceRemoter> remoter,
media::mojom::MirrorServiceRemotingSourceRequest& source_request)); mojo::PendingReceiver<media::mojom::MirrorServiceRemotingSource>
source_receiver));
void GetMediaSinkServiceStatus( void GetMediaSinkServiceStatus(
mojom::MediaRouter::GetMediaSinkServiceStatusCallback callback) override { mojom::MediaRouter::GetMediaSinkServiceStatusCallback callback) override {
GetMediaSinkServiceStatusInternal(callback); GetMediaSinkServiceStatusInternal(callback);
......
...@@ -573,8 +573,11 @@ interface MediaRouter { ...@@ -573,8 +573,11 @@ interface MediaRouter {
// can be used to access the MediaRemoter to control a media remoting session // can be used to access the MediaRemoter to control a media remoting session
// and send RPC messages to the remote device. |remoting_source| is bound to // and send RPC messages to the remote device. |remoting_source| is bound to
// receive the updates/messages from MediaRemoter. // receive the updates/messages from MediaRemoter.
OnMediaRemoterCreated(int32 tab_id, media.mojom.MirrorServiceRemoter remoter, OnMediaRemoterCreated(
media.mojom.MirrorServiceRemotingSource& remoting_source); int32 tab_id,
pending_remote<media.mojom.MirrorServiceRemoter> remoter,
pending_receiver<media.mojom.MirrorServiceRemotingSource>
remoting_source);
// Returns current status of media sink service in JSON format. // Returns current status of media sink service in JSON format.
GetMediaSinkServiceStatus() => (string status); GetMediaSinkServiceStatus() => (string status);
......
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