Commit 05d6d306 authored by Anand K. Mistry's avatar Anand K. Mistry Committed by Commit Bot

Convert google_apis::PrepareCallback to OnceCallback

Bug: 1007788
Change-Id: Ic449af55f727461f70e7d130f0d489f86a731572
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1974297
Commit-Queue: Anand Mistry <amistry@chromium.org>
Auto-Submit: Anand Mistry <amistry@chromium.org>
Reviewed-by: default avatarStuart Langley <slangley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#726625}
parent c597a2d1
......@@ -267,15 +267,15 @@ void UrlFetchRequestBase::Start(const std::string& access_token,
DCHECK(!access_token.empty());
DCHECK(!callback.is_null());
DCHECK(re_authenticate_callback_.is_null());
Prepare(base::Bind(&UrlFetchRequestBase::StartAfterPrepare,
weak_ptr_factory_.GetWeakPtr(), access_token,
custom_user_agent, callback));
Prepare(base::BindOnce(&UrlFetchRequestBase::StartAfterPrepare,
weak_ptr_factory_.GetWeakPtr(), access_token,
custom_user_agent, callback));
}
void UrlFetchRequestBase::Prepare(const PrepareCallback& callback) {
void UrlFetchRequestBase::Prepare(PrepareCallback callback) {
DCHECK(CalledOnValidThread());
DCHECK(!callback.is_null());
callback.Run(HTTP_SUCCESS);
std::move(callback).Run(HTTP_SUCCESS);
}
void UrlFetchRequestBase::StartAfterPrepare(
......@@ -894,34 +894,35 @@ std::vector<std::string> MultipartUploadRequestBase::GetExtraRequestHeaders()
return std::vector<std::string>();
}
void MultipartUploadRequestBase::Prepare(const PrepareCallback& callback) {
void MultipartUploadRequestBase::Prepare(PrepareCallback callback) {
// If the request is cancelled, the request instance will be deleted in
// |UrlFetchRequestBase::Cancel| and OnPrepareUploadContent won't be called.
std::string* const upload_content_type = new std::string();
std::string* const upload_content_data = new std::string();
PostTaskAndReplyWithResult(
blocking_task_runner_.get(), FROM_HERE,
base::Bind(&GetMultipartContent, boundary_, metadata_json_, content_type_,
local_path_, base::Unretained(upload_content_type),
base::Unretained(upload_content_data)),
base::Bind(&MultipartUploadRequestBase::OnPrepareUploadContent,
weak_ptr_factory_.GetWeakPtr(), callback,
base::Owned(upload_content_type),
base::Owned(upload_content_data)));
base::BindOnce(&GetMultipartContent, boundary_, metadata_json_,
content_type_, local_path_,
base::Unretained(upload_content_type),
base::Unretained(upload_content_data)),
base::BindOnce(&MultipartUploadRequestBase::OnPrepareUploadContent,
weak_ptr_factory_.GetWeakPtr(), std::move(callback),
base::Owned(upload_content_type),
base::Owned(upload_content_data)));
}
void MultipartUploadRequestBase::OnPrepareUploadContent(
const PrepareCallback& callback,
PrepareCallback callback,
std::string* upload_content_type,
std::string* upload_content_data,
bool result) {
if (!result) {
callback.Run(DRIVE_FILE_ERROR);
std::move(callback).Run(DRIVE_FILE_ERROR);
return;
}
upload_content_type_.swap(*upload_content_type);
upload_content_data_.swap(*upload_content_data);
callback.Run(HTTP_SUCCESS);
std::move(callback).Run(HTTP_SUCCESS);
}
void MultipartUploadRequestBase::SetBoundaryForTesting(
......
......@@ -48,7 +48,7 @@ struct ContentTypeAndData {
std::string data;
};
typedef base::Callback<void(DriveApiErrorCode)> PrepareCallback;
using PrepareCallback = base::OnceCallback<void(DriveApiErrorCode)>;
// Callback used for requests that the server returns FileResource data
// formatted into JSON value.
......@@ -137,7 +137,7 @@ class UrlFetchRequestBase : public AuthenticatedRequestInterface,
// Does async initialization for the request. |Start| calls this method so you
// don't need to call this before |Start|.
virtual void Prepare(const PrepareCallback& callback);
virtual void Prepare(PrepareCallback callback);
// Gets URL for the request.
virtual GURL GetURL() const = 0;
......@@ -298,7 +298,7 @@ class BatchableDelegate {
virtual GURL GetURL() const = 0;
virtual std::string GetRequestType() const = 0;
virtual std::vector<std::string> GetExtraRequestHeaders() const = 0;
virtual void Prepare(const PrepareCallback& callback) = 0;
virtual void Prepare(PrepareCallback callback) = 0;
virtual bool GetContentData(std::string* upload_content_type,
std::string* upload_content) = 0;
......@@ -570,7 +570,7 @@ class MultipartUploadRequestBase : public BatchableDelegate {
// BatchableDelegate.
std::vector<std::string> GetExtraRequestHeaders() const override;
void Prepare(const PrepareCallback& callback) override;
void Prepare(PrepareCallback callback) override;
bool GetContentData(std::string* upload_content_type,
std::string* upload_content) override;
void NotifyResult(DriveApiErrorCode code,
......@@ -586,7 +586,7 @@ class MultipartUploadRequestBase : public BatchableDelegate {
private:
// Continues to rest part of |Start| method after determining boundary string
// of multipart/related.
void OnPrepareUploadContent(const PrepareCallback& callback,
void OnPrepareUploadContent(PrepareCallback callback,
std::string* upload_content_type,
std::string* upload_content_data,
bool result);
......
......@@ -1128,8 +1128,8 @@ SingleBatchableDelegateRequest::GetExtraRequestHeaders() const {
return delegate_->GetExtraRequestHeaders();
}
void SingleBatchableDelegateRequest::Prepare(const PrepareCallback& callback) {
delegate_->Prepare(callback);
void SingleBatchableDelegateRequest::Prepare(PrepareCallback callback) {
delegate_->Prepare(std::move(callback));
}
bool SingleBatchableDelegateRequest::GetContentData(
......@@ -1225,10 +1225,10 @@ void BatchUploadRequest::Commit() {
}
}
void BatchUploadRequest::Prepare(const PrepareCallback& callback) {
void BatchUploadRequest::Prepare(PrepareCallback callback) {
DCHECK(CalledOnValidThread());
DCHECK(!callback.is_null());
prepare_callback_ = callback;
DCHECK(callback);
prepare_callback_ = std::move(callback);
MayCompletePrepare();
}
......@@ -1290,7 +1290,7 @@ void BatchUploadRequest::MayCompletePrepare() {
for (size_t i = 0; i < child_requests_.size(); ++i) {
child_requests_[i]->data_offset += part_data_offset[i];
}
prepare_callback_.Run(HTTP_SUCCESS);
std::move(prepare_callback_).Run(HTTP_SUCCESS);
}
bool BatchUploadRequest::GetContentData(std::string* upload_content_type,
......
......@@ -1154,7 +1154,7 @@ class SingleBatchableDelegateRequest : public UrlFetchRequestBase {
GURL GetURL() const override;
std::string GetRequestType() const override;
std::vector<std::string> GetExtraRequestHeaders() const override;
void Prepare(const PrepareCallback& callback) override;
void Prepare(PrepareCallback callback) override;
bool GetContentData(std::string* upload_content_type,
std::string* upload_content) override;
void RunCallbackOnPrematureFailure(DriveApiErrorCode code) override;
......@@ -1214,7 +1214,7 @@ class BatchUploadRequest : public UrlFetchRequestBase {
const DriveApiUrlGenerator& url_generator() const { return url_generator_; }
// UrlFetchRequestBase overrides.
void Prepare(const PrepareCallback& callback) override;
void Prepare(PrepareCallback callback) override;
void Cancel() override;
GURL GetURL() const override;
std::string GetRequestType() const override;
......
......@@ -88,8 +88,8 @@ class TestBatchableDelegate : public BatchableDelegate {
std::vector<std::string> GetExtraRequestHeaders() const override {
return std::vector<std::string>();
}
void Prepare(const PrepareCallback& callback) override {
callback.Run(HTTP_SUCCESS);
void Prepare(PrepareCallback callback) override {
std::move(callback).Run(HTTP_SUCCESS);
}
bool GetContentData(std::string* upload_content_type,
std::string* upload_content) override {
......
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