summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/FileAPI/Blob.idl
blob: d002f8cba9a51514c08c1b27c47f81483e67bb34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[Exposed=(Window,Worker), Serializable]
interface Blob {
    constructor(optional sequence<BlobPart> blobParts, optional BlobPropertyBag options = {});

    readonly attribute unsigned long long size;
    readonly attribute DOMString type;

    // slice Blob into byte-ranged chunks
    Blob slice(optional long long start, optional long long end, optional DOMString contentType);

    // read from the Blob.
    [NewObject] Promise<USVString> text();
    [NewObject] Promise<ArrayBuffer> arrayBuffer();
};

enum EndingType { "transparent", "native" };

dictionary BlobPropertyBag {
    DOMString type = "";
    EndingType endings = "transparent";
};

typedef (BufferSource or Blob or USVString) BlobPart;