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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/sync_engine_initializer.cc

Issue 1545283002: Convert Pass()→std::move() in //chrome/browser/ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/sync_file_system/drive_backend/sync_engine_initializer. h" 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer. h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/callback.h" 11 #include "base/callback.h"
11 #include "base/logging.h" 12 #include "base/logging.h"
12 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants. h" 13 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants. h"
13 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h" 14 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h"
14 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" 15 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
15 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" 16 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h"
16 #include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h" 17 #include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h"
17 #include "chrome/browser/sync_file_system/drive_backend/sync_task_token.h" 18 #include "chrome/browser/sync_file_system/drive_backend/sync_task_token.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 71
71 void SyncEngineInitializer::RunPreflight(scoped_ptr<SyncTaskToken> token) { 72 void SyncEngineInitializer::RunPreflight(scoped_ptr<SyncTaskToken> token) {
72 util::Log(logging::LOG_VERBOSE, FROM_HERE, "[Initialize] Start."); 73 util::Log(logging::LOG_VERBOSE, FROM_HERE, "[Initialize] Start.");
73 DCHECK(sync_context_); 74 DCHECK(sync_context_);
74 DCHECK(sync_context_->GetDriveService()); 75 DCHECK(sync_context_->GetDriveService());
75 76
76 // The metadata seems to have been already initialized. Just return with OK. 77 // The metadata seems to have been already initialized. Just return with OK.
77 if (sync_context_->GetMetadataDatabase()) { 78 if (sync_context_->GetMetadataDatabase()) {
78 util::Log(logging::LOG_VERBOSE, FROM_HERE, 79 util::Log(logging::LOG_VERBOSE, FROM_HERE,
79 "[Initialize] Already initialized."); 80 "[Initialize] Already initialized.");
80 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); 81 SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_OK);
81 return; 82 return;
82 } 83 }
83 84
84 SyncStatusCode status = SYNC_STATUS_FAILED; 85 SyncStatusCode status = SYNC_STATUS_FAILED;
85 scoped_ptr<MetadataDatabase> metadata_database = 86 scoped_ptr<MetadataDatabase> metadata_database =
86 MetadataDatabase::Create(database_path_, env_override_, &status); 87 MetadataDatabase::Create(database_path_, env_override_, &status);
87 88
88 if (status != SYNC_STATUS_OK) { 89 if (status != SYNC_STATUS_OK) {
89 util::Log(logging::LOG_VERBOSE, FROM_HERE, 90 util::Log(logging::LOG_VERBOSE, FROM_HERE,
90 "[Initialize] Failed to initialize MetadataDatabase."); 91 "[Initialize] Failed to initialize MetadataDatabase.");
91 SyncTaskManager::NotifyTaskDone(token.Pass(), status); 92 SyncTaskManager::NotifyTaskDone(std::move(token), status);
92 return; 93 return;
93 } 94 }
94 95
95 DCHECK(metadata_database); 96 DCHECK(metadata_database);
96 metadata_database_ = metadata_database.Pass(); 97 metadata_database_ = std::move(metadata_database);
97 if (metadata_database_->HasSyncRoot() && 98 if (metadata_database_->HasSyncRoot() &&
98 !metadata_database_->NeedsSyncRootRevalidation()) { 99 !metadata_database_->NeedsSyncRootRevalidation()) {
99 util::Log(logging::LOG_VERBOSE, FROM_HERE, 100 util::Log(logging::LOG_VERBOSE, FROM_HERE,
100 "[Initialize] Found local cache of sync-root."); 101 "[Initialize] Found local cache of sync-root.");
101 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); 102 SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_OK);
102 return; 103 return;
103 } 104 }
104 105
105 GetAboutResource(token.Pass()); 106 GetAboutResource(std::move(token));
106 } 107 }
107 108
108 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() { 109 scoped_ptr<MetadataDatabase> SyncEngineInitializer::PassMetadataDatabase() {
109 return metadata_database_.Pass(); 110 return std::move(metadata_database_);
110 } 111 }
111 112
112 void SyncEngineInitializer::GetAboutResource( 113 void SyncEngineInitializer::GetAboutResource(
113 scoped_ptr<SyncTaskToken> token) { 114 scoped_ptr<SyncTaskToken> token) {
114 set_used_network(true); 115 set_used_network(true);
115 sync_context_->GetDriveService()->GetAboutResource( 116 sync_context_->GetDriveService()->GetAboutResource(
116 base::Bind(&SyncEngineInitializer::DidGetAboutResource, 117 base::Bind(&SyncEngineInitializer::DidGetAboutResource,
117 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); 118 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token)));
118 } 119 }
119 120
120 void SyncEngineInitializer::DidGetAboutResource( 121 void SyncEngineInitializer::DidGetAboutResource(
121 scoped_ptr<SyncTaskToken> token, 122 scoped_ptr<SyncTaskToken> token,
122 google_apis::DriveApiErrorCode error, 123 google_apis::DriveApiErrorCode error,
123 scoped_ptr<google_apis::AboutResource> about_resource) { 124 scoped_ptr<google_apis::AboutResource> about_resource) {
124 cancel_callback_.Reset(); 125 cancel_callback_.Reset();
125 126
126 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error); 127 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error);
127 if (status != SYNC_STATUS_OK) { 128 if (status != SYNC_STATUS_OK) {
128 util::Log(logging::LOG_VERBOSE, FROM_HERE, 129 util::Log(logging::LOG_VERBOSE, FROM_HERE,
129 "[Initialize] Failed to get AboutResource."); 130 "[Initialize] Failed to get AboutResource.");
130 SyncTaskManager::NotifyTaskDone(token.Pass(), status); 131 SyncTaskManager::NotifyTaskDone(std::move(token), status);
131 return; 132 return;
132 } 133 }
133 134
134 DCHECK(about_resource); 135 DCHECK(about_resource);
135 root_folder_id_ = about_resource->root_folder_id(); 136 root_folder_id_ = about_resource->root_folder_id();
136 largest_change_id_ = about_resource->largest_change_id(); 137 largest_change_id_ = about_resource->largest_change_id();
137 138
138 DCHECK(!root_folder_id_.empty()); 139 DCHECK(!root_folder_id_.empty());
139 FindSyncRoot(token.Pass()); 140 FindSyncRoot(std::move(token));
140 } 141 }
141 142
142 void SyncEngineInitializer::FindSyncRoot(scoped_ptr<SyncTaskToken> token) { 143 void SyncEngineInitializer::FindSyncRoot(scoped_ptr<SyncTaskToken> token) {
143 if (find_sync_root_retry_count_++ >= kMaxRetry) { 144 if (find_sync_root_retry_count_++ >= kMaxRetry) {
144 util::Log(logging::LOG_VERBOSE, FROM_HERE, 145 util::Log(logging::LOG_VERBOSE, FROM_HERE,
145 "[Initialize] Reached max retry count."); 146 "[Initialize] Reached max retry count.");
146 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_FAILED); 147 SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_FAILED);
147 return; 148 return;
148 } 149 }
149 150
150 set_used_network(true); 151 set_used_network(true);
151 cancel_callback_ = sync_context_->GetDriveService()->SearchByTitle( 152 cancel_callback_ = sync_context_->GetDriveService()->SearchByTitle(
152 kSyncRootFolderTitle, 153 kSyncRootFolderTitle,
153 std::string(), // parent_folder_id 154 std::string(), // parent_folder_id
154 base::Bind(&SyncEngineInitializer::DidFindSyncRoot, 155 base::Bind(&SyncEngineInitializer::DidFindSyncRoot,
155 weak_ptr_factory_.GetWeakPtr(), 156 weak_ptr_factory_.GetWeakPtr(),
156 base::Passed(&token))); 157 base::Passed(&token)));
157 } 158 }
158 159
159 void SyncEngineInitializer::DidFindSyncRoot( 160 void SyncEngineInitializer::DidFindSyncRoot(
160 scoped_ptr<SyncTaskToken> token, 161 scoped_ptr<SyncTaskToken> token,
161 google_apis::DriveApiErrorCode error, 162 google_apis::DriveApiErrorCode error,
162 scoped_ptr<google_apis::FileList> file_list) { 163 scoped_ptr<google_apis::FileList> file_list) {
163 cancel_callback_.Reset(); 164 cancel_callback_.Reset();
164 165
165 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error); 166 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error);
166 if (status != SYNC_STATUS_OK) { 167 if (status != SYNC_STATUS_OK) {
167 util::Log(logging::LOG_VERBOSE, FROM_HERE, 168 util::Log(logging::LOG_VERBOSE, FROM_HERE,
168 "[Initialize] Failed to find sync root."); 169 "[Initialize] Failed to find sync root.");
169 SyncTaskManager::NotifyTaskDone(token.Pass(), status); 170 SyncTaskManager::NotifyTaskDone(std::move(token), status);
170 return; 171 return;
171 } 172 }
172 173
173 if (!file_list) { 174 if (!file_list) {
174 NOTREACHED(); 175 NOTREACHED();
175 util::Log(logging::LOG_VERBOSE, FROM_HERE, 176 util::Log(logging::LOG_VERBOSE, FROM_HERE,
176 "[Initialize] Got invalid resource list."); 177 "[Initialize] Got invalid resource list.");
177 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_FAILED); 178 SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_FAILED);
178 return; 179 return;
179 } 180 }
180 181
181 ScopedVector<google_apis::FileResource>* items = file_list->mutable_items(); 182 ScopedVector<google_apis::FileResource>* items = file_list->mutable_items();
182 for (ScopedVector<google_apis::FileResource>::iterator itr = items->begin(); 183 for (ScopedVector<google_apis::FileResource>::iterator itr = items->begin();
183 itr != items->end(); ++itr) { 184 itr != items->end(); ++itr) {
184 google_apis::FileResource* entry = *itr; 185 google_apis::FileResource* entry = *itr;
185 186
186 // Ignore deleted folder. 187 // Ignore deleted folder.
187 if (entry->labels().is_trashed()) 188 if (entry->labels().is_trashed())
(...skipping 19 matching lines...) Expand all
207 if (!file_list->next_link().is_empty()) { 208 if (!file_list->next_link().is_empty()) {
208 cancel_callback_ = sync_context_->GetDriveService()->GetRemainingFileList( 209 cancel_callback_ = sync_context_->GetDriveService()->GetRemainingFileList(
209 file_list->next_link(), 210 file_list->next_link(),
210 base::Bind(&SyncEngineInitializer::DidFindSyncRoot, 211 base::Bind(&SyncEngineInitializer::DidFindSyncRoot,
211 weak_ptr_factory_.GetWeakPtr(), 212 weak_ptr_factory_.GetWeakPtr(),
212 base::Passed(&token))); 213 base::Passed(&token)));
213 return; 214 return;
214 } 215 }
215 216
216 if (!sync_root_folder_) { 217 if (!sync_root_folder_) {
217 CreateSyncRoot(token.Pass()); 218 CreateSyncRoot(std::move(token));
218 return; 219 return;
219 } 220 }
220 221
221 if (!HasNoParents(*sync_root_folder_)) { 222 if (!HasNoParents(*sync_root_folder_)) {
222 DetachSyncRoot(token.Pass()); 223 DetachSyncRoot(std::move(token));
223 return; 224 return;
224 } 225 }
225 226
226 ListAppRootFolders(token.Pass()); 227 ListAppRootFolders(std::move(token));
227 } 228 }
228 229
229 void SyncEngineInitializer::CreateSyncRoot(scoped_ptr<SyncTaskToken> token) { 230 void SyncEngineInitializer::CreateSyncRoot(scoped_ptr<SyncTaskToken> token) {
230 DCHECK(!sync_root_folder_); 231 DCHECK(!sync_root_folder_);
231 set_used_network(true); 232 set_used_network(true);
232 drive::AddNewDirectoryOptions options; 233 drive::AddNewDirectoryOptions options;
233 options.visibility = google_apis::drive::FILE_VISIBILITY_PRIVATE; 234 options.visibility = google_apis::drive::FILE_VISIBILITY_PRIVATE;
234 cancel_callback_ = sync_context_->GetDriveService()->AddNewDirectory( 235 cancel_callback_ = sync_context_->GetDriveService()->AddNewDirectory(
235 root_folder_id_, kSyncRootFolderTitle, options, 236 root_folder_id_, kSyncRootFolderTitle, options,
236 base::Bind(&SyncEngineInitializer::DidCreateSyncRoot, 237 base::Bind(&SyncEngineInitializer::DidCreateSyncRoot,
237 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); 238 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token)));
238 } 239 }
239 240
240 void SyncEngineInitializer::DidCreateSyncRoot( 241 void SyncEngineInitializer::DidCreateSyncRoot(
241 scoped_ptr<SyncTaskToken> token, 242 scoped_ptr<SyncTaskToken> token,
242 google_apis::DriveApiErrorCode error, 243 google_apis::DriveApiErrorCode error,
243 scoped_ptr<google_apis::FileResource> entry) { 244 scoped_ptr<google_apis::FileResource> entry) {
244 DCHECK(!sync_root_folder_); 245 DCHECK(!sync_root_folder_);
245 cancel_callback_.Reset(); 246 cancel_callback_.Reset();
246 247
247 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error); 248 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error);
248 if (status != SYNC_STATUS_OK) { 249 if (status != SYNC_STATUS_OK) {
249 util::Log(logging::LOG_VERBOSE, FROM_HERE, 250 util::Log(logging::LOG_VERBOSE, FROM_HERE,
250 "[Initialize] Failed to create sync root."); 251 "[Initialize] Failed to create sync root.");
251 SyncTaskManager::NotifyTaskDone(token.Pass(), status); 252 SyncTaskManager::NotifyTaskDone(std::move(token), status);
252 return; 253 return;
253 } 254 }
254 255
255 FindSyncRoot(token.Pass()); 256 FindSyncRoot(std::move(token));
256 } 257 }
257 258
258 void SyncEngineInitializer::DetachSyncRoot(scoped_ptr<SyncTaskToken> token) { 259 void SyncEngineInitializer::DetachSyncRoot(scoped_ptr<SyncTaskToken> token) {
259 DCHECK(sync_root_folder_); 260 DCHECK(sync_root_folder_);
260 set_used_network(true); 261 set_used_network(true);
261 cancel_callback_ = 262 cancel_callback_ =
262 sync_context_->GetDriveService()->RemoveResourceFromDirectory( 263 sync_context_->GetDriveService()->RemoveResourceFromDirectory(
263 root_folder_id_, 264 root_folder_id_,
264 sync_root_folder_->file_id(), 265 sync_root_folder_->file_id(),
265 base::Bind(&SyncEngineInitializer::DidDetachSyncRoot, 266 base::Bind(&SyncEngineInitializer::DidDetachSyncRoot,
266 weak_ptr_factory_.GetWeakPtr(), 267 weak_ptr_factory_.GetWeakPtr(),
267 base::Passed(&token))); 268 base::Passed(&token)));
268 } 269 }
269 270
270 void SyncEngineInitializer::DidDetachSyncRoot( 271 void SyncEngineInitializer::DidDetachSyncRoot(
271 scoped_ptr<SyncTaskToken> token, 272 scoped_ptr<SyncTaskToken> token,
272 google_apis::DriveApiErrorCode error) { 273 google_apis::DriveApiErrorCode error) {
273 cancel_callback_.Reset(); 274 cancel_callback_.Reset();
274 275
275 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error); 276 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error);
276 if (status != SYNC_STATUS_OK) { 277 if (status != SYNC_STATUS_OK) {
277 util::Log(logging::LOG_VERBOSE, FROM_HERE, 278 util::Log(logging::LOG_VERBOSE, FROM_HERE,
278 "[Initialize] Failed to detach sync root."); 279 "[Initialize] Failed to detach sync root.");
279 SyncTaskManager::NotifyTaskDone(token.Pass(), status); 280 SyncTaskManager::NotifyTaskDone(std::move(token), status);
280 return; 281 return;
281 } 282 }
282 283
283 ListAppRootFolders(token.Pass()); 284 ListAppRootFolders(std::move(token));
284 } 285 }
285 286
286 void SyncEngineInitializer::ListAppRootFolders( 287 void SyncEngineInitializer::ListAppRootFolders(
287 scoped_ptr<SyncTaskToken> token) { 288 scoped_ptr<SyncTaskToken> token) {
288 DCHECK(sync_root_folder_); 289 DCHECK(sync_root_folder_);
289 set_used_network(true); 290 set_used_network(true);
290 cancel_callback_ = 291 cancel_callback_ =
291 sync_context_->GetDriveService()->GetFileListInDirectory( 292 sync_context_->GetDriveService()->GetFileListInDirectory(
292 sync_root_folder_->file_id(), 293 sync_root_folder_->file_id(),
293 base::Bind(&SyncEngineInitializer::DidListAppRootFolders, 294 base::Bind(&SyncEngineInitializer::DidListAppRootFolders,
294 weak_ptr_factory_.GetWeakPtr(), 295 weak_ptr_factory_.GetWeakPtr(),
295 base::Passed(&token))); 296 base::Passed(&token)));
296 } 297 }
297 298
298 void SyncEngineInitializer::DidListAppRootFolders( 299 void SyncEngineInitializer::DidListAppRootFolders(
299 scoped_ptr<SyncTaskToken> token, 300 scoped_ptr<SyncTaskToken> token,
300 google_apis::DriveApiErrorCode error, 301 google_apis::DriveApiErrorCode error,
301 scoped_ptr<google_apis::FileList> file_list) { 302 scoped_ptr<google_apis::FileList> file_list) {
302 cancel_callback_.Reset(); 303 cancel_callback_.Reset();
303 304
304 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error); 305 SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error);
305 if (status != SYNC_STATUS_OK) { 306 if (status != SYNC_STATUS_OK) {
306 util::Log(logging::LOG_VERBOSE, FROM_HERE, 307 util::Log(logging::LOG_VERBOSE, FROM_HERE,
307 "[Initialize] Failed to get initial app-root folders."); 308 "[Initialize] Failed to get initial app-root folders.");
308 SyncTaskManager::NotifyTaskDone(token.Pass(), status); 309 SyncTaskManager::NotifyTaskDone(std::move(token), status);
309 return; 310 return;
310 } 311 }
311 312
312 if (!file_list) { 313 if (!file_list) {
313 NOTREACHED(); 314 NOTREACHED();
314 util::Log(logging::LOG_VERBOSE, FROM_HERE, 315 util::Log(logging::LOG_VERBOSE, FROM_HERE,
315 "[Initialize] Got invalid initial app-root list."); 316 "[Initialize] Got invalid initial app-root list.");
316 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_FAILED); 317 SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_FAILED);
317 return; 318 return;
318 } 319 }
319 320
320 ScopedVector<google_apis::FileResource>* new_entries = 321 ScopedVector<google_apis::FileResource>* new_entries =
321 file_list->mutable_items(); 322 file_list->mutable_items();
322 app_root_folders_.insert(app_root_folders_.end(), 323 app_root_folders_.insert(app_root_folders_.end(),
323 new_entries->begin(), new_entries->end()); 324 new_entries->begin(), new_entries->end());
324 new_entries->weak_clear(); 325 new_entries->weak_clear();
325 326
326 set_used_network(true); 327 set_used_network(true);
327 if (!file_list->next_link().is_empty()) { 328 if (!file_list->next_link().is_empty()) {
328 cancel_callback_ = 329 cancel_callback_ =
329 sync_context_->GetDriveService()->GetRemainingFileList( 330 sync_context_->GetDriveService()->GetRemainingFileList(
330 file_list->next_link(), 331 file_list->next_link(),
331 base::Bind(&SyncEngineInitializer::DidListAppRootFolders, 332 base::Bind(&SyncEngineInitializer::DidListAppRootFolders,
332 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); 333 weak_ptr_factory_.GetWeakPtr(), base::Passed(&token)));
333 return; 334 return;
334 } 335 }
335 336
336 PopulateDatabase(token.Pass()); 337 PopulateDatabase(std::move(token));
337 } 338 }
338 339
339 void SyncEngineInitializer::PopulateDatabase( 340 void SyncEngineInitializer::PopulateDatabase(
340 scoped_ptr<SyncTaskToken> token) { 341 scoped_ptr<SyncTaskToken> token) {
341 DCHECK(sync_root_folder_); 342 DCHECK(sync_root_folder_);
342 SyncStatusCode status = metadata_database_->PopulateInitialData( 343 SyncStatusCode status = metadata_database_->PopulateInitialData(
343 largest_change_id_, *sync_root_folder_, app_root_folders_); 344 largest_change_id_, *sync_root_folder_, app_root_folders_);
344 if (status != SYNC_STATUS_OK) { 345 if (status != SYNC_STATUS_OK) {
345 util::Log(logging::LOG_VERBOSE, FROM_HERE, 346 util::Log(logging::LOG_VERBOSE, FROM_HERE,
346 "[Initialize] Failed to populate initial data" 347 "[Initialize] Failed to populate initial data"
347 " to MetadataDatabase."); 348 " to MetadataDatabase.");
348 SyncTaskManager::NotifyTaskDone(token.Pass(), status); 349 SyncTaskManager::NotifyTaskDone(std::move(token), status);
349 return; 350 return;
350 } 351 }
351 352
352 util::Log(logging::LOG_VERBOSE, FROM_HERE, 353 util::Log(logging::LOG_VERBOSE, FROM_HERE,
353 "[Initialize] Completed successfully."); 354 "[Initialize] Completed successfully.");
354 SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK); 355 SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_OK);
355 } 356 }
356 357
357 } // namespace drive_backend 358 } // namespace drive_backend
358 } // namespace sync_file_system 359 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698