WPT
wpt / FileAPI / idlharness.html
Spec: File API ↗
Runs: Chrome 155.0.8039.0 (wpt@6ec9fd59f, 2026-09-03) | Firefox 157.0a1 (wpt@6ec9fd59f, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-795e1 (wpt@7e3d005d7, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (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 | 69/69 | 68/69 | 68/69 | 68/69 | 69/69 | 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 | — |
| FileList must be primary interface of document.querySelector("#fileChooser").files | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of document.querySelector("#fileChooser").files | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: document.querySelector("#fileChooser").files must inherit property "item(unsigned long)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: calling item(unsigned long) on document.querySelector("#fileChooser").files with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FileList interface: document.querySelector("#fileChooser").files must inherit property "length" with the proper type | 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 | — |
| URL interface: operation createObjectURL((Blob or MediaSource)) | PASS | PASS | PASS | PASS | PASS | — |
| URL interface: operation revokeObjectURL(DOMString) | PASS | PASS | PASS | PASS | PASS | — |