Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1248)

Unified Diff: chrome/common/extensions/api/file_system_provider.idl

Issue 194693002: [fsp] Add requestUnmount() method together with the request manager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed some too strict thread checks. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/api/file_system_provider.idl
diff --git a/chrome/common/extensions/api/file_system_provider.idl b/chrome/common/extensions/api/file_system_provider.idl
index 173a1c8c2d806be7fb81ee04217d1c7b023438b0..e10cb8c2a02f61973cbaf1db97a5912bf50ea1eb 100644
--- a/chrome/common/extensions/api/file_system_provider.idl
+++ b/chrome/common/extensions/api/file_system_provider.idl
@@ -7,6 +7,28 @@
[platforms=("chromeos"),
implemented_in="chrome/browser/chromeos/extensions/file_system_provider/file_system_provider_api.h"]
namespace fileSystemProvider {
+ // Error codes used by providing extensions in response to requests. For
+ // success, <code>OK</code> should be used.
+ enum ProviderError {
+ OK,
+ FAILED,
+ IN_USE,
+ EXISTS,
+ NOT_FOUND,
+ ACCESS_DENIED,
+ TOO_MANY_OPENED,
+ NO_MEMORY,
+ NO_SPACE,
+ NOT_A_DIRECTORY,
+ INVALID_OPERATION,
+ SECURITY,
+ ABORT,
+ NOT_A_FILE,
+ NOT_EMPTY,
+ INVALID_URL,
+ IO
+ };
+
// Callback to receive the result of mount() function.
// <code>fileSystemID</code> will be a unique ID for the file system just
// mounted. The ID is used to distinguish multiple file systems mounted
@@ -14,6 +36,18 @@ namespace fileSystemProvider {
callback MountCallback = void(long fileSystemId,
[nodoc, instanceOf=DOMError] object error);
+
+ // Callback to receive the result of unmount() function with the <code>
+ // fileSystemId</code> identifier.
+ callback UnmountCallback = void(long fileSystemId,
+ [nodoc, instanceOf=DOMError] object error);
+
+ // Callback to be called by the providing extension in case of a success.
+ callback ProviderSuccessCallback = void();
+
+ // Callback to be called by the providing extension in case of an error.
+ callback ProviderErrorCallback = void(ProviderError error);
+
// Callback to handle an error raised from the browser.
[nocompile] callback ErrorCallback = void([instanceOf=DOMError] object error);
@@ -22,10 +56,33 @@ namespace fileSystemProvider {
// <code>displayName</code> will be shown in the left panel of
// Files.app. <code>displayName</code> can contain any characters
// including '/', but cannot be an empty string. <code>displayName</code>
- // should be descritive but doesn't have to be unique. Duplicate display
+ // should be descriptive but doesn't have to be unique. Duplicate display
// names are uniquified by adding suffix like "(1)" in the Files.app UI.
static void mount(DOMString displayName,
MountCallback successCallback,
[nocompile] ErrorCallback errorCallback);
+
+ // Unmounts a file system with the given <code>fileSystemId</code>. It
+ // should be called after <code>onUnmountRequested</code> is invoked. Also,
+ // the providing extension can decide to perform unmounting if not requested
+ // (eg. in case of lost connection, or a file error). If there is no file
+ // system with the requested id, or unmounting fails, then the
+ // <code>errorCallback</code> will be called.
+ static void unmount(long fileSystemId,
+ UnmountCallback successCallback,
+ [nocompile] ErrorCallback errorCallback);
+ };
+
+ interface Events {
+ // Raised, when the user requests unmounting of the file system with the
+ // <code>fileSystemId</code> identifier in the Files.app UI. In response,
+ // the <code>unmount</code> API method should be called. If unmounting is
+ // not possible (eg. due to pending operation), then <code>errorCallback
+ // </code> should be called, and <code>unmount</code> should not be called.
+ [maxListeners=1] static void onUnmountRequested(
+ long fileSystemId,
+ ProviderSuccessCallback successCallback,
+ ProviderErrorCallback errorCallback);
};
};
+
« no previous file with comments | « chrome/common/extensions/api/api.gyp ('k') | chrome/common/extensions/api/file_system_provider_internal.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698