chromium/third_party/blink/renderer/modules/file_system_access/file_system_directory_handle.idl

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://fs.spec.whatwg.org/#filesystemdirectoryhandle
[
    Exposed=(Window,Worker),
    SecureContext,
    Serializable,
    RuntimeEnabled=FileSystemAccess
] interface FileSystemDirectoryHandle : FileSystemHandle {
    async iterable<USVString, FileSystemHandle>;

    [
        CallWith=ScriptState,
        RaisesException
    ] Promise<FileSystemFileHandle> getFileHandle(USVString name,
        optional FileSystemGetFileOptions options = {});
    [
        CallWith=ScriptState,
        RaisesException
    ] Promise<FileSystemDirectoryHandle> getDirectoryHandle(USVString name,
        optional FileSystemGetDirectoryOptions options = {});

    [
        CallWith=ScriptState,
        RaisesException,
        Measure
    ] Promise<undefined> removeEntry(USVString name,
        optional FileSystemRemoveOptions options = {});

    [
        CallWith=ScriptState,
        RaisesException,
        Measure
    ] Promise<sequence<USVString>?> resolve(FileSystemHandle possibleChild);
};