0

Convert content/public to Once/Repeating variants of Bind/Callback for media.

Bug: 1007763
Change-Id: I023398876a01f064c66aa039cad30ae18de93632
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1924178
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#717266}
This commit is contained in:
Matt Falkenhagen
2019-11-20 22:12:59 +00:00
committed by Commit Bot
parent 8065ef1576
commit d86d2a9084
7 changed files with 20 additions and 19 deletions

@ -31,15 +31,15 @@ URLProvisionFetcher::~URLProvisionFetcher() {}
void URLProvisionFetcher::Retrieve(
const std::string& default_url,
const std::string& request_data,
const media::ProvisionFetcher::ResponseCB& response_cb) {
media::ProvisionFetcher::ResponseCB response_cb) {
// For testing, don't actually do provisioning if the feature is enabled,
// just indicate that the request failed.
if (base::FeatureList::IsEnabled(media::kFailUrlProvisionFetcherForTesting)) {
response_cb.Run(false, std::string());
std::move(response_cb).Run(false, std::string());
return;
}
response_cb_ = response_cb;
response_cb_ = std::move(response_cb);
const std::string request_string =
default_url + "&signedRequest=" + request_data;
@ -114,7 +114,7 @@ void URLProvisionFetcher::OnSimpleLoaderComplete(
simple_url_loader_.reset();
base::UmaHistogramSparse("Media.EME.UrlProvisionFetcher.ResponseCode",
response_code);
response_cb_.Run(success, response);
std::move(response_cb_).Run(success, response);
}
// Implementation of content public method CreateProvisionFetcher().

@ -26,7 +26,7 @@ class URLProvisionFetcher : public media::ProvisionFetcher {
// media::ProvisionFetcher implementation.
void Retrieve(const std::string& default_url,
const std::string& request_data,
const ProvisionFetcher::ResponseCB& response_cb) override;
ProvisionFetcher::ResponseCB response_cb) override;
private:
void OnSimpleLoaderComplete(std::unique_ptr<std::string> response_body);

@ -36,8 +36,8 @@ void ProvisionFetcherImpl::Retrieve(const std::string& default_url,
DVLOG(1) << __FUNCTION__ << ": " << default_url;
provision_fetcher_->Retrieve(
default_url, request_data,
base::Bind(&ProvisionFetcherImpl::OnResponse, weak_factory_.GetWeakPtr(),
base::Passed(&callback)));
base::BindOnce(&ProvisionFetcherImpl::OnResponse,
weak_factory_.GetWeakPtr(), std::move(callback)));
}
void ProvisionFetcherImpl::OnResponse(RetrieveCallback callback,

@ -68,8 +68,9 @@ class ProvisionFetcherWrapper : public ProvisionFetcher {
// ProvisionFetcher implementation.
void Retrieve(const std::string& default_url,
const std::string& request_data,
const ResponseCB& response_cb) override {
provision_fetcher_->Retrieve(default_url, request_data, response_cb);
ResponseCB response_cb) override {
provision_fetcher_->Retrieve(default_url, request_data,
std::move(response_cb));
}
private:
@ -97,7 +98,7 @@ class MediaDrmBridgeTest : public ProvisionFetcher, public testing::Test {
MOCK_METHOD3(Retrieve,
void(const std::string& default_url,
const std::string& request_data,
const ResponseCB& response_cb));
ResponseCB response_cb));
void Provision() {
media_drm_bridge_->Provision(base::BindOnce(

@ -19,7 +19,7 @@ class ProvisionFetcher {
// with the status flag (success/failure) and the provision response in
// case of success.
using ResponseCB =
base::Callback<void(bool success, const std::string& response)>;
base::OnceCallback<void(bool success, const std::string& response)>;
virtual ~ProvisionFetcher() {}
@ -31,7 +31,7 @@ class ProvisionFetcher {
// thread that this method is called.
virtual void Retrieve(const std::string& default_url,
const std::string& request_data,
const ResponseCB& response_cb) = 0;
ResponseCB response_cb) = 0;
};
using CreateFetcherCB = base::Callback<std::unique_ptr<ProvisionFetcher>()>;

@ -19,18 +19,18 @@ MojoProvisionFetcher::~MojoProvisionFetcher() = default;
// ProvisionFetcher implementation:
void MojoProvisionFetcher::Retrieve(const std::string& default_url,
const std::string& request_data,
const ResponseCB& response_cb) {
ResponseCB response_cb) {
DVLOG(1) << __func__;
provision_fetcher_->Retrieve(
default_url, request_data,
base::Bind(&MojoProvisionFetcher::OnResponse, weak_factory_.GetWeakPtr(),
response_cb));
base::BindOnce(&MojoProvisionFetcher::OnResponse,
weak_factory_.GetWeakPtr(), std::move(response_cb)));
}
void MojoProvisionFetcher::OnResponse(const ResponseCB& response_cb,
void MojoProvisionFetcher::OnResponse(ResponseCB response_cb,
bool success,
const std::string& response) {
response_cb.Run(success, response);
std::move(response_cb).Run(success, response);
}
} // namespace media

@ -26,11 +26,11 @@ class MEDIA_MOJO_EXPORT MojoProvisionFetcher : public ProvisionFetcher {
// ProvisionFetcher implementation:
void Retrieve(const std::string& default_url,
const std::string& request_data,
const ResponseCB& response_cb) final;
ResponseCB response_cb) final;
private:
// Callback for mojo::Remote<mojom::ProvisionFetcher>::Retrieve().
void OnResponse(const ResponseCB& response_cb,
void OnResponse(ResponseCB response_cb,
bool success,
const std::string& response);