Chromium Code Reviews| Index: chrome/browser/chromeos/drive/drive_feed_loader.cc |
| diff --git a/chrome/browser/chromeos/drive/drive_feed_loader.cc b/chrome/browser/chromeos/drive/drive_feed_loader.cc |
| index f92a585b6648fb387d023170fad07a92c3a1ccf0..d4235de21f76658e8e08e263cc6d980359c82c15 100644 |
| --- a/chrome/browser/chromeos/drive/drive_feed_loader.cc |
| +++ b/chrome/browser/chromeos/drive/drive_feed_loader.cc |
| @@ -381,7 +381,10 @@ void DriveFeedLoader::OnGetAboutResource( |
| bool changes_detected = true; |
| int64 largest_changestamp = about_resource->largest_change_id(); |
| - resource_metadata_->InitializeRootEntry(about_resource->root_folder_id()); |
| + |
| + // Copy the root resource ID for use in UpdateFromFeed(). |
| + params->root_resource_id = about_resource->root_folder_id(); |
| + DCHECK(!params->root_resource_id.empty()); |
| if (local_changestamp >= largest_changestamp) { |
| if (local_changestamp > largest_changestamp) { |
| @@ -494,7 +497,8 @@ void DriveFeedLoader::OnFeedFromServerLoaded(scoped_ptr<LoadFeedParams> params, |
| UpdateFromFeed(params->feed_list, |
| params->start_changestamp, |
| - params->root_feed_changestamp); |
| + params->root_feed_changestamp, |
| + params->root_resource_id); |
| // Save file system metadata to disk. |
| SaveFileSystem(); |
| @@ -887,12 +891,23 @@ void DriveFeedLoader::SaveFileSystem() { |
| void DriveFeedLoader::UpdateFromFeed( |
| const ScopedVector<google_apis::DocumentFeed>& feed_list, |
| int64 start_changestamp, |
| - int64 root_feed_changestamp) { |
| + int64 root_feed_changestamp, |
| + const std::string& root_resource_id) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| DVLOG(1) << "Updating directory with a feed"; |
| std::set<FilePath> changed_dirs; |
| + if (start_changestamp == 0) { |
|
satorux1
2012/10/26 06:14:36
{ // full fetch
kochi
2012/10/26 07:35:42
Added a bit more descriptive comment.
Please take
|
| + if (google_apis::util::IsDriveV2ApiEnabled()) { |
| + DCHECK(!root_resource_id.empty()); |
| + resource_metadata_->SetRootResourceId(root_resource_id); |
| + } else { |
| + // Use fixed root resource ID for WAPI. |
| + resource_metadata_->SetRootResourceId(kWAPIRootDirectoryResourceId); |
| + } |
| + } |
| + |
| DriveFeedProcessor feed_processor(resource_metadata_); |
| feed_processor.ApplyFeeds( |
| feed_list, |