Closed Bug 1735664 Opened 5 years ago Closed 4 years ago

Implement WritableStream

Categories

(Core :: DOM: Streams, task)

task

Tracking

()

RESOLVED FIXED
97 Branch
Tracking Status
firefox97 --- fixed

People

(Reporter: evilpies, Assigned: evilpies)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

No description provided.

This implements many of the basic algorithms required to get WritableStreams working.
Most notably everything related to abort is missing.

I got errors about this thing missing after adding some partial interface without Worklet.

The implementation is now complete. We are passing all WPT stream/writable-stream tests except something related to the unimplemented ByteLengthQueuingStrategy. I probably still need some time to get this buildable without unified builds though.

I am also surprised that WritableStreamDefaultController seem to work without null-checking GetController following the specification to the letter, considering that releaseLock can actually unset mStream. I need to convince myself that is correct. (Especially SinkCloseNativePromiseHandler)

Assignee: nobody → evilpies

I am also surprised that WritableStreamDefaultController seem to work without null-checking GetStream (not GetController) following the specification to the letter, considering that releaseLock can actually unset mStream. I need to convince myself that is correct. (Especially SinkCloseNativePromiseHandler)

I confused myself a little bit here. The DefaultController has a strong reference to the stream that can never be unset. I actually changed the code now to make this less likely. releaseLock is only relevant to the stream in DefaultWriter ..

Summary: WritableStream Prototype → Implement WritableStream
Attachment #9245978 - Attachment description: WIP: Bug 1735664 - Introduce GlobalNames::PaintWorkletGlobalScope. → Bug 1735664 - Introduce GlobalNames::PaintWorkletGlobalScope. r?smaug!
Attachment #9245818 - Attachment description: WIP: Bug 1735664 - WritableStream Prototype. → Bug 1735664 - Implement the WritableStream APIs. r?smaug!,mgaudet
Pushed by evilpies@gmail.com: https://hg.mozilla.org/integration/autoland/rev/dfb1c3b5cd6d Introduce GlobalNames::PaintWorkletGlobalScope. r=smaug
Keywords: leave-open
Pushed by evilpies@gmail.com: https://hg.mozilla.org/integration/autoland/rev/5e56ff0301f6 Implement the WritableStream APIs. r=mgaudet,smaug
Status: NEW → RESOLVED
Closed: 4 years ago
Keywords: leave-open
Resolution: --- → FIXED
Target Milestone: --- → 97 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: