WPT
wpt / xhr / idlharness.any.html
Spec: XMLHttpRequest ↗
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 | 196/196 | 196/196 | 196/196 | 196/196 | 196/196 | 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 Document: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Document[2]: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes NonElementParentNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes DocumentOrShadowRoot: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes ParentNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes XPathEvaluatorBase: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface object length | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface object name | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: attribute onloadstart | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: attribute onprogress | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: attribute onabort | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: attribute onerror | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: attribute onload | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: attribute ontimeout | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: attribute onloadend | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestUpload interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestUpload interface object length | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestUpload interface object name | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestUpload interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestUpload interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestUpload interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestUpload must be primary interface of (new XMLHttpRequest()).upload | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of (new XMLHttpRequest()).upload | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadstart" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onprogress" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onabort" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onerror" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onload" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "ontimeout" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadend" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface object length | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface object name | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute onreadystatechange | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant UNSENT on interface object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant UNSENT on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant OPENED on interface object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant OPENED on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant HEADERS_RECEIVED on interface object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant HEADERS_RECEIVED on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant LOADING on interface object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant LOADING on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant DONE on interface object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: constant DONE on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute readyState | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: operation open(ByteString, USVString) | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: operation open(ByteString, USVString, boolean, optional USVString?, optional USVString?) | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: operation setRequestHeader(ByteString, ByteString) | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute timeout | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute withCredentials | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute upload | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: operation send(optional (Document or XMLHttpRequestBodyInit)?) | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: operation abort() | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute responseURL | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute status | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute statusText | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: operation getResponseHeader(ByteString) | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: operation getAllResponseHeaders() | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: operation overrideMimeType(DOMString) | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute responseType | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute response | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute responseText | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: attribute responseXML | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest must be primary interface of new XMLHttpRequest() | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of new XMLHttpRequest() | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "onreadystatechange" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "UNSENT" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "OPENED" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "HEADERS_RECEIVED" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "LOADING" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "DONE" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "readyState" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open(ByteString, USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: calling open(ByteString, USVString) on new XMLHttpRequest() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open(ByteString, USVString, boolean, optional USVString?, optional USVString?)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: calling open(ByteString, USVString, boolean, optional USVString?, optional USVString?) on new XMLHttpRequest() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "setRequestHeader(ByteString, ByteString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: calling setRequestHeader(ByteString, ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "timeout" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "withCredentials" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "upload" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "send(optional (Document or XMLHttpRequestBodyInit)?)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: calling send(optional (Document or XMLHttpRequestBodyInit)?) on new XMLHttpRequest() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "abort()" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseURL" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "status" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "statusText" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getResponseHeader(ByteString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: calling getResponseHeader(ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getAllResponseHeaders()" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "overrideMimeType(DOMString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: calling overrideMimeType(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseType" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "response" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseText" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseXML" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadstart" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onprogress" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onabort" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onerror" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onload" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "ontimeout" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadend" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface object length | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface object name | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: operation append(USVString, USVString) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: operation append(USVString, Blob, optional USVString) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: operation delete(USVString) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: operation get(USVString) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: operation getAll(USVString) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: operation has(USVString) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: operation set(USVString, USVString) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: operation set(USVString, Blob, optional USVString) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: iterable<USVString, FormDataEntryValue> | PASS | PASS | PASS | PASS | PASS | — |
| FormData must be primary interface of new FormData() | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of new FormData() | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData() must inherit property "append(USVString, USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling append(USVString, USVString) on new FormData() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData() must inherit property "append(USVString, Blob, optional USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling append(USVString, Blob, optional USVString) on new FormData() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData() must inherit property "delete(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling delete(USVString) on new FormData() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData() must inherit property "get(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling get(USVString) on new FormData() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData() must inherit property "getAll(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling getAll(USVString) on new FormData() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData() must inherit property "has(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling has(USVString) on new FormData() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData() must inherit property "set(USVString, USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling set(USVString, USVString) on new FormData() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData() must inherit property "set(USVString, Blob, optional USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling set(USVString, Blob, optional USVString) on new FormData() with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData must be primary interface of new FormData(form) | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of new FormData(form) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form) must inherit property "append(USVString, USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling append(USVString, USVString) on new FormData(form) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form) must inherit property "append(USVString, Blob, optional USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling append(USVString, Blob, optional USVString) on new FormData(form) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form) must inherit property "delete(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling delete(USVString) on new FormData(form) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form) must inherit property "get(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling get(USVString) on new FormData(form) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form) must inherit property "getAll(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling getAll(USVString) on new FormData(form) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form) must inherit property "has(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling has(USVString) on new FormData(form) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form) must inherit property "set(USVString, USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling set(USVString, USVString) on new FormData(form) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form) must inherit property "set(USVString, Blob, optional USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling set(USVString, Blob, optional USVString) on new FormData(form) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData must be primary interface of new FormData(form, submitter) | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of new FormData(form, submitter) | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form, submitter) must inherit property "append(USVString, USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling append(USVString, USVString) on new FormData(form, submitter) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form, submitter) must inherit property "append(USVString, Blob, optional USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling append(USVString, Blob, optional USVString) on new FormData(form, submitter) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form, submitter) must inherit property "delete(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling delete(USVString) on new FormData(form, submitter) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form, submitter) must inherit property "get(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling get(USVString) on new FormData(form, submitter) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form, submitter) must inherit property "getAll(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling getAll(USVString) on new FormData(form, submitter) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form, submitter) must inherit property "has(USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling has(USVString) on new FormData(form, submitter) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form, submitter) must inherit property "set(USVString, USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling set(USVString, USVString) on new FormData(form, submitter) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: new FormData(form, submitter) must inherit property "set(USVString, Blob, optional USVString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| FormData interface: calling set(USVString, Blob, optional USVString) on new FormData(form, submitter) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface object length | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface object name | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: attribute lengthComputable | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: attribute loaded | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: attribute total | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent must be primary interface of new ProgressEvent("type") | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of new ProgressEvent("type") | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: new ProgressEvent("type") must inherit property "lengthComputable" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: new ProgressEvent("type") must inherit property "loaded" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| ProgressEvent interface: new ProgressEvent("type") must inherit property "total" with the proper type | PASS | PASS | PASS | PASS | PASS | — |