Commit 5441dace authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Convert FuchsiaCdmProvider from fuchsia_cdm_provider.mojom to new Mojo types

This CL converts FuchsiaCdmProvider from fuchsia_cdm_provider.mojom to
new Mojo types using PendingReceiver and Remote.

Bug: 955171
Change-Id: Ica239f58ea2fed59098144d300f454d3e22cb5cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1849748
Commit-Queue: Julie Kim <jkim@igalia.com>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Reviewed-by: default avatarWez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704959}
parent fd6fff8f
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "media/base/provision_fetcher.h" #include "media/base/provision_fetcher.h"
#include "media/fuchsia/cdm/service/fuchsia_cdm_manager.h" #include "media/fuchsia/cdm/service/fuchsia_cdm_manager.h"
#include "media/fuchsia/mojom/fuchsia_cdm_provider.mojom.h" #include "media/fuchsia/mojom/fuchsia_cdm_provider.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "third_party/widevine/cdm/widevine_cdm_common.h" #include "third_party/widevine/cdm/widevine_cdm_common.h"
namespace { namespace {
...@@ -27,10 +28,11 @@ namespace { ...@@ -27,10 +28,11 @@ namespace {
class FuchsiaCdmProviderImpl class FuchsiaCdmProviderImpl
: public content::FrameServiceBase<media::mojom::FuchsiaCdmProvider> { : public content::FrameServiceBase<media::mojom::FuchsiaCdmProvider> {
public: public:
FuchsiaCdmProviderImpl(media::FuchsiaCdmManager* cdm_manager, FuchsiaCdmProviderImpl(
media::CreateFetcherCB create_fetcher_cb, media::FuchsiaCdmManager* cdm_manager,
content::RenderFrameHost* render_frame_host, media::CreateFetcherCB create_fetcher_cb,
media::mojom::FuchsiaCdmProviderRequest request); content::RenderFrameHost* render_frame_host,
mojo::PendingReceiver<media::mojom::FuchsiaCdmProvider> receiver);
~FuchsiaCdmProviderImpl() final; ~FuchsiaCdmProviderImpl() final;
// media::mojom::FuchsiaCdmProvider implementation. // media::mojom::FuchsiaCdmProvider implementation.
...@@ -50,8 +52,8 @@ FuchsiaCdmProviderImpl::FuchsiaCdmProviderImpl( ...@@ -50,8 +52,8 @@ FuchsiaCdmProviderImpl::FuchsiaCdmProviderImpl(
media::FuchsiaCdmManager* cdm_manager, media::FuchsiaCdmManager* cdm_manager,
media::CreateFetcherCB create_fetcher_cb, media::CreateFetcherCB create_fetcher_cb,
content::RenderFrameHost* render_frame_host, content::RenderFrameHost* render_frame_host,
media::mojom::FuchsiaCdmProviderRequest request) mojo::PendingReceiver<media::mojom::FuchsiaCdmProvider> receiver)
: FrameServiceBase(render_frame_host, std::move(request)), : FrameServiceBase(render_frame_host, std::move(receiver)),
cdm_manager_(cdm_manager), cdm_manager_(cdm_manager),
create_fetcher_cb_(std::move(create_fetcher_cb)) { create_fetcher_cb_(std::move(create_fetcher_cb)) {
DCHECK(cdm_manager_); DCHECK(cdm_manager_);
...@@ -67,9 +69,10 @@ void FuchsiaCdmProviderImpl::CreateCdmInterface( ...@@ -67,9 +69,10 @@ void FuchsiaCdmProviderImpl::CreateCdmInterface(
std::move(request)); std::move(request));
} }
void BindFuchsiaCdmProvider(media::FuchsiaCdmManager* cdm_manager, void BindFuchsiaCdmProvider(
media::mojom::FuchsiaCdmProviderRequest request, media::FuchsiaCdmManager* cdm_manager,
content::RenderFrameHost* const frame_host) { mojo::PendingReceiver<media::mojom::FuchsiaCdmProvider> receiver,
content::RenderFrameHost* const frame_host) {
scoped_refptr<network::SharedURLLoaderFactory> loader_factory = scoped_refptr<network::SharedURLLoaderFactory> loader_factory =
content::BrowserContext::GetDefaultStoragePartition( content::BrowserContext::GetDefaultStoragePartition(
frame_host->GetProcess()->GetBrowserContext()) frame_host->GetProcess()->GetBrowserContext())
...@@ -80,7 +83,7 @@ void BindFuchsiaCdmProvider(media::FuchsiaCdmManager* cdm_manager, ...@@ -80,7 +83,7 @@ void BindFuchsiaCdmProvider(media::FuchsiaCdmManager* cdm_manager,
cdm_manager, cdm_manager,
base::BindRepeating(&content::CreateProvisionFetcher, base::BindRepeating(&content::CreateProvisionFetcher,
std::move(loader_factory)), std::move(loader_factory)),
frame_host, std::move(request)); frame_host, std::move(receiver));
} }
class WidevineHandler : public media::FuchsiaCdmManager::KeySystemHandler { class WidevineHandler : public media::FuchsiaCdmManager::KeySystemHandler {
......
include_rules = [ include_rules = [
"+fuchsia/base", "+fuchsia/base",
"+mojo/public",
"+services/service_manager/public", "+services/service_manager/public",
] ]
...@@ -19,8 +19,10 @@ void MojoFuchsiaCdmProvider::CreateCdmInterface( ...@@ -19,8 +19,10 @@ void MojoFuchsiaCdmProvider::CreateCdmInterface(
const std::string& key_system, const std::string& key_system,
fidl::InterfaceRequest<fuchsia::media::drm::ContentDecryptionModule> fidl::InterfaceRequest<fuchsia::media::drm::ContentDecryptionModule>
cdm_request) { cdm_request) {
if (!cdm_provider_) if (!cdm_provider_) {
interface_provider_->GetInterface(mojo::MakeRequest(&cdm_provider_)); interface_provider_->GetInterface(
cdm_provider_.BindNewPipeAndPassReceiver());
}
cdm_provider_->CreateCdmInterface(key_system, std::move(cdm_request)); cdm_provider_->CreateCdmInterface(key_system, std::move(cdm_request));
} }
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "base/macros.h" #include "base/macros.h"
#include "media/fuchsia/cdm/fuchsia_cdm_provider.h" #include "media/fuchsia/cdm/fuchsia_cdm_provider.h"
#include "media/fuchsia/mojom/fuchsia_cdm_provider.mojom.h" #include "media/fuchsia/mojom/fuchsia_cdm_provider.mojom.h"
#include "mojo/public/cpp/bindings/remote.h"
namespace service_manager { namespace service_manager {
class InterfaceProvider; class InterfaceProvider;
...@@ -30,7 +31,7 @@ class MojoFuchsiaCdmProvider : public FuchsiaCdmProvider { ...@@ -30,7 +31,7 @@ class MojoFuchsiaCdmProvider : public FuchsiaCdmProvider {
private: private:
service_manager::InterfaceProvider* const interface_provider_; service_manager::InterfaceProvider* const interface_provider_;
media::mojom::FuchsiaCdmProviderPtr cdm_provider_; mojo::Remote<media::mojom::FuchsiaCdmProvider> cdm_provider_;
DISALLOW_COPY_AND_ASSIGN(MojoFuchsiaCdmProvider); DISALLOW_COPY_AND_ASSIGN(MojoFuchsiaCdmProvider);
}; };
......
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