Commit 7c76836d authored by Anand K. Mistry's avatar Anand K. Mistry Committed by Commit Bot

Use OnceCallback in google_apis::drive::DriveApiDataRequest

Bug: 1007788
Change-Id: Id2118d76992100771ab28dbde2ff1c20d887e8e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1974296
Auto-Submit: Anand Mistry <amistry@chromium.org>
Commit-Queue: Stuart Langley <slangley@chromium.org>
Reviewed-by: default avatarStuart Langley <slangley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#726381}
parent de6290f5
......@@ -137,14 +137,13 @@ class DriveApiPartialFieldRequest : public UrlFetchRequestBase {
template<class DataType>
class DriveApiDataRequest : public DriveApiPartialFieldRequest {
public:
typedef base::Callback<void(DriveApiErrorCode error,
std::unique_ptr<DataType> data)>
Callback;
using Callback = base::OnceCallback<void(DriveApiErrorCode error,
std::unique_ptr<DataType> data)>;
// |callback| is called when the request finishes either by success or by
// failure. On success, a JSON Value object is passed. It must not be null.
DriveApiDataRequest(RequestSender* sender, const Callback& callback)
: DriveApiPartialFieldRequest(sender), callback_(callback) {
DriveApiDataRequest(RequestSender* sender, Callback callback)
: DriveApiPartialFieldRequest(sender), callback_(std::move(callback)) {
DCHECK(!callback_.is_null());
}
~DriveApiDataRequest() override {}
......@@ -174,7 +173,7 @@ class DriveApiDataRequest : public DriveApiPartialFieldRequest {
}
void RunCallbackOnPrematureFailure(DriveApiErrorCode error) override {
callback_.Run(error, std::unique_ptr<DataType>());
std::move(callback_).Run(error, std::unique_ptr<DataType>());
}
private:
......@@ -188,11 +187,11 @@ class DriveApiDataRequest : public DriveApiPartialFieldRequest {
void OnDataParsed(DriveApiErrorCode error, std::unique_ptr<DataType> value) {
if (!value)
error = DRIVE_PARSE_ERROR;
callback_.Run(error, std::move(value));
std::move(callback_).Run(error, std::move(value));
OnProcessURLFetchResultsComplete();
}
const Callback callback_;
Callback callback_;
// Note: This should remain the last member so it'll be destroyed and
// invalidate its weak pointers before any other members are destroyed.
......
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