diff options
author | hidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-09 12:51:56 +0000 |
---|---|---|
committer | hidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-09 12:51:56 +0000 |
commit | 63bcb55f7f380f08b9e5e9a6099d6b5d73c5bdcf (patch) | |
tree | c8bd85935940ef7ac4e17b418015e43bcbdf8d51 | |
parent | 9ac667eef08da90d2fa46a28c55b44126c6d3bf9 (diff) | |
download | chromium_src-63bcb55f7f380f08b9e5e9a6099d6b5d73c5bdcf.zip chromium_src-63bcb55f7f380f08b9e5e9a6099d6b5d73c5bdcf.tar.gz chromium_src-63bcb55f7f380f08b9e5e9a6099d6b5d73c5bdcf.tar.bz2 |
Use "Files: list" for full fetch.
According to some investigation, "Files: list" should be faster than
"Changes: list". We can use this because we extract change list id from
"About: get" API.
BUG=287602
TEST=Ran unit_tests and tested manually.
WIP
Review URL: https://chromiumcodereview.appspot.com/23958006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222016 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/drive/change_list_loader.cc | 8 | ||||
-rw-r--r-- | chrome/browser/drive/drive_api_service.cc | 11 |
2 files changed, 8 insertions, 11 deletions
diff --git a/chrome/browser/chromeos/drive/change_list_loader.cc b/chrome/browser/chromeos/drive/change_list_loader.cc index a537ff9..119a50a 100644 --- a/chrome/browser/chromeos/drive/change_list_loader.cc +++ b/chrome/browser/chromeos/drive/change_list_loader.cc @@ -58,12 +58,12 @@ class FullFeedFetcher : public ChangeListLoader::FeedFetcher { // This is full resource list fetch. scheduler_->GetAllResourceList( - base::Bind(&FullFeedFetcher::OnChangeListFetched, + base::Bind(&FullFeedFetcher::OnFileListFetched, weak_ptr_factory_.GetWeakPtr(), callback)); } private: - void OnChangeListFetched( + void OnFileListFetched( const FeedFetcherCallback& callback, google_apis::GDataErrorCode status, scoped_ptr<google_apis::ResourceList> resource_list) { @@ -89,9 +89,9 @@ class FullFeedFetcher : public ChangeListLoader::FeedFetcher { GURL next_url; if (resource_list->GetNextFeedURL(&next_url) && !next_url.is_empty()) { // There is the remaining result so fetch it. - scheduler_->GetRemainingChangeList( + scheduler_->GetRemainingFileList( next_url, - base::Bind(&FullFeedFetcher::OnChangeListFetched, + base::Bind(&FullFeedFetcher::OnFileListFetched, weak_ptr_factory_.GetWeakPtr(), callback)); return; } diff --git a/chrome/browser/drive/drive_api_service.cc b/chrome/browser/drive/drive_api_service.cc index 435fcb8..dbc7325 100644 --- a/chrome/browser/drive/drive_api_service.cc +++ b/chrome/browser/drive/drive_api_service.cc @@ -319,15 +319,12 @@ CancelCallback DriveAPIService::GetAllResourceList( DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); DCHECK(!callback.is_null()); - // The simplest way to fetch the all resources list looks files.list method, - // but it seems impossible to know the returned list's changestamp. - // Thus, instead, we use changes.list method with includeDeleted=false here. - // The returned list should contain only resources currently existing. - ChangesListRequest* request = new ChangesListRequest( + FilesListRequest* request = new FilesListRequest( sender_.get(), url_generator_, - base::Bind(&ConvertChangeListToResourceListOnBlockingPoolAndRun, + base::Bind(&ConvertFileListToResourceListOnBlockingPoolAndRun, blocking_task_runner_, callback)); - request->set_include_deleted(false); + request->set_max_results(kMaxNumFilesResourcePerRequest); + request->set_q("trashed = false"); // Exclude trashed files. return sender_->StartRequestWithRetry(request); } |