aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/body.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/body.rs')
-rw-r--r--components/script/body.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/components/script/body.rs b/components/script/body.rs
index e5e77514bb6..b2b528e945c 100644
--- a/components/script/body.rs
+++ b/components/script/body.rs
@@ -715,7 +715,11 @@ impl Callback for ConsumeBodyPromiseHandler {
// https://fetch.spec.whatwg.org/#concept-body-consume-body
#[allow(crown::unrooted_must_root)]
-pub fn consume_body<T: BodyMixin + DomObject>(object: &T, body_type: BodyType) -> Rc<Promise> {
+pub fn consume_body<T: BodyMixin + DomObject>(
+ object: &T,
+ body_type: BodyType,
+ can_gc: CanGc,
+) -> Rc<Promise> {
let in_realm_proof = AlreadyInRealm::assert();
let promise = Promise::new_in_current_realm(InRealm::Already(&in_realm_proof));
@@ -732,6 +736,7 @@ pub fn consume_body<T: BodyMixin + DomObject>(object: &T, body_type: BodyType) -
body_type,
promise.clone(),
InRealm::Already(&in_realm_proof),
+ can_gc,
);
promise
@@ -744,6 +749,7 @@ fn consume_body_with_promise<T: BodyMixin + DomObject>(
body_type: BodyType,
promise: Rc<Promise>,
comp: InRealm,
+ can_gc: CanGc,
) {
let global = object.global();
@@ -771,7 +777,7 @@ fn consume_body_with_promise<T: BodyMixin + DomObject>(
result_promise: promise.clone(),
stream: Some(stream),
body_type: DomRefCell::new(Some(body_type)),
- mime_type: DomRefCell::new(Some(object.get_mime_type())),
+ mime_type: DomRefCell::new(Some(object.get_mime_type(can_gc))),
// Step 2.
bytes: DomRefCell::new(Some(vec![])),
});
@@ -913,5 +919,5 @@ pub trait BodyMixin {
/// <https://fetch.spec.whatwg.org/#concept-body-locked>
fn is_locked(&self) -> bool;
/// <https://fetch.spec.whatwg.org/#concept-body-mime-type>
- fn get_mime_type(&self) -> Vec<u8>;
+ fn get_mime_type(&self, can_gc: CanGc) -> Vec<u8>;
}