Commit eee74467 authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Clean up old Mojo types for media::Renderer

This CL cleans up old Mojo types for media::Renderer using
PendingReceiver and SelfOwnedReceiverRef.

Bug: 955171
Change-Id: Ibbd108219a3f3eac175e4122376f1a78ed976aa8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1886070Reviewed-by: default avatarXiaohan Wang <xhwang@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Reviewed-by: default avatarLuke Halliwell (slow) <halliwell@chromium.org>
Commit-Queue: Julie Kim <jkim@igalia.com>
Cr-Commit-Position: refs/heads/master@{#711112}
parent 6709f8f0
...@@ -884,12 +884,12 @@ void CastContentBrowserClient::CreateGeneralAudienceBrowsingService() { ...@@ -884,12 +884,12 @@ void CastContentBrowserClient::CreateGeneralAudienceBrowsingService() {
} }
void CastContentBrowserClient::BindMediaRenderer( void CastContentBrowserClient::BindMediaRenderer(
mojo::InterfaceRequest<::media::mojom::Renderer> request) { mojo::PendingReceiver<::media::mojom::Renderer> receiver) {
auto media_task_runner = GetMediaTaskRunner(); auto media_task_runner = GetMediaTaskRunner();
if (!media_task_runner->BelongsToCurrentThread()) { if (!media_task_runner->BelongsToCurrentThread()) {
media_task_runner->PostTask( media_task_runner->PostTask(
FROM_HERE, base::BindOnce(&CastContentBrowserClient::BindMediaRenderer, FROM_HERE, base::BindOnce(&CastContentBrowserClient::BindMediaRenderer,
base::Unretained(this), std::move(request))); base::Unretained(this), std::move(receiver)));
return; return;
} }
...@@ -899,7 +899,7 @@ void CastContentBrowserClient::BindMediaRenderer( ...@@ -899,7 +899,7 @@ void CastContentBrowserClient::BindMediaRenderer(
GetCmaBackendFactory(), std::move(media_task_runner), GetCmaBackendFactory(), std::move(media_task_runner),
GetVideoModeSwitcher(), GetVideoResolutionPolicy(), GetVideoModeSwitcher(), GetVideoResolutionPolicy(),
nullptr /* connector */, nullptr /* host_interfaces */), nullptr /* connector */, nullptr /* host_interfaces */),
std::move(request)); std::move(receiver));
} }
} // namespace shell } // namespace shell
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "content/public/browser/certificate_request_result_type.h" #include "content/public/browser/certificate_request_result_type.h"
#include "content/public/browser/content_browser_client.h" #include "content/public/browser/content_browser_client.h"
#include "media/mojo/mojom/renderer.mojom.h" #include "media/mojo/mojom/renderer.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "net/url_request/url_request_context.h" #include "net/url_request/url_request_context.h"
#include "services/service_manager/public/cpp/binder_registry.h" #include "services/service_manager/public/cpp/binder_registry.h"
#include "services/service_manager/public/mojom/interface_provider.mojom-forward.h" #include "services/service_manager/public/mojom/interface_provider.mojom-forward.h"
...@@ -259,7 +260,7 @@ class CastContentBrowserClient ...@@ -259,7 +260,7 @@ class CastContentBrowserClient
} }
void BindMediaRenderer( void BindMediaRenderer(
mojo::InterfaceRequest<::media::mojom::Renderer> request); mojo::PendingReceiver<::media::mojom::Renderer> receiver);
// Internal implementation overwrites this function to inject real values. // Internal implementation overwrites this function to inject real values.
virtual void GetApplicationMediaInfo( virtual void GetApplicationMediaInfo(
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#include "media/renderers/video_overlay_factory.h" #include "media/renderers/video_overlay_factory.h"
#include "mojo/public/cpp/bindings/interface_request.h" #include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/strong_binding.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h" #include "url/gurl.h"
#include "url/origin.h" #include "url/origin.h"
...@@ -72,7 +72,7 @@ class MojoRendererTest : public ::testing::Test { ...@@ -72,7 +72,7 @@ class MojoRendererTest : public ::testing::Test {
mock_renderer_ = mock_renderer.get(); mock_renderer_ = mock_renderer.get();
mojo::PendingRemote<mojom::Renderer> remote_renderer_remote; mojo::PendingRemote<mojom::Renderer> remote_renderer_remote;
renderer_binding_ = MojoRendererService::Create( renderer_receiver_ = MojoRendererService::Create(
&mojo_cdm_service_context_, std::move(mock_renderer), &mojo_cdm_service_context_, std::move(mock_renderer),
remote_renderer_remote.InitWithNewPipeAndPassReceiver()); remote_renderer_remote.InitWithNewPipeAndPassReceiver());
...@@ -166,8 +166,8 @@ class MojoRendererTest : public ::testing::Test { ...@@ -166,8 +166,8 @@ class MojoRendererTest : public ::testing::Test {
// on it. Otherwise the test will crash. // on it. Otherwise the test will crash.
void ConnectionError() { void ConnectionError() {
DVLOG(1) << __func__; DVLOG(1) << __func__;
DCHECK(renderer_binding_); DCHECK(renderer_receiver_);
renderer_binding_->Close(); renderer_receiver_->Close();
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
} }
...@@ -226,7 +226,7 @@ class MojoRendererTest : public ::testing::Test { ...@@ -226,7 +226,7 @@ class MojoRendererTest : public ::testing::Test {
StrictMock<MockRenderer>* mock_renderer_; StrictMock<MockRenderer>* mock_renderer_;
RendererClient* remote_renderer_client_; RendererClient* remote_renderer_client_;
mojo::StrongBindingPtr<mojom::Renderer> renderer_binding_; mojo::SelfOwnedReceiverRef<mojom::Renderer> renderer_receiver_;
private: private:
DISALLOW_COPY_AND_ASSIGN(MojoRendererTest); DISALLOW_COPY_AND_ASSIGN(MojoRendererTest);
......
...@@ -15,16 +15,16 @@ ...@@ -15,16 +15,16 @@
#include "media/mojo/common/media_type_converters.h" #include "media/mojo/common/media_type_converters.h"
#include "media/mojo/services/media_resource_shim.h" #include "media/mojo/services/media_resource_shim.h"
#include "media/mojo/services/mojo_cdm_service_context.h" #include "media/mojo/services/mojo_cdm_service_context.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
namespace media { namespace media {
namespace { namespace {
void CloseBindingOnBadMessage(mojo::StrongBindingPtr<mojom::Renderer> binding) { void CloseReceiverOnBadMessage(
mojo::SelfOwnedReceiverRef<mojom::Renderer> receiver) {
LOG(ERROR) << __func__; LOG(ERROR) << __func__;
DCHECK(binding); DCHECK(receiver);
binding->Close(); receiver->Close();
} }
} // namespace } // namespace
...@@ -33,20 +33,21 @@ void CloseBindingOnBadMessage(mojo::StrongBindingPtr<mojom::Renderer> binding) { ...@@ -33,20 +33,21 @@ void CloseBindingOnBadMessage(mojo::StrongBindingPtr<mojom::Renderer> binding) {
const int kTimeUpdateIntervalMs = 50; const int kTimeUpdateIntervalMs = 50;
// static // static
mojo::StrongBindingPtr<mojom::Renderer> MojoRendererService::Create( mojo::SelfOwnedReceiverRef<mojom::Renderer> MojoRendererService::Create(
MojoCdmServiceContext* mojo_cdm_service_context, MojoCdmServiceContext* mojo_cdm_service_context,
std::unique_ptr<media::Renderer> renderer, std::unique_ptr<media::Renderer> renderer,
mojo::PendingReceiver<mojom::Renderer> receiver) { mojo::PendingReceiver<mojom::Renderer> receiver) {
MojoRendererService* service = MojoRendererService* service =
new MojoRendererService(mojo_cdm_service_context, std::move(renderer)); new MojoRendererService(mojo_cdm_service_context, std::move(renderer));
mojo::StrongBindingPtr<mojom::Renderer> binding = mojo::SelfOwnedReceiverRef<mojom::Renderer> self_owned_receiver =
mojo::MakeSelfOwnedReceiver<mojom::Renderer>(base::WrapUnique(service), mojo::MakeSelfOwnedReceiver<mojom::Renderer>(base::WrapUnique(service),
std::move(receiver)); std::move(receiver));
service->set_bad_message_cb(base::Bind(&CloseBindingOnBadMessage, binding)); service->set_bad_message_cb(
base::Bind(&CloseReceiverOnBadMessage, self_owned_receiver));
return binding; return self_owned_receiver;
} }
MojoRendererService::MojoRendererService( MojoRendererService::MojoRendererService(
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include "media/mojo/services/media_mojo_export.h" #include "media/mojo/services/media_mojo_export.h"
#include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/strong_binding.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h"
namespace media { namespace media {
...@@ -37,9 +37,9 @@ class Renderer; ...@@ -37,9 +37,9 @@ class Renderer;
class MEDIA_MOJO_EXPORT MojoRendererService : public mojom::Renderer, class MEDIA_MOJO_EXPORT MojoRendererService : public mojom::Renderer,
public RendererClient { public RendererClient {
public: public:
// Helper function to bind MojoRendererService with a StrongBinding, // Helper function to bind MojoRendererService with a SelfOwendReceiver,
// which is safely accessible via the returned StrongBindingPtr. // which is safely accessible via the returned SelfOwnedReceiverRef.
static mojo::StrongBindingPtr<mojom::Renderer> Create( static mojo::SelfOwnedReceiverRef<mojom::Renderer> Create(
MojoCdmServiceContext* mojo_cdm_service_context, MojoCdmServiceContext* mojo_cdm_service_context,
std::unique_ptr<media::Renderer> renderer, std::unique_ptr<media::Renderer> renderer,
mojo::PendingReceiver<mojom::Renderer> receiver); mojo::PendingReceiver<mojom::Renderer> receiver);
......
include_rules = [ include_rules = [
"+mojo/core/embedder", "+mojo/core/embedder",
"+mojo/public",
"+services/service_manager/public/cpp", "+services/service_manager/public/cpp",
] ]
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include "media/mojo/mojom/interface_factory.mojom.h" #include "media/mojo/mojom/interface_factory.mojom.h"
#include "media/mojo/mojom/renderer.mojom.h" #include "media/mojo/mojom/renderer.mojom.h"
#include "media/mojo/services/media_manifest.h" // nogncheck #include "media/mojo/services/media_manifest.h" // nogncheck
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/service_manager/public/cpp/manifest_builder.h" // nogncheck #include "services/service_manager/public/cpp/manifest_builder.h" // nogncheck
#include "services/service_manager/public/cpp/test/test_service.h" // nogncheck #include "services/service_manager/public/cpp/test/test_service.h" // nogncheck
#include "services/service_manager/public/cpp/test/test_service_manager.h" // nogncheck #include "services/service_manager/public/cpp/test/test_service_manager.h" // nogncheck
...@@ -442,9 +443,9 @@ class PipelineIntegrationTest : public testing::Testing, ...@@ -442,9 +443,9 @@ class PipelineIntegrationTest : public testing::Testing,
test_service_.connector()->BindInterface(mojom::kMediaServiceName, test_service_.connector()->BindInterface(mojom::kMediaServiceName,
&media_interface_factory_); &media_interface_factory_);
mojom::RendererPtr mojo_renderer; mojo::PendingRemote<mojom::Renderer> mojo_renderer;
media_interface_factory_->CreateRenderer(std::string(), media_interface_factory_->CreateRenderer(
mojo::MakeRequest(&mojo_renderer)); std::string(), mojo_renderer.InitWithNewPipeAndPassReceiver());
return std::make_unique<MojoRenderer>(message_loop_.task_runner(), return std::make_unique<MojoRenderer>(message_loop_.task_runner(),
std::move(mojo_renderer)); std::move(mojo_renderer));
......
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