mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Start adding support for transforms in readable and writable streams (#36470)
Start adding support for transforms in readable and writable streams. Part of https://github.com/servo/servo/issues/34676
This commit is contained in:
parent
02b38adf43
commit
4d975e947b
13 changed files with 394 additions and 161 deletions
|
@ -16,7 +16,7 @@ use crate::dom::globalscope::GlobalScope;
|
|||
use crate::dom::promise::Promise;
|
||||
use crate::dom::readablestreambyobreader::ReadableStreamBYOBReader;
|
||||
use crate::dom::readablestreamdefaultreader::ReadableStreamDefaultReader;
|
||||
use crate::script_runtime::CanGc;
|
||||
use crate::script_runtime::{CanGc, JSContext as SafeJSContext};
|
||||
|
||||
/// <https://streams.spec.whatwg.org/#readablestreamgenericreader>
|
||||
pub(crate) trait ReadableStreamGenericReader {
|
||||
|
@ -61,7 +61,13 @@ pub(crate) trait ReadableStreamGenericReader {
|
|||
}
|
||||
|
||||
/// <https://streams.spec.whatwg.org/#readable-stream-reader-generic-cancel>
|
||||
fn reader_generic_cancel(&self, reason: SafeHandleValue, can_gc: CanGc) -> Rc<Promise> {
|
||||
fn reader_generic_cancel(
|
||||
&self,
|
||||
cx: SafeJSContext,
|
||||
global: &GlobalScope,
|
||||
reason: SafeHandleValue,
|
||||
can_gc: CanGc,
|
||||
) -> Rc<Promise> {
|
||||
// Let stream be reader.[[stream]].
|
||||
let stream = self.get_stream();
|
||||
|
||||
|
@ -70,7 +76,7 @@ pub(crate) trait ReadableStreamGenericReader {
|
|||
stream.expect("Reader should have a stream when generic cancel is called into.");
|
||||
|
||||
// Return ! ReadableStreamCancel(stream, reason).
|
||||
stream.cancel(reason, can_gc)
|
||||
stream.cancel(cx, global, reason, can_gc)
|
||||
}
|
||||
|
||||
/// <https://streams.spec.whatwg.org/#readable-stream-reader-generic-release>
|
||||
|
@ -135,6 +141,7 @@ pub(crate) trait ReadableStreamGenericReader {
|
|||
// <https://streams.spec.whatwg.org/#generic-reader-cancel>
|
||||
fn generic_cancel(
|
||||
&self,
|
||||
cx: SafeJSContext,
|
||||
global: &GlobalScope,
|
||||
reason: SafeHandleValue,
|
||||
can_gc: CanGc,
|
||||
|
@ -147,7 +154,7 @@ pub(crate) trait ReadableStreamGenericReader {
|
|||
promise
|
||||
} else {
|
||||
// Return ! ReadableStreamReaderGenericCancel(this, reason).
|
||||
self.reader_generic_cancel(reason, can_gc)
|
||||
self.reader_generic_cancel(cx, global, reason, can_gc)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue