Index: chrome/common/extensions/api/file_system.idl |
diff --git a/chrome/common/extensions/api/file_system.idl b/chrome/common/extensions/api/file_system.idl |
index 3ddec881ded528dc134b019bd4f00050c5019424..7e3d6d6184b79c31751b4ee3635baf4e08c0ce02 100644 |
--- a/chrome/common/extensions/api/file_system.idl |
+++ b/chrome/common/extensions/api/file_system.idl |
@@ -38,7 +38,14 @@ namespace fileSystem { |
// Prompts the user to open an existing file or a new file and returns a |
// writable FileEntry on success. Calls using this type will fail unless the |
// application has the 'write' permission under 'fileSystem'. |
- saveFile |
+ saveFile, |
+ |
+ // Prompts the user to open a directory and returns a DirectoryEntry on |
+ // success. Calls using this type will fail unless the application has the |
+ // 'directory' permission under 'fileSystem'. If the application has the |
+ // 'write' permission under 'fileSystem', the returned DirectoryEntry will |
+ // be writable; otherwise it will be read-only. New in Chrome 31. |
+ openDirectory |
}; |
dictionary ChooseEntryOptions { |
@@ -68,36 +75,38 @@ namespace fileSystem { |
boolean? acceptsMultiple; |
}; |
callback GetDisplayPathCallback = void (DOMString displayPath); |
- callback FileEntryCallback = void ([instanceOf=FileEntry] object fileEntry); |
- callback FileEntriesCallback = void ( |
- [instanceOf=FileEntry] optional object fileEntry, |
+ callback EntryCallback = void ([instanceOf=Entry] object entry); |
+ callback EntriesCallback = void ( |
+ [instanceOf=Entry] optional object entry, |
[instanceOf=FileEntry] optional object[] fileEntries); |
callback IsWritableCallback = void (boolean isWritable); |
callback IsRestorableCallback = void (boolean isRestorable); |
interface Functions { |
- // Get the display path of a FileEntry object. The display path is based on |
- // the full path of the file on the local file system, but may be made more |
- // readable for display purposes. |
- static void getDisplayPath([instanceOf=FileEntry] object fileEntry, |
+ // Get the display path of an Entry object. The display path is based on |
+ // the full path of the file or directory on the local file system, but may |
+ // be made more readable for display purposes. |
+ static void getDisplayPath([instanceOf=Entry] object entry, |
GetDisplayPathCallback callback); |
- // Get a writable FileEntry from another FileEntry. This call will fail if |
- // the application does not have the 'write' permission under 'fileSystem'. |
- static void getWritableEntry([instanceOf=FileEntry] object fileEntry, |
- FileEntryCallback callback); |
+ // Get a writable Entry from another Entry. This call will fail if the |
+ // application does not have the 'write' permission under 'fileSystem'. If |
+ // entry is a DirectoryEntry, this call will fail if the application does |
+ // not have the 'directory' permission under 'fileSystem'. |
+ static void getWritableEntry([instanceOf=Entry] object entry, |
+ EntryCallback callback); |
- // Gets whether this FileEntry is writable or not. |
- static void isWritableEntry([instanceOf=FileEntry] object fileEntry, |
+ // Gets whether this Entry is writable or not. |
+ static void isWritableEntry([instanceOf=Entry] object entry, |
IsWritableCallback callback); |
- // Ask the user to choose a file. |
+ // Ask the user to choose a file or directory. |
static void chooseEntry(optional ChooseEntryOptions options, |
- FileEntriesCallback callback); |
+ EntriesCallback callback); |
// Returns the file entry with the given id if it can be restored. This call |
// will fail otherwise. This method is new in Chrome 30. |
- static void restoreEntry(DOMString id, FileEntryCallback callback); |
+ static void restoreEntry(DOMString id, EntryCallback callback); |
// Returns whether a file entry for the given id can be restored, i.e. |
// whether restoreEntry would succeed with this id now. This method is new |
@@ -111,6 +120,6 @@ namespace fileSystem { |
// to dev channel), entries are retained indefinitely. Otherwise, entries |
// are retained only while the app is running and across restarts. This |
// method is new in Chrome 30. |
- static DOMString retainEntry([instanceOf=FileEntry] object fileEntry); |
+ static DOMString retainEntry([instanceOf=Entry] object entry); |
}; |
}; |