| OLD | NEW |
| 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/uninstall_app_task.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/uninstall_app_task.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/location.h" | 8 #include "base/location.h" |
| 9 #include "chrome/browser/drive/drive_api_util.h" | 9 #include "chrome/browser/drive/drive_api_util.h" |
| 10 #include "chrome/browser/drive/drive_service_interface.h" | 10 #include "chrome/browser/drive/drive_service_interface.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 UninstallAppTask::~UninstallAppTask() { | 34 UninstallAppTask::~UninstallAppTask() { |
| 35 } | 35 } |
| 36 | 36 |
| 37 void UninstallAppTask::RunExclusive(const SyncStatusCallback& callback) { | 37 void UninstallAppTask::RunExclusive(const SyncStatusCallback& callback) { |
| 38 if (!IsContextReady()) { | 38 if (!IsContextReady()) { |
| 39 callback.Run(SYNC_STATUS_FAILED); | 39 callback.Run(SYNC_STATUS_FAILED); |
| 40 return; | 40 return; |
| 41 } | 41 } |
| 42 | 42 |
| 43 if (uninstall_flag_ == RemoteFileSyncService::UNINSTALL_AND_KEEP_REMOTE) { | 43 if (uninstall_flag_ == RemoteFileSyncService::UNINSTALL_AND_KEEP_REMOTE) { |
| 44 metadata_database()->UnregisterApp(app_id_, callback); | 44 SyncStatusCode status = metadata_database()->UnregisterApp(app_id_); |
| 45 callback.Run(status); |
| 45 return; | 46 return; |
| 46 } | 47 } |
| 47 DCHECK_EQ(RemoteFileSyncService::UNINSTALL_AND_PURGE_REMOTE, uninstall_flag_); | 48 DCHECK_EQ(RemoteFileSyncService::UNINSTALL_AND_PURGE_REMOTE, uninstall_flag_); |
| 48 | 49 |
| 49 int64 sync_root_tracker_id = metadata_database()->GetSyncRootTrackerID(); | 50 int64 sync_root_tracker_id = metadata_database()->GetSyncRootTrackerID(); |
| 50 TrackerIDSet trackers; | 51 TrackerIDSet trackers; |
| 51 if (!metadata_database()->FindTrackersByParentAndTitle( | 52 if (!metadata_database()->FindTrackersByParentAndTitle( |
| 52 sync_root_tracker_id, app_id_, &trackers) || | 53 sync_root_tracker_id, app_id_, &trackers) || |
| 53 !trackers.has_active()) { | 54 !trackers.has_active()) { |
| 54 callback.Run(SYNC_STATUS_OK); | 55 callback.Run(SYNC_STATUS_OK); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 77 void UninstallAppTask::DidDeleteAppRoot(const SyncStatusCallback& callback, | 78 void UninstallAppTask::DidDeleteAppRoot(const SyncStatusCallback& callback, |
| 78 int64 change_id, | 79 int64 change_id, |
| 79 google_apis::GDataErrorCode error) { | 80 google_apis::GDataErrorCode error) { |
| 80 SyncStatusCode status = GDataErrorCodeToSyncStatusCode(error); | 81 SyncStatusCode status = GDataErrorCodeToSyncStatusCode(error); |
| 81 if (status != SYNC_STATUS_OK && | 82 if (status != SYNC_STATUS_OK && |
| 82 error != google_apis::HTTP_NOT_FOUND) { | 83 error != google_apis::HTTP_NOT_FOUND) { |
| 83 callback.Run(SYNC_STATUS_FAILED); | 84 callback.Run(SYNC_STATUS_FAILED); |
| 84 return; | 85 return; |
| 85 } | 86 } |
| 86 | 87 |
| 87 metadata_database()->UnregisterApp(app_id_, callback); | 88 status = metadata_database()->UnregisterApp(app_id_); |
| 89 callback.Run(status); |
| 88 } | 90 } |
| 89 | 91 |
| 90 bool UninstallAppTask::IsContextReady() { | 92 bool UninstallAppTask::IsContextReady() { |
| 91 return sync_context_->GetMetadataDatabase() && | 93 return sync_context_->GetMetadataDatabase() && |
| 92 sync_context_->GetDriveService(); | 94 sync_context_->GetDriveService(); |
| 93 } | 95 } |
| 94 | 96 |
| 95 MetadataDatabase* UninstallAppTask::metadata_database() { | 97 MetadataDatabase* UninstallAppTask::metadata_database() { |
| 96 return sync_context_->GetMetadataDatabase(); | 98 return sync_context_->GetMetadataDatabase(); |
| 97 } | 99 } |
| 98 | 100 |
| 99 drive::DriveServiceInterface* UninstallAppTask::drive_service() { | 101 drive::DriveServiceInterface* UninstallAppTask::drive_service() { |
| 100 set_used_network(true); | 102 set_used_network(true); |
| 101 return sync_context_->GetDriveService(); | 103 return sync_context_->GetDriveService(); |
| 102 } | 104 } |
| 103 | 105 |
| 104 } // namespace drive_backend | 106 } // namespace drive_backend |
| 105 } // namespace sync_file_system | 107 } // namespace sync_file_system |
| OLD | NEW |