From c5b57ffea583f91c6dd63b2d9ab43af6c15682b1 Mon Sep 17 00:00:00 2001 From: "hidehiko@chromium.org" Date: Tue, 3 Sep 2013 07:18:32 +0000 Subject: Implement FilesListNextPageRequest and ChangesListNextPageRequest. This CL introduces two new request classes to fetch "next page" of "Files: list" and "Changes: list" methods. BUG=275233, 277253 TEST=Ran unit_tests Review URL: https://chromiumcodereview.appspot.com/23869002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220907 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/drive/drive_api_service.cc | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'chrome/browser/drive') diff --git a/chrome/browser/drive/drive_api_service.cc b/chrome/browser/drive/drive_api_service.cc index 85bf2ae..1af63a4 100644 --- a/chrome/browser/drive/drive_api_service.cc +++ b/chrome/browser/drive/drive_api_service.cc @@ -55,6 +55,7 @@ using google_apis::UploadRangeResponse; using google_apis::drive::AboutGetRequest; using google_apis::drive::AppsListRequest; using google_apis::drive::ChangesListRequest; +using google_apis::drive::ChangesListNextPageRequest; using google_apis::drive::ChildrenDeleteRequest; using google_apis::drive::ChildrenInsertRequest; using google_apis::drive::ContinueGetFileListRequest; @@ -64,6 +65,7 @@ using google_apis::drive::FilesGetRequest; using google_apis::drive::FilesInsertRequest; using google_apis::drive::FilesPatchRequest; using google_apis::drive::FilesListRequest; +using google_apis::drive::FilesListNextPageRequest; using google_apis::drive::FilesTrashRequest; using google_apis::drive::GetUploadStatusRequest; using google_apis::drive::InitiateUploadExistingFileRequest; @@ -499,9 +501,12 @@ CancelCallback DriveAPIService::GetRemainingChangeList( DCHECK(!page_token.empty()); DCHECK(!callback.is_null()); - // Currently page_token is a URL. - // TODO(hidehiko): Use actual page token. - return ContinueGetResourceList(GURL(page_token), callback); + ChangesListNextPageRequest* request = new ChangesListNextPageRequest( + sender_.get(), + base::Bind(&ConvertChangeListToResourceListOnBlockingPoolAndRun, + blocking_task_runner_, callback)); + request->set_next_link(GURL(page_token)); + return sender_->StartRequestWithRetry(request); } CancelCallback DriveAPIService::GetRemainingFileList( @@ -511,9 +516,12 @@ CancelCallback DriveAPIService::GetRemainingFileList( DCHECK(!page_token.empty()); DCHECK(!callback.is_null()); - // Currently page_token is a URL. - // TODO(hidehiko): Use actual page token. - return ContinueGetResourceList(GURL(page_token), callback); + FilesListNextPageRequest* request = new FilesListNextPageRequest( + sender_.get(), + base::Bind(&ConvertFileListToResourceListOnBlockingPoolAndRun, + blocking_task_runner_, callback)); + request->set_next_link(GURL(page_token)); + return sender_->StartRequestWithRetry(request); } CancelCallback DriveAPIService::GetResourceEntry( -- cgit v1.1