Commit 2d0a4773 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert ProvisionFetcher to new Mojo types

This CL converts ProvisionFetcher{Ptr, Request} in media and
content to the new Mojo type.

Bug: 955171
Change-Id: If6bf828080e81389209404050145849f6249f7c5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1882265
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Reviewed-by: default avatarFrank Liberato <liberato@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#710289}
parent 0ded4b5a
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "content/public/browser/provision_fetcher_factory.h" #include "content/public/browser/provision_fetcher_factory.h"
#include "mojo/public/cpp/bindings/strong_binding.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "services/network/public/cpp/shared_url_loader_factory.h" #include "services/network/public/cpp/shared_url_loader_factory.h"
namespace content { namespace content {
...@@ -14,12 +14,12 @@ namespace content { ...@@ -14,12 +14,12 @@ namespace content {
// static // static
void ProvisionFetcherImpl::Create( void ProvisionFetcherImpl::Create(
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
media::mojom::ProvisionFetcherRequest request) { mojo::PendingReceiver<media::mojom::ProvisionFetcher> receiver) {
DCHECK(url_loader_factory); DCHECK(url_loader_factory);
mojo::MakeStrongBinding( mojo::MakeSelfOwnedReceiver(
std::make_unique<ProvisionFetcherImpl>( std::make_unique<ProvisionFetcherImpl>(
CreateProvisionFetcher(std::move(url_loader_factory))), CreateProvisionFetcher(std::move(url_loader_factory))),
std::move(request)); std::move(receiver));
} }
ProvisionFetcherImpl::ProvisionFetcherImpl( ProvisionFetcherImpl::ProvisionFetcherImpl(
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "content/public/browser/provision_fetcher_factory.h" #include "content/public/browser/provision_fetcher_factory.h"
#include "media/base/provision_fetcher.h" #include "media/base/provision_fetcher.h"
#include "media/mojo/mojom/provision_fetcher.mojom.h" #include "media/mojo/mojom/provision_fetcher.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
namespace network { namespace network {
class SharedURLLoaderFactory; class SharedURLLoaderFactory;
...@@ -27,7 +28,7 @@ class CONTENT_EXPORT ProvisionFetcherImpl ...@@ -27,7 +28,7 @@ class CONTENT_EXPORT ProvisionFetcherImpl
public: public:
static void Create( static void Create(
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
media::mojom::ProvisionFetcherRequest request); mojo::PendingReceiver<media::mojom::ProvisionFetcher> receiver);
explicit ProvisionFetcherImpl( explicit ProvisionFetcherImpl(
std::unique_ptr<media::ProvisionFetcher> provision_fetcher); std::unique_ptr<media::ProvisionFetcher> provision_fetcher);
......
...@@ -14,12 +14,11 @@ namespace android_mojo_util { ...@@ -14,12 +14,11 @@ namespace android_mojo_util {
std::unique_ptr<ProvisionFetcher> CreateProvisionFetcher( std::unique_ptr<ProvisionFetcher> CreateProvisionFetcher(
service_manager::mojom::InterfaceProvider* host_interfaces) { service_manager::mojom::InterfaceProvider* host_interfaces) {
DCHECK(host_interfaces); DCHECK(host_interfaces);
mojo::PendingRemote<mojom::ProvisionFetcher> provision_fetcher_remote; mojo::PendingRemote<mojom::ProvisionFetcher> provision_fetcher;
service_manager::GetInterface( host_interfaces->GetInterface(
host_interfaces, mojom::ProvisionFetcher::Name_,
provision_fetcher_remote.InitWithNewPipeAndPassReceiver()); provision_fetcher.InitWithNewPipeAndPassReceiver().PassPipe());
return std::make_unique<MojoProvisionFetcher>( return std::make_unique<MojoProvisionFetcher>(std::move(provision_fetcher));
std::move(provision_fetcher_remote));
} }
std::unique_ptr<MediaDrmStorage> CreateMediaDrmStorage( std::unique_ptr<MediaDrmStorage> CreateMediaDrmStorage(
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
namespace media { namespace media {
MojoProvisionFetcher::MojoProvisionFetcher( MojoProvisionFetcher::MojoProvisionFetcher(
mojo::PendingRemote<mojom::ProvisionFetcher> provision_fetcher_remote) mojo::PendingRemote<mojom::ProvisionFetcher> provision_fetcher)
: provision_fetcher_remote_(std::move(provision_fetcher_remote)) { : provision_fetcher_(std::move(provision_fetcher)) {
DVLOG(1) << __func__; DVLOG(1) << __func__;
} }
...@@ -21,7 +21,7 @@ void MojoProvisionFetcher::Retrieve(const std::string& default_url, ...@@ -21,7 +21,7 @@ void MojoProvisionFetcher::Retrieve(const std::string& default_url,
const std::string& request_data, const std::string& request_data,
const ResponseCB& response_cb) { const ResponseCB& response_cb) {
DVLOG(1) << __func__; DVLOG(1) << __func__;
provision_fetcher_remote_->Retrieve( provision_fetcher_->Retrieve(
default_url, request_data, default_url, request_data,
base::Bind(&MojoProvisionFetcher::OnResponse, weak_factory_.GetWeakPtr(), base::Bind(&MojoProvisionFetcher::OnResponse, weak_factory_.GetWeakPtr(),
response_cb)); response_cb));
......
...@@ -16,12 +16,11 @@ ...@@ -16,12 +16,11 @@
namespace media { namespace media {
// A ProvisionFetcher that proxies to a // A ProvisionFetcher that proxies to a Remote<mojom::ProvisionFetcher>.
// mojo::PendingRemote<mojom::ProvisionFetcher>.
class MEDIA_MOJO_EXPORT MojoProvisionFetcher : public ProvisionFetcher { class MEDIA_MOJO_EXPORT MojoProvisionFetcher : public ProvisionFetcher {
public: public:
explicit MojoProvisionFetcher( explicit MojoProvisionFetcher(
mojo::PendingRemote<mojom::ProvisionFetcher> provision_fetcher_remote); mojo::PendingRemote<mojom::ProvisionFetcher> provision_fetcher);
~MojoProvisionFetcher() final; ~MojoProvisionFetcher() final;
// ProvisionFetcher implementation: // ProvisionFetcher implementation:
...@@ -30,12 +29,12 @@ class MEDIA_MOJO_EXPORT MojoProvisionFetcher : public ProvisionFetcher { ...@@ -30,12 +29,12 @@ class MEDIA_MOJO_EXPORT MojoProvisionFetcher : public ProvisionFetcher {
const ResponseCB& response_cb) final; const ResponseCB& response_cb) final;
private: private:
// Callback for mojom::ProvisionFetcherPtr::Retrieve(). // Callback for mojo::Remote<mojom::ProvisionFetcher>::Retrieve().
void OnResponse(const ResponseCB& response_cb, void OnResponse(const ResponseCB& response_cb,
bool success, bool success,
const std::string& response); const std::string& response);
mojo::Remote<mojom::ProvisionFetcher> provision_fetcher_remote_; mojo::Remote<mojom::ProvisionFetcher> provision_fetcher_;
base::WeakPtrFactory<MojoProvisionFetcher> weak_factory_{this}; base::WeakPtrFactory<MojoProvisionFetcher> weak_factory_{this};
......
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