Commit 5c2d61a6 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert CastApplicationMediaInfoManager to new Mojo types

This CL converts CastApplicationMediaInfoManager{Ptr, Request} in
chromecast to the new Mojo type

Bug: 955171
Change-Id: I3b60c6e76e166ede239df86359959a4523f60d75
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1871879
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Reviewed-by: default avatarYuchen Liu <yucliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711961}
parent 7fcb6fe8
......@@ -16,20 +16,22 @@ void CreateApplicationMediaInfoManager(
content::RenderFrameHost* render_frame_host,
std::string application_session_id,
bool mixer_audio_enabled,
::media::mojom::CastApplicationMediaInfoManagerRequest request) {
mojo::PendingReceiver<::media::mojom::CastApplicationMediaInfoManager>
receiver) {
// The created ApplicationMediaInfoManager will be deleted on connection
// error, or when the frame navigates away. See FrameServiceBase for details.
new ApplicationMediaInfoManager(render_frame_host, std::move(request),
new ApplicationMediaInfoManager(render_frame_host, std::move(receiver),
std::move(application_session_id),
mixer_audio_enabled);
}
ApplicationMediaInfoManager::ApplicationMediaInfoManager(
content::RenderFrameHost* render_frame_host,
::media::mojom::CastApplicationMediaInfoManagerRequest request,
mojo::PendingReceiver<::media::mojom::CastApplicationMediaInfoManager>
receiver,
std::string application_session_id,
bool mixer_audio_enabled)
: FrameServiceBase(render_frame_host, std::move(request)),
: FrameServiceBase(render_frame_host, std::move(receiver)),
application_session_id_(std::move(application_session_id)),
mixer_audio_enabled_(mixer_audio_enabled),
renderer_blocked_(false) {
......
......@@ -12,6 +12,7 @@
#include "base/memory/weak_ptr.h"
#include "content/public/browser/frame_service_base.h"
#include "media/mojo/mojom/cast_application_media_info_manager.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
namespace content {
class RenderFrameHost;
......@@ -29,7 +30,8 @@ class ApplicationMediaInfoManager
public:
ApplicationMediaInfoManager(
content::RenderFrameHost* render_frame_host,
::media::mojom::CastApplicationMediaInfoManagerRequest request,
mojo::PendingReceiver<::media::mojom::CastApplicationMediaInfoManager>
receiver,
std::string application_session_id,
bool mixer_audio_enabled);
~ApplicationMediaInfoManager() override;
......@@ -55,7 +57,8 @@ void CreateApplicationMediaInfoManager(
content::RenderFrameHost* render_frame_host,
std::string application_session_id,
bool mixer_audio_enabled,
::media::mojom::CastApplicationMediaInfoManagerRequest request);
mojo::PendingReceiver<::media::mojom::CastApplicationMediaInfoManager>
receiver);
} // namespace media
} // namespace chromecast
......
......@@ -10,6 +10,7 @@
#include "base/bind.h"
#include "content/public/test/test_content_client_initializer.h"
#include "content/public/test/test_renderer_host.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -37,7 +38,8 @@ class ApplicationMediaInfoManagerTest
content::RenderViewHostTestHarness::SetUp();
application_media_info_manager_ =
std::make_unique<ApplicationMediaInfoManager>(
main_rfh(), mojo::MakeRequest(&application_media_info_manager_ptr_),
main_rfh(),
application_media_info_manager_remote_.BindNewPipeAndPassReceiver(),
kSessionId, kMixedAudioEnabled);
}
......@@ -48,15 +50,15 @@ class ApplicationMediaInfoManagerTest
started_ = true;
}
::media::mojom::CastApplicationMediaInfoManagerPtr
application_media_info_manager_ptr_;
mojo::Remote<::media::mojom::CastApplicationMediaInfoManager>
application_media_info_manager_remote_;
std::unique_ptr<content::TestContentClientInitializer> initializer_;
std::unique_ptr<ApplicationMediaInfoManager> application_media_info_manager_;
bool started_;
};
TEST_F(ApplicationMediaInfoManagerTest, NoBlock_GetMediaInfo) {
application_media_info_manager_ptr_->GetCastApplicationMediaInfo(
application_media_info_manager_remote_->GetCastApplicationMediaInfo(
base::BindOnce(
&ApplicationMediaInfoManagerTest::OnCastApplicationMediaInfo,
base::Unretained(this)));
......@@ -67,7 +69,7 @@ TEST_F(ApplicationMediaInfoManagerTest, NoBlock_GetMediaInfo) {
TEST_F(ApplicationMediaInfoManagerTest, Block_GetMediaInfo_Unblock) {
application_media_info_manager_->SetRendererBlock(true);
base::RunLoop().RunUntilIdle();
application_media_info_manager_ptr_->GetCastApplicationMediaInfo(
application_media_info_manager_remote_->GetCastApplicationMediaInfo(
base::BindOnce(
&ApplicationMediaInfoManagerTest::OnCastApplicationMediaInfo,
base::Unretained(this)));
......@@ -84,7 +86,7 @@ TEST_F(ApplicationMediaInfoManagerTest, Block_Unblock_GetMediaInfo) {
application_media_info_manager_->SetRendererBlock(false);
base::RunLoop().RunUntilIdle();
EXPECT_FALSE(started_);
application_media_info_manager_ptr_->GetCastApplicationMediaInfo(
application_media_info_manager_remote_->GetCastApplicationMediaInfo(
base::BindOnce(
&ApplicationMediaInfoManagerTest::OnCastApplicationMediaInfo,
base::Unretained(this)));
......
......@@ -130,10 +130,10 @@ void CastRenderer::OnSubscribeToVideoGeometryChange(
// CastApplicationMediaInfoManager.
if (host_interfaces_) {
service_manager::GetInterface<
::media::mojom::CastApplicationMediaInfoManager>(
host_interfaces_,
application_media_info_manager_remote_.BindNewPipeAndPassReceiver());
host_interfaces_->GetInterface(
::media::mojom::CastApplicationMediaInfoManager::Name_,
application_media_info_manager_remote_.BindNewPipeAndPassReceiver()
.PassPipe());
}
if (application_media_info_manager_remote_) {
......
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