diff options
author | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-12 12:00:06 +0000 |
---|---|---|
committer | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-12 12:00:06 +0000 |
commit | 56fc130a8b04f83192d09bd838d290fe724a6838 (patch) | |
tree | cbca2de0a5c419078b8974bf13dcf1124dcd48ac /chrome/browser | |
parent | 165fad29acd06b872c5a757a4a626e033e01af1f (diff) | |
download | chromium_src-56fc130a8b04f83192d09bd838d290fe724a6838.zip chromium_src-56fc130a8b04f83192d09bd838d290fe724a6838.tar.gz chromium_src-56fc130a8b04f83192d09bd838d290fe724a6838.tar.bz2 |
[Drive] Add DriveServiceInterface::DeleteResource
* Add DriveServiceInterface::DeleteResource
* Implement DriveAPIService::DeleteResource
BUG=240165
R=hashimoto@chromium.org
Review URL: https://codereview.chromium.org/113803002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240278 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/drive/drive_api_service.cc | 14 | ||||
-rw-r--r-- | chrome/browser/drive/drive_api_service.h | 4 | ||||
-rw-r--r-- | chrome/browser/drive/drive_service_interface.h | 10 | ||||
-rw-r--r-- | chrome/browser/drive/dummy_drive_service.cc | 5 | ||||
-rw-r--r-- | chrome/browser/drive/dummy_drive_service.h | 4 | ||||
-rw-r--r-- | chrome/browser/drive/fake_drive_service.cc | 10 | ||||
-rw-r--r-- | chrome/browser/drive/fake_drive_service.h | 4 | ||||
-rw-r--r-- | chrome/browser/drive/gdata_wapi_service.cc | 12 | ||||
-rw-r--r-- | chrome/browser/drive/gdata_wapi_service.h | 4 |
9 files changed, 67 insertions, 0 deletions
diff --git a/chrome/browser/drive/drive_api_service.cc b/chrome/browser/drive/drive_api_service.cc index 9a9802c..cabd4c1 100644 --- a/chrome/browser/drive/drive_api_service.cc +++ b/chrome/browser/drive/drive_api_service.cc @@ -67,6 +67,7 @@ using google_apis::drive::FilesInsertRequest; using google_apis::drive::FilesPatchRequest; using google_apis::drive::FilesListRequest; using google_apis::drive::FilesListNextPageRequest; +using google_apis::drive::FilesDeleteRequest; using google_apis::drive::FilesTrashRequest; using google_apis::drive::GetUploadStatusRequest; using google_apis::drive::InitiateUploadExistingFileRequest; @@ -554,6 +555,19 @@ CancelCallback DriveAPIService::DownloadFile( progress_callback)); } +CancelCallback DriveAPIService::DeleteResource( + const std::string& resource_id, + const std::string& etag, + const EntryActionCallback& callback) { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + DCHECK(!callback.is_null()); + + FilesDeleteRequest* request = new FilesDeleteRequest( + sender_.get(), url_generator_, callback); + request->set_file_id(resource_id); + return sender_->StartRequestWithRetry(request); +} + CancelCallback DriveAPIService::TrashResource( const std::string& resource_id, const std::string& etag, diff --git a/chrome/browser/drive/drive_api_service.h b/chrome/browser/drive/drive_api_service.h index 125c0c7..77122db 100644 --- a/chrome/browser/drive/drive_api_service.h +++ b/chrome/browser/drive/drive_api_service.h @@ -106,6 +106,10 @@ class DriveAPIService : public DriveServiceInterface, const google_apis::AboutResourceCallback& callback) OVERRIDE; virtual google_apis::CancelCallback GetAppList( const google_apis::AppListCallback& callback) OVERRIDE; + virtual google_apis::CancelCallback DeleteResource( + const std::string& resource_id, + const std::string& etag, + const google_apis::EntryActionCallback& callback) OVERRIDE; virtual google_apis::CancelCallback TrashResource( const std::string& resource_id, const std::string& etag, diff --git a/chrome/browser/drive/drive_service_interface.h b/chrome/browser/drive/drive_service_interface.h index 3095341..ae61d38 100644 --- a/chrome/browser/drive/drive_service_interface.h +++ b/chrome/browser/drive/drive_service_interface.h @@ -192,6 +192,16 @@ class DriveServiceInterface { virtual google_apis::CancelCallback GetAppList( const google_apis::AppListCallback& callback) = 0; + // Permanently deletes a resource identified by its |resource_id|. + // If |etag| is not empty and did not match, the deletion fails with + // HTTP_PRECONDITION error. + // Upon completion, invokes |callback| with results on the calling thread. + // |callback| must not be null. + virtual google_apis::CancelCallback DeleteResource( + const std::string& resource_id, + const std::string& etag, + const google_apis::EntryActionCallback& callback) = 0; + // Trashes a resource identified by its |resource_id|. // If |etag| is not empty and did not match, the trash operation fails with // HTTP_PRECONDITION error. diff --git a/chrome/browser/drive/dummy_drive_service.cc b/chrome/browser/drive/dummy_drive_service.cc index e90e4a9..ef10065 100644 --- a/chrome/browser/drive/dummy_drive_service.cc +++ b/chrome/browser/drive/dummy_drive_service.cc @@ -99,6 +99,11 @@ CancelCallback DummyDriveService::GetAboutResource( CancelCallback DummyDriveService::GetAppList( const AppListCallback& callback) { return CancelCallback(); } +CancelCallback DummyDriveService::DeleteResource( + const std::string& resource_id, + const std::string& etag, + const EntryActionCallback& callback) { return CancelCallback(); } + CancelCallback DummyDriveService::TrashResource( const std::string& resource_id, const std::string& etag, diff --git a/chrome/browser/drive/dummy_drive_service.h b/chrome/browser/drive/dummy_drive_service.h index a794375..002d492 100644 --- a/chrome/browser/drive/dummy_drive_service.h +++ b/chrome/browser/drive/dummy_drive_service.h @@ -62,6 +62,10 @@ class DummyDriveService : public DriveServiceInterface { const google_apis::AboutResourceCallback& callback) OVERRIDE; virtual google_apis::CancelCallback GetAppList( const google_apis::AppListCallback& callback) OVERRIDE; + virtual google_apis::CancelCallback DeleteResource( + const std::string& resource_id, + const std::string& etag, + const google_apis::EntryActionCallback& callback) OVERRIDE; virtual google_apis::CancelCallback TrashResource( const std::string& resource_id, const std::string& etag, diff --git a/chrome/browser/drive/fake_drive_service.cc b/chrome/browser/drive/fake_drive_service.cc index d45811c..fb4d2d7 100644 --- a/chrome/browser/drive/fake_drive_service.cc +++ b/chrome/browser/drive/fake_drive_service.cc @@ -555,6 +555,16 @@ CancelCallback FakeDriveService::GetAppList(const AppListCallback& callback) { return CancelCallback(); } +CancelCallback FakeDriveService::DeleteResource( + const std::string& resource_id, + const std::string& etag, + const EntryActionCallback& callback) { + NOTIMPLEMENTED(); + base::MessageLoop::current()->PostTask( + FROM_HERE, base::Bind(callback, GDATA_OTHER_ERROR)); + return CancelCallback(); +} + CancelCallback FakeDriveService::TrashResource( const std::string& resource_id, const std::string& etag, diff --git a/chrome/browser/drive/fake_drive_service.h b/chrome/browser/drive/fake_drive_service.h index 68ae913..370eec9 100644 --- a/chrome/browser/drive/fake_drive_service.h +++ b/chrome/browser/drive/fake_drive_service.h @@ -149,6 +149,10 @@ class FakeDriveService : public DriveServiceInterface { const google_apis::AboutResourceCallback& callback) OVERRIDE; virtual google_apis::CancelCallback GetAppList( const google_apis::AppListCallback& callback) OVERRIDE; + virtual google_apis::CancelCallback DeleteResource( + const std::string& resource_id, + const std::string& etag, + const google_apis::EntryActionCallback& callback) OVERRIDE; virtual google_apis::CancelCallback TrashResource( const std::string& resource_id, const std::string& etag, diff --git a/chrome/browser/drive/gdata_wapi_service.cc b/chrome/browser/drive/gdata_wapi_service.cc index 7ffd9fe..75ad286 100644 --- a/chrome/browser/drive/gdata_wapi_service.cc +++ b/chrome/browser/drive/gdata_wapi_service.cc @@ -370,6 +370,18 @@ CancelCallback GDataWapiService::DownloadFile( local_cache_path)); } +CancelCallback GDataWapiService::DeleteResource( + const std::string& resource_id, + const std::string& etag, + const EntryActionCallback& callback) { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + DCHECK(!callback.is_null()); + + NOTIMPLEMENTED(); + callback.Run(google_apis::GDATA_OTHER_ERROR); + return CancelCallback(); +} + CancelCallback GDataWapiService::TrashResource( const std::string& resource_id, const std::string& etag, diff --git a/chrome/browser/drive/gdata_wapi_service.h b/chrome/browser/drive/gdata_wapi_service.h index 2974487..47e199a 100644 --- a/chrome/browser/drive/gdata_wapi_service.h +++ b/chrome/browser/drive/gdata_wapi_service.h @@ -102,6 +102,10 @@ class GDataWapiService : public DriveServiceInterface, const google_apis::AboutResourceCallback& callback) OVERRIDE; virtual google_apis::CancelCallback GetAppList( const google_apis::AppListCallback& callback) OVERRIDE; + virtual google_apis::CancelCallback DeleteResource( + const std::string& resource_id, + const std::string& etag, + const google_apis::EntryActionCallback& callback) OVERRIDE; virtual google_apis::CancelCallback TrashResource( const std::string& resource_id, const std::string& etag, |