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 @@
#include "media/base/provision_fetcher.h"
#include "media/fuchsia/cdm/service/fuchsia_cdm_manager.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"
namespace {
......@@ -27,10 +28,11 @@ namespace {
class FuchsiaCdmProviderImpl
: public content::FrameServiceBase<media::mojom::FuchsiaCdmProvider> {
public:
FuchsiaCdmProviderImpl(media::FuchsiaCdmManager* cdm_manager,
FuchsiaCdmProviderImpl(
media::FuchsiaCdmManager* cdm_manager,
media::CreateFetcherCB create_fetcher_cb,
content::RenderFrameHost* render_frame_host,
media::mojom::FuchsiaCdmProviderRequest request);
mojo::PendingReceiver<media::mojom::FuchsiaCdmProvider> receiver);
~FuchsiaCdmProviderImpl() final;
// media::mojom::FuchsiaCdmProvider implementation.
......@@ -50,8 +52,8 @@ FuchsiaCdmProviderImpl::FuchsiaCdmProviderImpl(
media::FuchsiaCdmManager* cdm_manager,
media::CreateFetcherCB create_fetcher_cb,
content::RenderFrameHost* render_frame_host,
media::mojom::FuchsiaCdmProviderRequest request)
: FrameServiceBase(render_frame_host, std::move(request)),
mojo::PendingReceiver<media::mojom::FuchsiaCdmProvider> receiver)
: FrameServiceBase(render_frame_host, std::move(receiver)),
cdm_manager_(cdm_manager),
create_fetcher_cb_(std::move(create_fetcher_cb)) {
DCHECK(cdm_manager_);
......@@ -67,8 +69,9 @@ void FuchsiaCdmProviderImpl::CreateCdmInterface(
std::move(request));
}
void BindFuchsiaCdmProvider(media::FuchsiaCdmManager* cdm_manager,
media::mojom::FuchsiaCdmProviderRequest request,
void BindFuchsiaCdmProvider(
media::FuchsiaCdmManager* cdm_manager,
mojo::PendingReceiver<media::mojom::FuchsiaCdmProvider> receiver,
content::RenderFrameHost* const frame_host) {
scoped_refptr<network::SharedURLLoaderFactory> loader_factory =
content::BrowserContext::GetDefaultStoragePartition(
......@@ -80,7 +83,7 @@ void BindFuchsiaCdmProvider(media::FuchsiaCdmManager* cdm_manager,
cdm_manager,
base::BindRepeating(&content::CreateProvisionFetcher,
std::move(loader_factory)),
frame_host, std::move(request));
frame_host, std::move(receiver));
}
class WidevineHandler : public media::FuchsiaCdmManager::KeySystemHandler {
......
include_rules = [
"+fuchsia/base",
"+mojo/public",
"+services/service_manager/public",
]
......@@ -19,8 +19,10 @@ void MojoFuchsiaCdmProvider::CreateCdmInterface(
const std::string& key_system,
fidl::InterfaceRequest<fuchsia::media::drm::ContentDecryptionModule>
cdm_request) {
if (!cdm_provider_)
interface_provider_->GetInterface(mojo::MakeRequest(&cdm_provider_));
if (!cdm_provider_) {
interface_provider_->GetInterface(
cdm_provider_.BindNewPipeAndPassReceiver());
}
cdm_provider_->CreateCdmInterface(key_system, std::move(cdm_request));
}
......
......@@ -8,6 +8,7 @@
#include "base/macros.h"
#include "media/fuchsia/cdm/fuchsia_cdm_provider.h"
#include "media/fuchsia/mojom/fuchsia_cdm_provider.mojom.h"
#include "mojo/public/cpp/bindings/remote.h"
namespace service_manager {
class InterfaceProvider;
......@@ -30,7 +31,7 @@ class MojoFuchsiaCdmProvider : public FuchsiaCdmProvider {
private:
service_manager::InterfaceProvider* const interface_provider_;
media::mojom::FuchsiaCdmProviderPtr cdm_provider_;
mojo::Remote<media::mojom::FuchsiaCdmProvider> cdm_provider_;
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