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

Unified Diff: chrome/browser/chromeos/drive/drive_file_system.cc

Issue 11876002: Make largest_changestamp setter/getter asynchronous. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: added unit test Created 7 years, 11 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/chromeos/drive/drive_file_system.cc
===================================================================
--- chrome/browser/chromeos/drive/drive_file_system.cc (revision 176402)
+++ chrome/browser/chromeos/drive/drive_file_system.cc (working copy)
@@ -153,6 +153,18 @@
callback.Run(error, path, entry_proto.Pass());
}
+// Callback for DriveResourceMetadata::GetLargestChangestamp.
+// |callback| must not be null.
+void OnGetLargestChangestamp(DriveFileSystemMetadata metadata,
satorux1 2013/01/15 19:19:01 Maybe: const DriveFileSystemMetadata& metadata
achuithb 2013/01/15 22:10:36 How strongly do you feel about this? I need to mod
satorux1 2013/01/16 00:47:30 Ah then this is fine. Maybe: DriveFileSystemMetad
achuithb 2013/01/16 01:00:22 Done.
+ const GetFilesystemMetadataCallback& callback,
+ int64 largest_changestamp) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
+
+ metadata.largest_changestamp = largest_changestamp;
+ callback.Run(metadata);
+}
+
} // namespace
// DriveFileSystem::FindFirstMissingParentDirectoryParams implementation.
@@ -1781,9 +1793,12 @@
params.callback);
}
-DriveFileSystemMetadata DriveFileSystem::GetMetadata() const {
+void DriveFileSystem::GetMetadata(
+ const GetFilesystemMetadataCallback& callback) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
+
DriveFileSystemMetadata metadata;
- metadata.largest_changestamp = resource_metadata_->largest_changestamp();
metadata.loaded = resource_metadata_->loaded();
metadata.refreshing = feed_loader_->refreshing();
@@ -1793,7 +1808,8 @@
metadata.last_update_check_time = last_update_check_time_;
metadata.last_update_check_error = last_update_check_error_;
- return metadata;
+ resource_metadata_->GetLargestChangestamp(
+ base::Bind(&OnGetLargestChangestamp, metadata, callback));
}
void DriveFileSystem::OnDisableDriveHostedFilesChanged() {

Powered by Google App Engine
This is Rietveld 408576698