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

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

Issue 59043010: [SyncFS] Implement RemoteToLocalSyncer::GetRemoteResource (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remote_sync_handling
Patch Set: Created 7 years, 1 month 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
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc b/chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc
index ee73dd72a1f7b791d36f56ff0b0b374d9300d2ef..291d8b5c66df474a866765ce0e0898cf3e3fa2c0 100644
--- a/chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc
+++ b/chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc
@@ -9,6 +9,10 @@
#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop/message_loop_proxy.h"
+#include "chrome/browser/drive/drive_api_util.h"
+#include "chrome/browser/drive/drive_service_interface.h"
+#include "chrome/browser/google_apis/drive_api_parser.h"
+#include "chrome/browser/google_apis/gdata_wapi_parser.h"
#include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
#include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h"
@@ -176,11 +180,23 @@ void RemoteToLocalSyncer::ResolveRemoteChange(
void RemoteToLocalSyncer::GetRemoteResource(
const SyncStatusCallback& callback) {
- // TODO(tzik): FileMetadata is missing, retrieve and store it to
- // MetadataDatabase.
+ drive_service()->GetResourceEntry(
+ dirty_tracker_.file_id(),
+ base::Bind(&RemoteToLocalSyncer::DidGetRemoteResource,
+ weak_ptr_factory_.GetWeakPtr(),
+ callback,
+ metadata_database()->GetLargestChangeID()));
+}
- NOTIMPLEMENTED();
- callback.Run(SYNC_STATUS_FAILED);
+void RemoteToLocalSyncer::DidGetRemoteResource(
+ const SyncStatusCallback& callback,
+ int64 change_id,
+ google_apis::GDataErrorCode error,
+ scoped_ptr<google_apis::ResourceEntry> entry) {
+ metadata_database()->UpdateByFileResource(
+ change_id,
+ *drive::util::ConvertResourceEntryToFileResource(*entry),
+ callback);
}
void RemoteToLocalSyncer::HandleDeletion(
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698