mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Stop using RootedGuard's
DerefMut impl (#36158)
* Stop using RootedGuard's DerefMut impl Signed-off-by: Greg Morenz <greg-morenz@droid.cafe> * Update mozjs version Signed-off-by: Greg Morenz <greg-morenz@droid.cafe> * `self.bytes` should not be mutably borrowed over GC pause Signed-off-by: Greg Morenz <greg-morenz@droid.cafe> --------- Signed-off-by: Greg Morenz <greg-morenz@droid.cafe>
This commit is contained in:
parent
96277c5688
commit
c728f31a10
4 changed files with 20 additions and 19 deletions
|
@ -641,7 +641,7 @@ pub(crate) fn get_desired_proto(
|
|||
// We might still have a cross-compartment wrapper for a known DOM
|
||||
// constructor. CheckedUnwrapStatic is fine here, because we're looking for
|
||||
// DOM constructors and those can't be cross-origin objects.
|
||||
*new_target = CheckedUnwrapStatic(*new_target);
|
||||
new_target.set(CheckedUnwrapStatic(*new_target));
|
||||
if !new_target.is_null() && *new_target != *original_new_target {
|
||||
get_proto_id_for_new_target(new_target.handle())
|
||||
} else {
|
||||
|
|
|
@ -8,6 +8,7 @@ use std::mem;
|
|||
use std::rc::Rc;
|
||||
|
||||
use dom_struct::dom_struct;
|
||||
use js::gc::MutableHandle;
|
||||
use js::jsapi::Heap;
|
||||
use js::jsval::{JSVal, UndefinedValue};
|
||||
use js::rust::{HandleObject as SafeHandleObject, HandleValue as SafeHandleValue};
|
||||
|
@ -97,13 +98,13 @@ impl Callback for ReadLoopFulFillmentHandler {
|
|||
};
|
||||
|
||||
// Append the bytes represented by chunk to bytes.
|
||||
let mut bytes = self.bytes.borrow_mut();
|
||||
bytes.extend_from_slice(&chunk);
|
||||
self.bytes.borrow_mut().extend_from_slice(&chunk);
|
||||
|
||||
// Read-loop given reader, bytes, successSteps, and failureSteps.
|
||||
rooted!(in(*cx) let mut this = Some(self.clone()));
|
||||
read_loop(
|
||||
&global,
|
||||
&mut Some(self.clone()),
|
||||
this.handle_mut(),
|
||||
Box::new(ReadLoopRejectionHandler {
|
||||
failure_steps: self.failure_steps.clone(),
|
||||
}),
|
||||
|
@ -133,7 +134,7 @@ impl Callback for ReadLoopRejectionHandler {
|
|||
/// <https://streams.spec.whatwg.org/#read-loop>
|
||||
fn read_loop(
|
||||
global: &GlobalScope,
|
||||
fulfillment_handler: &mut Option<ReadLoopFulFillmentHandler>,
|
||||
mut fulfillment_handler: MutableHandle<Option<ReadLoopFulFillmentHandler>>,
|
||||
rejection_handler: Box<ReadLoopRejectionHandler>,
|
||||
realm: InRealm,
|
||||
can_gc: CanGc,
|
||||
|
@ -500,7 +501,7 @@ impl ReadableStreamDefaultReader {
|
|||
let rejection_handler = Box::new(ReadLoopRejectionHandler { failure_steps });
|
||||
read_loop(
|
||||
global,
|
||||
&mut fulfillment_handler,
|
||||
fulfillment_handler.handle_mut(),
|
||||
rejection_handler,
|
||||
realm,
|
||||
can_gc,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue