summaryrefslogtreecommitdiffstats
path: root/chrome/browser/drive
diff options
context:
space:
mode:
authortzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-12 12:00:06 +0000
committertzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-12 12:00:06 +0000
commit56fc130a8b04f83192d09bd838d290fe724a6838 (patch)
treecbca2de0a5c419078b8974bf13dcf1124dcd48ac /chrome/browser/drive
parent165fad29acd06b872c5a757a4a626e033e01af1f (diff)
downloadchromium_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/drive')
-rw-r--r--chrome/browser/drive/drive_api_service.cc14
-rw-r--r--chrome/browser/drive/drive_api_service.h4
-rw-r--r--chrome/browser/drive/drive_service_interface.h10
-rw-r--r--chrome/browser/drive/dummy_drive_service.cc5
-rw-r--r--chrome/browser/drive/dummy_drive_service.h4
-rw-r--r--chrome/browser/drive/fake_drive_service.cc10
-rw-r--r--chrome/browser/drive/fake_drive_service.h4
-rw-r--r--chrome/browser/drive/gdata_wapi_service.cc12
-rw-r--r--chrome/browser/drive/gdata_wapi_service.h4
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,