Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1087)

Unified Diff: chrome/browser/sync_file_system/drive_backend/folder_creator.cc

Issue 305913002: drive: Replace GetResourceListCallback in DriveServiceInterface with FileListCallback (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync_file_system/drive_backend/folder_creator.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/folder_creator.cc b/chrome/browser/sync_file_system/drive_backend/folder_creator.cc
index acad956e67d727df4e74a9d209507b82ac784cb7..670c4c7e42d07c85fe1e8d312fc5e57ef2893ae3 100644
--- a/chrome/browser/sync_file_system/drive_backend/folder_creator.cc
+++ b/chrome/browser/sync_file_system/drive_backend/folder_creator.cc
@@ -61,63 +61,62 @@ void FolderCreator::DidCreateFolder(
title_, parent_folder_id_,
base::Bind(&FolderCreator::DidListFolders,
weak_ptr_factory_.GetWeakPtr(), callback,
- base::Passed(ScopedVector<google_apis::ResourceEntry>())));
+ base::Passed(ScopedVector<google_apis::FileResource>())));
}
void FolderCreator::DidListFolders(
const FileIDCallback& callback,
- ScopedVector<google_apis::ResourceEntry> candidates,
+ ScopedVector<google_apis::FileResource> candidates,
google_apis::GDataErrorCode error,
- scoped_ptr<google_apis::ResourceList> resource_list) {
+ scoped_ptr<google_apis::FileList> file_list) {
SyncStatusCode status = GDataErrorCodeToSyncStatusCode(error);
if (status != SYNC_STATUS_OK) {
callback.Run(std::string(), status);
return;
}
- if (!resource_list) {
+ if (!file_list) {
NOTREACHED();
callback.Run(std::string(), SYNC_STATUS_FAILED);
return;
}
- candidates.reserve(candidates.size() + resource_list->entries().size());
+ candidates.reserve(candidates.size() + file_list->items().size());
candidates.insert(candidates.end(),
- resource_list->entries().begin(),
- resource_list->entries().end());
- resource_list->mutable_entries()->weak_clear();
+ file_list->items().begin(),
+ file_list->items().end());
+ file_list->mutable_items()->weak_clear();
- GURL next_feed;
- if (resource_list->GetNextFeedURL(&next_feed)) {
+ if (!file_list->next_link().is_empty()) {
drive_service_->GetRemainingFileList(
- next_feed,
+ file_list->next_link(),
base::Bind(&FolderCreator::DidListFolders,
weak_ptr_factory_.GetWeakPtr(), callback,
base::Passed(&candidates)));
return;
}
- ScopedVector<google_apis::FileResource> files;
- files.reserve(candidates.size());
+ const google_apis::FileResource* oldest = NULL;
for (size_t i = 0; i < candidates.size(); ++i) {
- files.push_back(drive::util::ConvertResourceEntryToFileResource(
- *candidates[i]).release());
- }
+ const google_apis::FileResource& entry = *candidates[i];
+ if (!entry.IsDirectory() || entry.labels().is_trashed())
+ continue;
- scoped_ptr<google_apis::ResourceEntry> oldest =
- GetOldestCreatedFolderResource(candidates.Pass());
+ if (!oldest || oldest->created_date() > entry.created_date())
+ oldest = &entry;
+ }
if (!oldest) {
callback.Run(std::string(), SYNC_FILE_ERROR_NOT_FOUND);
return;
}
- std::string file_id = oldest->resource_id();
+ std::string file_id = oldest->file_id();
metadata_database_->UpdateByFileResourceList(
- files.Pass(), base::Bind(&FolderCreator::DidUpdateDatabase,
- weak_ptr_factory_.GetWeakPtr(),
- file_id, callback));
+ candidates.Pass(), base::Bind(&FolderCreator::DidUpdateDatabase,
+ weak_ptr_factory_.GetWeakPtr(),
+ file_id, callback));
}
void FolderCreator::DidUpdateDatabase(const std::string& file_id,

Powered by Google App Engine
This is Rietveld 408576698