WPT
wpt / mediacapture-record / idlharness.window.html
Spec: MediaStream Recording ↗
Runs: Chrome 155.0.8038.0 (wpt@7addae031, 2026-09-02) | Firefox 157.0a1 (wpt@7addae031, 2026-09-02) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a7884 (wpt@b1a7025f8, 2026-09-02) | 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 | 60/60 | 56/60 | 58/60 | 2/60 | 2/60 | 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 | — |
| MediaRecorder interface: existence and properties of interface object | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface object length | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface object name | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: existence and properties of interface prototype object | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute stream | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute mimeType | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute state | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute onstart | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute onstop | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute ondataavailable | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute onpause | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute onresume | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute onerror | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute videoBitsPerSecond | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute audioBitsPerSecond | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: attribute audioBitrateMode | PASS | FAIL | FAIL | FAIL | FAIL | — |
| MediaRecorder interface: operation start(optional unsigned long) | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: operation stop() | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: operation pause() | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: operation resume() | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: operation requestData() | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder interface: operation isTypeSupported(DOMString) | PASS | PASS | PASS | FAIL | FAIL | — |
| MediaRecorder must be primary interface of [object MediaRecorder] | PASS | PASS | PASS | — | — | — |
| Stringification of [object MediaRecorder] | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "stream" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "mimeType" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "state" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "onstart" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "onstop" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "ondataavailable" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "onpause" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "onresume" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "onerror" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "videoBitsPerSecond" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "audioBitsPerSecond" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "audioBitrateMode" with the proper type | PASS | FAIL | FAIL | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "start(optional unsigned long)" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: calling start(optional unsigned long) on [object MediaRecorder] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "stop()" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "pause()" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "resume()" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "requestData()" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: [object MediaRecorder] must inherit property "isTypeSupported(DOMString)" with the proper type | PASS | PASS | PASS | — | — | — |
| MediaRecorder interface: calling isTypeSupported(DOMString) on [object MediaRecorder] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| BlobEvent interface: existence and properties of interface object | PASS | PASS | PASS | FAIL | FAIL | — |
| BlobEvent interface object length | PASS | PASS | PASS | FAIL | FAIL | — |
| BlobEvent interface object name | PASS | PASS | PASS | FAIL | FAIL | — |
| BlobEvent interface: existence and properties of interface prototype object | PASS | PASS | PASS | FAIL | FAIL | — |
| BlobEvent interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | FAIL | FAIL | — |
| BlobEvent interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | FAIL | FAIL | — |
| BlobEvent interface: attribute data | PASS | PASS | PASS | FAIL | FAIL | — |
| BlobEvent interface: attribute timecode | PASS | FAIL | PASS | FAIL | FAIL | — |
| BlobEvent must be primary interface of [object BlobEvent] | PASS | PASS | PASS | — | — | — |
| Stringification of [object BlobEvent] | PASS | PASS | PASS | — | — | — |
| BlobEvent interface: [object BlobEvent] must inherit property "data" with the proper type | PASS | PASS | PASS | — | — | — |
| BlobEvent interface: [object BlobEvent] must inherit property "timecode" with the proper type | PASS | FAIL | PASS | — | — | — |
| MediaRecorder must be primary interface of undefined | — | — | — | FAIL | FAIL | — |
| Stringification of undefined | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "stream" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "mimeType" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "state" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "onstart" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "onstop" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "ondataavailable" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "onpause" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "onresume" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "onerror" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "videoBitsPerSecond" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "audioBitsPerSecond" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "audioBitrateMode" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "start(optional unsigned long)" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: calling start(optional unsigned long) on undefined with too few arguments must throw TypeError | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "stop()" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "pause()" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "resume()" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "requestData()" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: undefined must inherit property "isTypeSupported(DOMString)" with the proper type | — | — | — | FAIL | FAIL | — |
| MediaRecorder interface: calling isTypeSupported(DOMString) on undefined with too few arguments must throw TypeError | — | — | — | FAIL | FAIL | — |
| BlobEvent must be primary interface of undefined | — | — | — | FAIL | FAIL | — |
| BlobEvent interface: undefined must inherit property "data" with the proper type | — | — | — | FAIL | FAIL | — |
| BlobEvent interface: undefined must inherit property "timecode" with the proper type | — | — | — | FAIL | FAIL | — |