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() {
}
void CastContentBrowserClient::BindMediaRenderer(
mojo::InterfaceRequest<::media::mojom::Renderer> request) {
mojo::PendingReceiver<::media::mojom::Renderer> receiver) {
auto media_task_runner = GetMediaTaskRunner();
if (!media_task_runner->BelongsToCurrentThread()) {
media_task_runner->PostTask(
FROM_HERE, base::BindOnce(&CastContentBrowserClient::BindMediaRenderer,
base::Unretained(this), std::move(request)));
base::Unretained(this), std::move(receiver)));
return;
}
......@@ -899,7 +899,7 @@ void CastContentBrowserClient::BindMediaRenderer(
GetCmaBackendFactory(), std::move(media_task_runner),
GetVideoModeSwitcher(), GetVideoResolutionPolicy(),
nullptr /* connector */, nullptr /* host_interfaces */),
std::move(request));
std::move(receiver));
}
} // namespace shell
......
......@@ -20,6 +20,7 @@
#include "content/public/browser/certificate_request_result_type.h"
#include "content/public/browser/content_browser_client.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 "services/service_manager/public/cpp/binder_registry.h"
#include "services/service_manager/public/mojom/interface_provider.mojom-forward.h"
......@@ -259,7 +260,7 @@ class CastContentBrowserClient
}
void BindMediaRenderer(
mojo::InterfaceRequest<::media::mojom::Renderer> request);
mojo::PendingReceiver<::media::mojom::Renderer> receiver);
// Internal implementation overwrites this function to inject real values.
virtual void GetApplicationMediaInfo(
......
......@@ -28,7 +28,7 @@
#include "media/renderers/video_overlay_factory.h"
#include "mojo/public/cpp/bindings/interface_request.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 "url/gurl.h"
#include "url/origin.h"
......@@ -72,7 +72,7 @@ class MojoRendererTest : public ::testing::Test {
mock_renderer_ = mock_renderer.get();
mojo::PendingRemote<mojom::Renderer> remote_renderer_remote;
renderer_binding_ = MojoRendererService::Create(
renderer_receiver_ = MojoRendererService::Create(
&mojo_cdm_service_context_, std::move(mock_renderer),
remote_renderer_remote.InitWithNewPipeAndPassReceiver());
......@@ -166,8 +166,8 @@ class MojoRendererTest : public ::testing::Test {
// on it. Otherwise the test will crash.
void ConnectionError() {
DVLOG(1) << __func__;
DCHECK(renderer_binding_);
renderer_binding_->Close();
DCHECK(renderer_receiver_);
renderer_receiver_->Close();
base::RunLoop().RunUntilIdle();
}
......@@ -226,7 +226,7 @@ class MojoRendererTest : public ::testing::Test {
StrictMock<MockRenderer>* mock_renderer_;
RendererClient* remote_renderer_client_;
mojo::StrongBindingPtr<mojom::Renderer> renderer_binding_;
mojo::SelfOwnedReceiverRef<mojom::Renderer> renderer_receiver_;
private:
DISALLOW_COPY_AND_ASSIGN(MojoRendererTest);
......
......@@ -15,16 +15,16 @@
#include "media/mojo/common/media_type_converters.h"
#include "media/mojo/services/media_resource_shim.h"
#include "media/mojo/services/mojo_cdm_service_context.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
namespace media {
namespace {
void CloseBindingOnBadMessage(mojo::StrongBindingPtr<mojom::Renderer> binding) {
void CloseReceiverOnBadMessage(
mojo::SelfOwnedReceiverRef<mojom::Renderer> receiver) {
LOG(ERROR) << __func__;
DCHECK(binding);
binding->Close();
DCHECK(receiver);
receiver->Close();
}
} // namespace
......@@ -33,20 +33,21 @@ void CloseBindingOnBadMessage(mojo::StrongBindingPtr<mojom::Renderer> binding) {
const int kTimeUpdateIntervalMs = 50;
// static
mojo::StrongBindingPtr<mojom::Renderer> MojoRendererService::Create(
mojo::SelfOwnedReceiverRef<mojom::Renderer> MojoRendererService::Create(
MojoCdmServiceContext* mojo_cdm_service_context,
std::unique_ptr<media::Renderer> renderer,
mojo::PendingReceiver<mojom::Renderer> receiver) {
MojoRendererService* service =
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),
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(
......
......@@ -23,7 +23,7 @@
#include "media/mojo/services/media_mojo_export.h"
#include "mojo/public/cpp/bindings/pending_receiver.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 {
......@@ -37,9 +37,9 @@ class Renderer;
class MEDIA_MOJO_EXPORT MojoRendererService : public mojom::Renderer,
public RendererClient {
public:
// Helper function to bind MojoRendererService with a StrongBinding,
// which is safely accessible via the returned StrongBindingPtr.
static mojo::StrongBindingPtr<mojom::Renderer> Create(
// Helper function to bind MojoRendererService with a SelfOwendReceiver,
// which is safely accessible via the returned SelfOwnedReceiverRef.
static mojo::SelfOwnedReceiverRef<mojom::Renderer> Create(
MojoCdmServiceContext* mojo_cdm_service_context,
std::unique_ptr<media::Renderer> renderer,
mojo::PendingReceiver<mojom::Renderer> receiver);
......
include_rules = [
"+mojo/core/embedder",
"+mojo/public",
"+services/service_manager/public/cpp",
]
......@@ -43,6 +43,7 @@
#include "media/mojo/mojom/interface_factory.mojom.h"
#include "media/mojo/mojom/renderer.mojom.h"
#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/test/test_service.h" // nogncheck
#include "services/service_manager/public/cpp/test/test_service_manager.h" // nogncheck
......@@ -442,9 +443,9 @@ class PipelineIntegrationTest : public testing::Testing,
test_service_.connector()->BindInterface(mojom::kMediaServiceName,
&media_interface_factory_);
mojom::RendererPtr mojo_renderer;
media_interface_factory_->CreateRenderer(std::string(),
mojo::MakeRequest(&mojo_renderer));
mojo::PendingRemote<mojom::Renderer> mojo_renderer;
media_interface_factory_->CreateRenderer(
std::string(), mojo_renderer.InitWithNewPipeAndPassReceiver());
return std::make_unique<MojoRenderer>(message_loop_.task_runner(),
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