WPT
wpt / FileAPI / idlharness.worker.html
Spec: File API ↗
Runs: Chrome 155.0.8038.0 (wpt@b1a7025f8, 2026-09-02) | Firefox 157.0a1 (wpt@b1a7025f8, 2026-09-02) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a7884 (wpt@b1a7025f8, 2026-09-02) | Servo Servo 0.5 (wpt@2ccd2cbf8, 2026-09-01) | Blitz 7727414ca (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 83/83 | 82/83 | 82/83 | 82/83 | 83/83 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| idl_test setup | PASS | PASS | PASS | PASS | PASS | — |
| idl_test validation | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface URL: original interface defined | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface URL: valid exposure set | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface URL: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface object length | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface object name | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: attribute size | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: attribute type | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: operation slice(optional long long, optional long long, optional DOMString) | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: operation stream() | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: operation text() | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: operation arrayBuffer() | PASS | PASS | PASS | PASS | PASS | — |
| Blob interface: operation textStream() | PASS | FAIL | FAIL | FAIL | PASS | — |
| Blob interface: operation bytes() | PASS | PASS | PASS | PASS | PASS | — |
| File interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| File interface object length | PASS | PASS | PASS | PASS | PASS | — |
| File interface object name | PASS | PASS | PASS | PASS | PASS | — |
| File interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| File interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| File interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| File interface: attribute name | PASS | PASS | PASS | PASS | PASS | — |
| File interface: attribute lastModified | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface object length | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface object name | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: operation item(unsigned long) | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: attribute length | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface object length | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface object name | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: operation readAsArrayBuffer(Blob) | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: operation readAsBinaryString(Blob) | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: operation readAsText(Blob, optional DOMString) | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: operation readAsDataURL(Blob) | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: operation abort() | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: constant EMPTY on interface object | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: constant EMPTY on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: constant LOADING on interface object | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: constant LOADING on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: constant DONE on interface object | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: constant DONE on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute readyState | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute result | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute error | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute onloadstart | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute onprogress | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute onload | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute onabort | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute onerror | PASS | PASS | PASS | PASS | PASS | — |
| FileReader interface: attribute onloadend | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface object length | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface object name | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: operation readAsArrayBuffer(Blob) | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: operation readAsBinaryString(Blob) | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: operation readAsText(Blob, optional DOMString) | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: operation readAsDataURL(Blob) | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync must be primary interface of new FileReaderSync() | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of new FileReaderSync() | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: new FileReaderSync() must inherit property "readAsArrayBuffer(Blob)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: calling readAsArrayBuffer(Blob) on new FileReaderSync() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: new FileReaderSync() must inherit property "readAsBinaryString(Blob)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: calling readAsBinaryString(Blob) on new FileReaderSync() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: new FileReaderSync() must inherit property "readAsText(Blob, optional DOMString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: calling readAsText(Blob, optional DOMString) on new FileReaderSync() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: new FileReaderSync() must inherit property "readAsDataURL(Blob)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FileReaderSync interface: calling readAsDataURL(Blob) on new FileReaderSync() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| URL interface: operation createObjectURL((Blob or MediaSource)) | PASS | PASS | PASS | PASS | PASS | — |
| URL interface: operation revokeObjectURL(DOMString) | PASS | PASS | PASS | PASS | PASS | — |