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

Side by Side Diff: chrome/browser/chromeos/drive/change_list_processor.cc

Issue 13866009: Remove root resource id aliasing from DriveResourceMetadata. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove other resource id check. Created 7 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/drive/change_list_processor.h" 5 #include "chrome/browser/chromeos/drive/change_list_processor.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "chrome/browser/chromeos/drive/drive.pb.h" 10 #include "chrome/browser/chromeos/drive/drive.pb.h"
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 } else if (about_resource.get()) { 111 } else if (about_resource.get()) {
112 largest_changestamp_ = about_resource->largest_change_id(); 112 largest_changestamp_ = about_resource->largest_change_id();
113 113
114 DVLOG(1) << "Root folder ID is " << about_resource->root_folder_id(); 114 DVLOG(1) << "Root folder ID is " << about_resource->root_folder_id();
115 DCHECK(!about_resource->root_folder_id().empty()); 115 DCHECK(!about_resource->root_folder_id().empty());
116 } else { 116 } else {
117 // A full update without AboutResouce will have no effective changestamp. 117 // A full update without AboutResouce will have no effective changestamp.
118 NOTREACHED(); 118 NOTREACHED();
119 } 119 }
120 120
121 ApplyEntryProtoMap(is_delta_feed); 121 ApplyEntryProtoMap(is_delta_feed, about_resource.Pass());
122 122
123 // Shouldn't record histograms when processing delta feeds. 123 // Shouldn't record histograms when processing delta feeds.
124 if (!is_delta_feed) 124 if (!is_delta_feed)
125 uma_stats.UpdateFileCountUmaHistograms(); 125 uma_stats.UpdateFileCountUmaHistograms();
126 } 126 }
127 127
128 void ChangeListProcessor::ApplyEntryProtoMap(bool is_delta_feed) { 128 void ChangeListProcessor::ApplyEntryProtoMap(
129 bool is_delta_feed,
130 scoped_ptr<google_apis::AboutResource> about_resource) {
129 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 131 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
130 132
131 if (!is_delta_feed) { // Full update. 133 if (!is_delta_feed) { // Full update.
134 DCHECK(about_resource);
135 changed_dirs_.insert(util::GetDriveGrandRootPath());
132 changed_dirs_.insert(util::GetDriveMyDriveRootPath()); 136 changed_dirs_.insert(util::GetDriveMyDriveRootPath());
137 // After all nodes are cleared, create the MyDrive root directory at first.
133 resource_metadata_->RemoveAll( 138 resource_metadata_->RemoveAll(
134 base::Bind(&ChangeListProcessor::ApplyNextEntryProtoAsync, 139 base::Bind(
135 weak_ptr_factory_.GetWeakPtr())); 140 &ChangeListProcessor::ApplyEntryProto,
141 weak_ptr_factory_.GetWeakPtr(),
142 util::CreateMyDriveRootEntry(about_resource->root_folder_id())));
136 } else { 143 } else {
137 // Go through all entries generated by the feed and apply them to the local 144 // Go through all entries generated by the feed and apply them to the local
138 // snapshot of the file system. 145 // snapshot of the file system.
139 ApplyNextEntryProtoAsync(); 146 ApplyNextEntryProtoAsync();
140 } 147 }
141 } 148 }
142 149
143 void ChangeListProcessor::ApplyNextEntryProtoAsync() { 150 void ChangeListProcessor::ApplyNextEntryProtoAsync() {
144 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 151 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
145 152
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 void ChangeListProcessor::Clear() { 468 void ChangeListProcessor::Clear() {
462 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 469 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
463 470
464 entry_proto_map_.clear(); 471 entry_proto_map_.clear();
465 changed_dirs_.clear(); 472 changed_dirs_.clear();
466 largest_changestamp_ = 0; 473 largest_changestamp_ = 0;
467 on_complete_callback_.Reset(); 474 on_complete_callback_.Reset();
468 } 475 }
469 476
470 } // namespace drive 477 } // namespace drive
OLDNEW
« 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