diff options
Diffstat (limited to 'components/script/script_task.rs')
-rw-r--r-- | components/script/script_task.rs | 10 |
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 => (), } |