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

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

Issue 12588009: drive: Pass through AboutResouce from server among callbacks in ChangeListLoader. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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/change_list_processor.cc
diff --git a/chrome/browser/chromeos/drive/change_list_processor.cc b/chrome/browser/chromeos/drive/change_list_processor.cc
index f4e7ab9cc0e02ccc92d34a4fff5a2291cc75789a..e11820ff92497ddafd5c45963de1eaad575e1126 100644
--- a/chrome/browser/chromeos/drive/change_list_processor.cc
+++ b/chrome/browser/chromeos/drive/change_list_processor.cc
@@ -70,20 +70,35 @@ ChangeListProcessor::~ChangeListProcessor() {
}
void ChangeListProcessor::ApplyFeeds(
+ scoped_ptr<google_apis::AboutResource> about_resource,
const ScopedVector<google_apis::ResourceList>& feed_list,
bool is_delta_feed,
- int64 root_feed_changestamp,
const base::Closure& on_complete_callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DCHECK(!on_complete_callback.is_null());
+ DCHECK(is_delta_feed || about_resource.get());
int64 delta_feed_changestamp = 0;
ChangeListToEntryProtoMapUMAStats uma_stats;
FeedToEntryProtoMap(feed_list, &delta_feed_changestamp, &uma_stats);
// Note FeedToEntryProtoMap calls Clear() which resets on_complete_callback_.
on_complete_callback_ = on_complete_callback;
- largest_changestamp_ =
- is_delta_feed ? delta_feed_changestamp : root_feed_changestamp;
+ largest_changestamp_ = 0;
+ if (is_delta_feed) {
+ largest_changestamp_ = delta_feed_changestamp;
+ } else if (about_resource.get()) {
+ largest_changestamp_ = about_resource->largest_change_id();
+
+ DVLOG(1) << "Root folder ID is " << about_resource->root_folder_id();
+ DCHECK(!about_resource->root_folder_id().empty());
+ } else {
+ // A full update without AboutResouce will have no effective changestamp.
+ NOTREACHED();
+ }
+
+ // TODO(haruki): Add pseudo tree structure for "drive"/root" and "drive/other"
+ // when we start using those namespaces. The root folder ID is necessary for
+ // full feed update.
ApplyEntryProtoMap(is_delta_feed);
// Shouldn't record histograms when processing delta feeds.
« no previous file with comments | « chrome/browser/chromeos/drive/change_list_processor.h ('k') | chrome/browser/chromeos/drive/drive_file_system_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698