WPT
wpt / workers / semantics / structured-clone / shared.html
Spec: https://html.spec.whatwg.org/multipage/workers.html ↗
Runs: Chrome 155.0.8038.0 (wpt@05fffeacb, 2026-09-02) | Firefox 157.0a1 (wpt@7addae031, 2026-09-02) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-410b4 (wpt@ce41a9c47, 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 | 152/152 | 152/152 | 152/152 | 140/152 | 151/152 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| primitive undefined | PASS | PASS | PASS | PASS | PASS | — |
| primitive null | PASS | PASS | PASS | PASS | PASS | — |
| primitive true | PASS | PASS | PASS | PASS | PASS | — |
| primitive false | PASS | PASS | PASS | PASS | PASS | — |
| primitive string, empty string | PASS | PASS | PASS | PASS | PASS | — |
| primitive string, lone high surrogate | PASS | PASS | PASS | PASS | PASS | — |
| primitive string, lone low surrogate | PASS | PASS | PASS | PASS | PASS | — |
| primitive string, NUL | PASS | PASS | PASS | PASS | PASS | — |
| primitive string, astral character | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, 0.2 | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, 0 | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, -0 | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, NaN | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, Infinity | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, -Infinity | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, 9007199254740992 | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, -9007199254740992 | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, 9007199254740994 | PASS | PASS | PASS | PASS | PASS | — |
| primitive number, -9007199254740994 | PASS | PASS | PASS | PASS | PASS | — |
| primitive BigInt, 0n | PASS | PASS | PASS | PASS | PASS | — |
| primitive BigInt, -0n | PASS | PASS | PASS | PASS | PASS | — |
| primitive BigInt, -9007199254740994000n | PASS | PASS | PASS | PASS | PASS | — |
| primitive BigInt, -9007199254740994000900719925474099400090071992547409940009007199254740994000n | PASS | PASS | PASS | PASS | PASS | — |
| Array primitives | PASS | PASS | PASS | PASS | PASS | — |
| Object primitives | PASS | PASS | PASS | PASS | PASS | — |
| Boolean true | PASS | PASS | PASS | PASS | PASS | — |
| Boolean false | PASS | PASS | PASS | PASS | PASS | — |
| Array Boolean objects | PASS | PASS | PASS | PASS | PASS | — |
| Object Boolean objects | PASS | PASS | PASS | PASS | PASS | — |
| String empty string | PASS | PASS | PASS | PASS | PASS | — |
| String lone high surrogate | PASS | PASS | PASS | PASS | PASS | — |
| String lone low surrogate | PASS | PASS | PASS | PASS | PASS | — |
| String NUL | PASS | PASS | PASS | PASS | PASS | — |
| String astral character | PASS | PASS | PASS | PASS | PASS | — |
| Array String objects | PASS | PASS | PASS | PASS | PASS | — |
| Object String objects | PASS | PASS | PASS | PASS | PASS | — |
| Number 0.2 | PASS | PASS | PASS | PASS | PASS | — |
| Number 0 | PASS | PASS | PASS | PASS | PASS | — |
| Number -0 | PASS | PASS | PASS | PASS | PASS | — |
| Number NaN | PASS | PASS | PASS | PASS | PASS | — |
| Number Infinity | PASS | PASS | PASS | PASS | PASS | — |
| Number -Infinity | PASS | PASS | PASS | PASS | PASS | — |
| Number 9007199254740992 | PASS | PASS | PASS | PASS | PASS | — |
| Number -9007199254740992 | PASS | PASS | PASS | PASS | PASS | — |
| Number 9007199254740994 | PASS | PASS | PASS | PASS | PASS | — |
| Number -9007199254740994 | PASS | PASS | PASS | PASS | PASS | — |
| BigInt -9007199254740994n | PASS | PASS | PASS | PASS | PASS | — |
| Array Number objects | PASS | PASS | PASS | PASS | PASS | — |
| Object Number objects | PASS | PASS | PASS | PASS | PASS | — |
| Date 0 | PASS | PASS | PASS | PASS | PASS | — |
| Date -0 | PASS | PASS | PASS | PASS | PASS | — |
| Date -8.64e15 | PASS | PASS | PASS | PASS | PASS | — |
| Date 8.64e15 | PASS | PASS | PASS | PASS | PASS | — |
| Array Date objects | PASS | PASS | PASS | PASS | PASS | — |
| Object Date objects | PASS | PASS | PASS | PASS | PASS | — |
| RegExp flags and lastIndex | PASS | PASS | PASS | PASS | PASS | — |
| RegExp sticky flag | PASS | PASS | PASS | PASS | PASS | — |
| RegExp unicode flag | PASS | PASS | PASS | PASS | PASS | — |
| RegExp empty | PASS | PASS | PASS | PASS | PASS | — |
| RegExp slash | PASS | PASS | PASS | PASS | PASS | — |
| RegExp new line | PASS | PASS | PASS | PASS | PASS | — |
| Array RegExp object, RegExp flags and lastIndex | PASS | PASS | PASS | PASS | PASS | — |
| Array RegExp object, RegExp sticky flag | PASS | PASS | PASS | PASS | PASS | — |
| Array RegExp object, RegExp unicode flag | PASS | PASS | PASS | PASS | PASS | — |
| Array RegExp object, RegExp empty | PASS | PASS | PASS | PASS | PASS | — |
| Array RegExp object, RegExp slash | PASS | PASS | PASS | PASS | PASS | — |
| Array RegExp object, RegExp new line | PASS | PASS | PASS | PASS | PASS | — |
| Object RegExp object, RegExp flags and lastIndex | PASS | PASS | PASS | PASS | PASS | — |
| Object RegExp object, RegExp sticky flag | PASS | PASS | PASS | PASS | PASS | — |
| Object RegExp object, RegExp unicode flag | PASS | PASS | PASS | PASS | PASS | — |
| Object RegExp object, RegExp empty | PASS | PASS | PASS | PASS | PASS | — |
| Object RegExp object, RegExp slash | PASS | PASS | PASS | PASS | PASS | — |
| Object RegExp object, RegExp new line | PASS | PASS | PASS | PASS | PASS | — |
| Empty Error object | PASS | PASS | PASS | PASS | PASS | — |
| Error object | PASS | PASS | PASS | PASS | PASS | — |
| EvalError object | PASS | PASS | PASS | PASS | PASS | — |
| RangeError object | PASS | PASS | PASS | PASS | PASS | — |
| ReferenceError object | PASS | PASS | PASS | PASS | PASS | — |
| SyntaxError object | PASS | PASS | PASS | PASS | PASS | — |
| TypeError object | PASS | PASS | PASS | PASS | PASS | — |
| URIError object | PASS | PASS | PASS | PASS | PASS | — |
| Blob basic | PASS | PASS | PASS | PASS | PASS | — |
| Blob unpaired high surrogate (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Blob unpaired low surrogate (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Blob paired surrogates (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Blob empty | PASS | PASS | PASS | PASS | PASS | — |
| Blob NUL | PASS | PASS | PASS | PASS | PASS | — |
| Array Blob object, Blob basic | PASS | PASS | PASS | PASS | PASS | — |
| Array Blob object, Blob unpaired high surrogate (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Array Blob object, Blob unpaired low surrogate (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Array Blob object, Blob paired surrogates (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Array Blob object, Blob empty | PASS | PASS | PASS | PASS | PASS | — |
| Array Blob object, Blob NUL | PASS | PASS | PASS | PASS | PASS | — |
| Array Blob object, two Blobs | PASS | PASS | PASS | PASS | PASS | — |
| Object Blob object, Blob basic | PASS | PASS | PASS | PASS | PASS | — |
| Object Blob object, Blob unpaired high surrogate (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Object Blob object, Blob unpaired low surrogate (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Object Blob object, Blob paired surrogates (invalid utf-8) | PASS | PASS | PASS | PASS | PASS | — |
| Object Blob object, Blob empty | PASS | PASS | PASS | PASS | PASS | — |
| Object Blob object, Blob NUL | PASS | PASS | PASS | PASS | PASS | — |
| File basic | PASS | PASS | PASS | PASS | PASS | — |
| FileList empty | PASS | PASS | PASS | PASS | PASS | — |
| Array FileList object, FileList empty | PASS | PASS | PASS | PASS | PASS | — |
| Object FileList object, FileList empty | PASS | PASS | PASS | PASS | PASS | — |
| ImageData 1x1 transparent black | PASS | PASS | PASS | PASS | PASS | — |
| ImageData 1x1 non-transparent non-black | PASS | PASS | PASS | PASS | PASS | — |
| Array ImageData object, ImageData 1x1 transparent black | PASS | PASS | PASS | PASS | PASS | — |
| Array ImageData object, ImageData 1x1 non-transparent non-black | PASS | PASS | PASS | PASS | PASS | — |
| Object ImageData object, ImageData 1x1 transparent black | PASS | PASS | PASS | PASS | PASS | — |
| Object ImageData object, ImageData 1x1 non-transparent non-black | PASS | PASS | PASS | PASS | PASS | — |
| Array sparse | PASS | PASS | PASS | PASS | PASS | — |
| Array with non-index property | PASS | PASS | PASS | PASS | PASS | — |
| Object with index property and length | PASS | PASS | PASS | PASS | PASS | — |
| Array with circular reference | PASS | PASS | PASS | PASS | PASS | — |
| Object with circular reference | PASS | PASS | PASS | PASS | PASS | — |
| Array with identical property values | PASS | PASS | PASS | PASS | PASS | — |
| Object with identical property values | PASS | PASS | PASS | PASS | PASS | — |
| Object with property on prototype | PASS | PASS | PASS | PASS | PASS | — |
| Object with non-enumerable property | PASS | PASS | PASS | PASS | PASS | — |
| Object with non-writable property | PASS | PASS | PASS | PASS | PASS | — |
| Object with non-configurable property | PASS | PASS | PASS | PASS | PASS | — |
| Object with a getter that throws | PASS | PASS | PASS | PASS | PASS | — |
| ImageBitmap 1x1 transparent black | PASS | PASS | PASS | PASS | PASS | — |
| ImageBitmap 1x1 non-transparent non-black | PASS | PASS | PASS | PASS | PASS | — |
| Array ImageBitmap object, ImageBitmap 1x1 transparent black | PASS | PASS | PASS | PASS | PASS | — |
| Array ImageBitmap object, ImageBitmap 1x1 transparent non-black | PASS | PASS | PASS | PASS | PASS | — |
| Object ImageBitmap object, ImageBitmap 1x1 transparent black | PASS | PASS | PASS | PASS | PASS | — |
| Object ImageBitmap object, ImageBitmap 1x1 transparent non-black | PASS | PASS | PASS | PASS | PASS | — |
| ObjectPrototype must lose its exotic-ness when cloned | PASS | PASS | PASS | PASS | PASS | — |
| Serializing a non-serializable platform object fails | PASS | PASS | PASS | PASS | PASS | — |
| An object whose interface is deleted from the global must still deserialize | PASS | PASS | PASS | PASS | PASS | — |
| A subclass instance will deserialize as its closest serializable superclass | PASS | PASS | PASS | PASS | PASS | — |
| Resizable ArrayBuffer | PASS | PASS | PASS | PASS | PASS | — |
| Growable SharedArrayBuffer | PASS | PASS | PASS | PASS | FAIL | — |
| Length-tracking TypedArray | PASS | PASS | PASS | PASS | PASS | — |
| Length-tracking DataView | PASS | PASS | PASS | PASS | PASS | — |
| Serializing OOB TypedArray throws | PASS | PASS | PASS | PASS | PASS | — |
| Serializing OOB DataView throws | PASS | PASS | PASS | PASS | PASS | — |
| ArrayBuffer | PASS | PASS | PASS | PASS | PASS | — |
| MessagePort | PASS | PASS | PASS | PASS | PASS | — |
| ImageBitmap | PASS | PASS | PASS | FAIL | PASS | — |
| OffscreenCanvas | PASS | PASS | PASS | TIMEOUT | PASS | — |
| A detached ArrayBuffer cannot be transferred | PASS | PASS | PASS | NOTRUN | PASS | — |
| A detached platform object cannot be transferred | PASS | PASS | PASS | NOTRUN | PASS | — |
| Transferring a non-transferable platform object fails | PASS | PASS | PASS | NOTRUN | PASS | — |
| An object whose interface is deleted from the global object must still be received | PASS | PASS | PASS | NOTRUN | PASS | — |
| A subclass instance will be received as its closest transferable superclass | PASS | PASS | PASS | NOTRUN | PASS | — |
| Resizable ArrayBuffer is transferable | PASS | PASS | PASS | NOTRUN | PASS | — |
| Length-tracking TypedArray is transferable | PASS | PASS | PASS | NOTRUN | PASS | — |
| Length-tracking DataView is transferable | PASS | PASS | PASS | NOTRUN | PASS | — |
| Transferring OOB TypedArray throws | PASS | PASS | PASS | NOTRUN | PASS | — |
| Transferring OOB DataView throws | PASS | PASS | PASS | NOTRUN | PASS | — |