blob: f4679175c46ec7831f0c6423b0075d95ab99dbe0 [file] [log] [blame]
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Native File System (https://wicg.github.io/native-file-system/)
dictionary FileSystemHandlePermissionDescriptor {
boolean writable = false;
};
[Exposed=(Window,Worker), SecureContext, Serializable]
interface FileSystemHandle {
readonly attribute boolean isFile;
readonly attribute boolean isDirectory;
readonly attribute USVString name;
Promise<PermissionState> queryPermission(optional FileSystemHandlePermissionDescriptor descriptor = {});
Promise<PermissionState> requestPermission(optional FileSystemHandlePermissionDescriptor descriptor = {});
};
dictionary FileSystemCreateWriterOptions {
boolean keepExistingData = false;
};
[Exposed=(Window,Worker), SecureContext, Serializable]
interface FileSystemFileHandle : FileSystemHandle {
Promise<File> getFile();
Promise<FileSystemWriter> createWriter(optional FileSystemCreateWriterOptions options = {});
};
dictionary FileSystemGetFileOptions {
boolean create = false;
};
dictionary FileSystemGetDirectoryOptions {
boolean create = false;
};
dictionary FileSystemRemoveOptions {
boolean recursive = false;
};
[Exposed=(Window,Worker), SecureContext, Serializable]
interface FileSystemDirectoryHandle : FileSystemHandle {
Promise<FileSystemFileHandle> getFile(USVString name, optional FileSystemGetFileOptions options = {});
Promise<FileSystemDirectoryHandle> getDirectory(USVString name, optional FileSystemGetDirectoryOptions options = {});
// This really returns an async iterable, but that is not yet expressable in WebIDL.
object getEntries();
Promise<void> removeEntry(USVString name, optional FileSystemRemoveOptions options = {});
};
[Exposed=(Window,Worker), SecureContext]
interface FileSystemWriter {
Promise<void> write(unsigned long long position, (BufferSource or Blob or USVString) data);
Promise<void> truncate(unsigned long long size);
Promise<void> close();
};
enum ChooseFileSystemEntriesType { "open-file", "save-file", "open-directory" };
dictionary ChooseFileSystemEntriesOptionsAccepts {
USVString description;
sequence<USVString> mimeTypes;
sequence<USVString> extensions;
};
dictionary ChooseFileSystemEntriesOptions {
ChooseFileSystemEntriesType type = "open-file";
boolean multiple = false;
sequence<ChooseFileSystemEntriesOptionsAccepts> accepts;
boolean excludeAcceptAllOption = false;
};
[SecureContext]
partial interface Window {
Promise<(FileSystemHandle or sequence<FileSystemHandle>)>
chooseFileSystemEntries(optional ChooseFileSystemEntriesOptions options = {});
};
enum SystemDirectoryType {
"sandbox"
};
dictionary GetSystemDirectoryOptions {
required SystemDirectoryType type;
};
[SecureContext]
partial interface FileSystemDirectoryHandle {
static Promise<FileSystemDirectoryHandle> getSystemDirectory(GetSystemDirectoryOptions options);
};