mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
refactor: add CanGc as argument to Promise::reject_native (#35640)
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
This commit is contained in:
parent
3c3b6cfdc4
commit
31199076ec
18 changed files with 148 additions and 136 deletions
|
@ -281,14 +281,14 @@ struct TransmitBodyPromiseHandler {
|
|||
|
||||
impl Callback for TransmitBodyPromiseHandler {
|
||||
/// Step 5 of <https://fetch.spec.whatwg.org/#concept-request-transmit-body>
|
||||
fn callback(&self, cx: JSContext, v: HandleValue, _realm: InRealm, _can_gc: CanGc) {
|
||||
fn callback(&self, cx: JSContext, v: HandleValue, _realm: InRealm, can_gc: CanGc) {
|
||||
let is_done = match get_read_promise_done(cx, &v) {
|
||||
Ok(is_done) => is_done,
|
||||
Err(_) => {
|
||||
// Step 5.5, the "otherwise" steps.
|
||||
// TODO: terminate fetch.
|
||||
let _ = self.control_sender.send(BodyChunkRequest::Done);
|
||||
return self.stream.stop_reading();
|
||||
return self.stream.stop_reading(can_gc);
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -296,7 +296,7 @@ impl Callback for TransmitBodyPromiseHandler {
|
|||
// Step 5.3, the "done" steps.
|
||||
// TODO: queue a fetch task on request to process request end-of-body.
|
||||
let _ = self.control_sender.send(BodyChunkRequest::Done);
|
||||
return self.stream.stop_reading();
|
||||
return self.stream.stop_reading(can_gc);
|
||||
}
|
||||
|
||||
let chunk = match get_read_promise_bytes(cx, &v) {
|
||||
|
@ -304,7 +304,7 @@ impl Callback for TransmitBodyPromiseHandler {
|
|||
Err(_) => {
|
||||
// Step 5.5, the "otherwise" steps.
|
||||
let _ = self.control_sender.send(BodyChunkRequest::Error);
|
||||
return self.stream.stop_reading();
|
||||
return self.stream.stop_reading(can_gc);
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -330,10 +330,10 @@ struct TransmitBodyPromiseRejectionHandler {
|
|||
|
||||
impl Callback for TransmitBodyPromiseRejectionHandler {
|
||||
/// <https://fetch.spec.whatwg.org/#concept-request-transmit-body>
|
||||
fn callback(&self, _cx: JSContext, _v: HandleValue, _realm: InRealm, _can_gc: CanGc) {
|
||||
fn callback(&self, _cx: JSContext, _v: HandleValue, _realm: InRealm, can_gc: CanGc) {
|
||||
// Step 5.4, the "rejection" steps.
|
||||
let _ = self.control_sender.send(BodyChunkRequest::Error);
|
||||
self.stream.stop_reading();
|
||||
self.stream.stop_reading(can_gc);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -640,7 +640,9 @@ impl ConsumeBodyPromiseHandler {
|
|||
FetchedData::FormData(f) => self.result_promise.resolve_native(&f, can_gc),
|
||||
FetchedData::Bytes(b) => self.result_promise.resolve_native(&b, can_gc),
|
||||
FetchedData::ArrayBuffer(a) => self.result_promise.resolve_native(&a, can_gc),
|
||||
FetchedData::JSException(e) => self.result_promise.reject_native(&e.handle()),
|
||||
FetchedData::JSException(e) => {
|
||||
self.result_promise.reject_native(&e.handle(), can_gc)
|
||||
},
|
||||
};
|
||||
},
|
||||
Err(err) => self.result_promise.reject_error(err),
|
||||
|
@ -661,7 +663,7 @@ impl Callback for ConsumeBodyPromiseHandler {
|
|||
let is_done = match get_read_promise_done(cx, &v) {
|
||||
Ok(is_done) => is_done,
|
||||
Err(err) => {
|
||||
stream.stop_reading();
|
||||
stream.stop_reading(can_gc);
|
||||
// When read is fulfilled with a value that doesn't matches with neither of the above patterns.
|
||||
return self.result_promise.reject_error(err);
|
||||
},
|
||||
|
@ -674,7 +676,7 @@ impl Callback for ConsumeBodyPromiseHandler {
|
|||
let chunk = match get_read_promise_bytes(cx, &v) {
|
||||
Ok(chunk) => chunk,
|
||||
Err(err) => {
|
||||
stream.stop_reading();
|
||||
stream.stop_reading(can_gc);
|
||||
// When read is fulfilled with a value that matches with neither of the above patterns
|
||||
return self.result_promise.reject_error(err);
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue