1// Copyright 2018 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// https://wicg.github.io/native-file-system/#filesystemdirectoryhandle
6[
7    Exposed=(Window,Worker),
8    SecureContext,
9    Serializable,
10    RuntimeEnabled=NativeFileSystem,
11    ImplementedAs=NativeFileSystemDirectoryHandle
12] interface FileSystemDirectoryHandle : FileSystemHandle {
13    [CallWith=ScriptState] Promise<FileSystemFileHandle> getFile(USVString name, optional FileSystemGetFileOptions options = {});
14    [CallWith=ScriptState] Promise<FileSystemDirectoryHandle> getDirectory(USVString name, optional FileSystemGetDirectoryOptions options = {});
15    [CallWith=ScriptState] object getEntries();
16
17    [CallWith=ScriptState] Promise<void> removeEntry(USVString name, optional FileSystemRemoveOptions options = {});
18
19    [CallWith=ScriptState, Measure] Promise<sequence<USVString>?> resolve(FileSystemHandle possibleChild);
20
21    [CallWith=ScriptState, Measure, RaisesException]
22    static Promise<FileSystemDirectoryHandle> getSystemDirectory(GetSystemDirectoryOptions options);
23};
24