| Index: chrome/browser/sync_file_system/drive_backend/conflict_resolver.cc
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/conflict_resolver.cc b/chrome/browser/sync_file_system/drive_backend/conflict_resolver.cc
|
| index 91c9c4805273873b919eb8ceaaf62b57ef3ed155..6e35474c22ff410072a5b7a148b743ad8b3b01a6 100644
|
| --- a/chrome/browser/sync_file_system/drive_backend/conflict_resolver.cc
|
| +++ b/chrome/browser/sync_file_system/drive_backend/conflict_resolver.cc
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/sync_file_system/drive_backend/conflict_resolver.h"
|
|
|
| #include <stdint.h>
|
| +#include <utility>
|
|
|
| #include "base/callback.h"
|
| #include "base/format_macros.h"
|
| @@ -38,20 +39,20 @@ void ConflictResolver::RunPreflight(scoped_ptr<SyncTaskToken> token) {
|
| scoped_ptr<TaskBlocker> task_blocker(new TaskBlocker);
|
| task_blocker->exclusive = true;
|
| SyncTaskManager::UpdateTaskBlocker(
|
| - token.Pass(), task_blocker.Pass(),
|
| + std::move(token), std::move(task_blocker),
|
| base::Bind(&ConflictResolver::RunExclusive,
|
| weak_ptr_factory_.GetWeakPtr()));
|
| }
|
|
|
| void ConflictResolver::RunExclusive(scoped_ptr<SyncTaskToken> token) {
|
| if (!IsContextReady()) {
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_FAILED);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_FAILED);
|
| return;
|
| }
|
|
|
| // Conflict resolution should be invoked on clean tree.
|
| if (metadata_database()->HasDirtyTracker()) {
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_RETRY);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_RETRY);
|
| return;
|
| }
|
|
|
| @@ -61,7 +62,7 @@ void ConflictResolver::RunExclusive(scoped_ptr<SyncTaskToken> token) {
|
| DCHECK_LT(1u, trackers.size());
|
| if (!trackers.has_active()) {
|
| NOTREACHED();
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_FAILED);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_FAILED);
|
| return;
|
| }
|
|
|
| @@ -86,12 +87,12 @@ void ConflictResolver::RunExclusive(scoped_ptr<SyncTaskToken> token) {
|
| tracker.parent_tracker_id(), &parent_tracker);
|
| if (!should_success) {
|
| NOTREACHED();
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_FAILED);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_FAILED);
|
| return;
|
| }
|
| parents_to_remove_.push_back(parent_tracker.file_id());
|
| }
|
| - DetachFromNonPrimaryParents(token.Pass());
|
| + DetachFromNonPrimaryParents(std::move(token));
|
| return;
|
| }
|
|
|
| @@ -119,11 +120,11 @@ void ConflictResolver::RunExclusive(scoped_ptr<SyncTaskToken> token) {
|
| "(primary tracker_id=%" PRId64 ")",
|
| non_primary_file_ids_.size(), primary_tracker_id));
|
|
|
| - RemoveNonPrimaryFiles(token.Pass());
|
| + RemoveNonPrimaryFiles(std::move(token));
|
| return;
|
| }
|
|
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_NO_CONFLICT);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_NO_CONFLICT);
|
| }
|
|
|
| void ConflictResolver::DetachFromNonPrimaryParents(
|
| @@ -151,16 +152,16 @@ void ConflictResolver::DidDetachFromParent(
|
| google_apis::DriveApiErrorCode error) {
|
| SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error);
|
| if (status != SYNC_STATUS_OK) {
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), status);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), status);
|
| return;
|
| }
|
|
|
| if (!parents_to_remove_.empty()) {
|
| - DetachFromNonPrimaryParents(token.Pass());
|
| + DetachFromNonPrimaryParents(std::move(token));
|
| return;
|
| }
|
|
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_OK);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_OK);
|
| }
|
|
|
| std::string ConflictResolver::PickPrimaryFile(const TrackerIDSet& trackers) {
|
| @@ -181,7 +182,7 @@ std::string ConflictResolver::PickPrimaryFile(const TrackerIDSet& trackers) {
|
| }
|
|
|
| if (!primary) {
|
| - primary = file_metadata.Pass();
|
| + primary = std::move(file_metadata);
|
| continue;
|
| }
|
|
|
| @@ -193,7 +194,7 @@ std::string ConflictResolver::PickPrimaryFile(const TrackerIDSet& trackers) {
|
| if (primary->details().file_kind() == FILE_KIND_FILE) {
|
| if (file_metadata->details().file_kind() == FILE_KIND_FOLDER) {
|
| // Prioritize folders over regular files.
|
| - primary = file_metadata.Pass();
|
| + primary = std::move(file_metadata);
|
| continue;
|
| }
|
|
|
| @@ -201,7 +202,7 @@ std::string ConflictResolver::PickPrimaryFile(const TrackerIDSet& trackers) {
|
| if (primary->details().modification_time() <
|
| file_metadata->details().modification_time()) {
|
| // Prioritize last write for regular files.
|
| - primary = file_metadata.Pass();
|
| + primary = std::move(file_metadata);
|
| continue;
|
| }
|
|
|
| @@ -218,7 +219,7 @@ std::string ConflictResolver::PickPrimaryFile(const TrackerIDSet& trackers) {
|
| if (primary->details().creation_time() >
|
| file_metadata->details().creation_time()) {
|
| // Prioritize first create for folders.
|
| - primary = file_metadata.Pass();
|
| + primary = std::move(file_metadata);
|
| continue;
|
| }
|
| }
|
| @@ -254,25 +255,25 @@ void ConflictResolver::DidRemoveFile(scoped_ptr<SyncTaskToken> token,
|
| google_apis::DriveApiErrorCode error) {
|
| if (error == google_apis::HTTP_PRECONDITION ||
|
| error == google_apis::HTTP_CONFLICT) {
|
| - UpdateFileMetadata(file_id, token.Pass());
|
| + UpdateFileMetadata(file_id, std::move(token));
|
| return;
|
| }
|
|
|
| SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error);
|
| if (status != SYNC_STATUS_OK && error != google_apis::HTTP_NOT_FOUND) {
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), status);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), status);
|
| return;
|
| }
|
|
|
| deleted_file_ids_.push_back(file_id);
|
| if (!non_primary_file_ids_.empty()) {
|
| - RemoveNonPrimaryFiles(token.Pass());
|
| + RemoveNonPrimaryFiles(std::move(token));
|
| return;
|
| }
|
|
|
| status = metadata_database()->UpdateByDeletedRemoteFileList(
|
| deleted_file_ids_);
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), status);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), status);
|
| }
|
|
|
| bool ConflictResolver::IsContextReady() {
|
| @@ -297,24 +298,24 @@ void ConflictResolver::DidGetRemoteMetadata(
|
| scoped_ptr<google_apis::FileResource> entry) {
|
| SyncStatusCode status = DriveApiErrorCodeToSyncStatusCode(error);
|
| if (status != SYNC_STATUS_OK && error != google_apis::HTTP_NOT_FOUND) {
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), status);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), status);
|
| return;
|
| }
|
|
|
| if (error != google_apis::HTTP_NOT_FOUND) {
|
| status = metadata_database()->UpdateByDeletedRemoteFile(file_id);
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), status);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), status);
|
| return;
|
| }
|
|
|
| if (!entry) {
|
| NOTREACHED();
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), SYNC_STATUS_FAILED);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), SYNC_STATUS_FAILED);
|
| return;
|
| }
|
|
|
| status = metadata_database()->UpdateByFileResource(*entry);
|
| - SyncTaskManager::NotifyTaskDone(token.Pass(), status);
|
| + SyncTaskManager::NotifyTaskDone(std::move(token), status);
|
| }
|
|
|
| drive::DriveServiceInterface* ConflictResolver::drive_service() {
|
|
|