aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/script_task.rs')
-rw-r--r--components/script/script_task.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/components/script/script_task.rs b/components/script/script_task.rs
index 11127f67733..64242d4b297 100644
--- a/components/script/script_task.rs
+++ b/components/script/script_task.rs
@@ -248,11 +248,13 @@ impl<'a> Drop for ScriptMemoryFailsafe<'a> {
fn drop(&mut self) {
match self.owner {
Some(owner) => {
- let page = owner.page.borrow_mut();
- for page in page.iter() {
- *page.mut_js_info() = None;
+ unsafe {
+ let page = owner.page.borrow_for_script_deallocation();
+ for page in page.iter() {
+ *page.unsafe_mut_js_info() = None;
+ }
+ *owner.js_context.borrow_for_script_deallocation() = None;
}
- *owner.js_context.borrow_mut() = None;
}
None => (),
}