Skip to content

Commit

Permalink
Add entries-api idl file
Browse files Browse the repository at this point in the history
  • Loading branch information
Luke Bjerring committed Mar 2, 2018
1 parent a7fa11a commit f679b47
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions interfaces/entries-api.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
partial interface File {
readonly attribute USVString webkitRelativePath;
};

partial interface HTMLInputElement {
attribute boolean webkitdirectory;
readonly attribute FrozenArray<FileSystemEntry> webkitEntries;
};

partial interface DataTransferItem {
FileSystemEntry? webkitGetAsEntry();
};

callback ErrorCallback = void (DOMException err);

interface FileSystemEntry {
readonly attribute boolean isFile;
readonly attribute boolean isDirectory;
readonly attribute USVString name;
readonly attribute USVString fullPath;
readonly attribute FileSystem filesystem;

void getParent(optional FileSystemEntryCallback successCallback,
optional ErrorCallback errorCallback);
};

interface FileSystemDirectoryEntry : FileSystemEntry {
FileSystemDirectoryReader createReader();
void getFile(optional USVString? path,
optional FileSystemFlags options,
optional FileSystemEntryCallback successCallback,
optional ErrorCallback errorCallback);
void getDirectory(optional USVString? path,
optional FileSystemFlags options,
optional FileSystemEntryCallback successCallback,
optional ErrorCallback errorCallback);
};

dictionary FileSystemFlags {
boolean create = false;
boolean exclusive = false;
};

callback FileSystemEntryCallback = void (FileSystemEntry entry);

interface FileSystemDirectoryReader {
void readEntries(FileSystemEntriesCallback successCallback,
optional ErrorCallback errorCallback);
};
callback FileSystemEntriesCallback = void (sequence<FileSystemEntry> entries);

interface FileSystemFileEntry : FileSystemEntry {
void file(FileCallback successCallback,
optional ErrorCallback errorCallback);
};
callback FileCallback = void (File file);

interface FileSystem {
readonly attribute USVString name;
readonly attribute FileSystemDirectoryEntry root;
};

0 comments on commit f679b47

Please sign in to comment.