summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-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,