aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/script_task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/script_task.rs')
-rw-r--r--src/components/script/script_task.rs15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/components/script/script_task.rs b/src/components/script/script_task.rs
index 0c5e9c4af4f..c3b574413c9 100644
--- a/src/components/script/script_task.rs
+++ b/src/components/script/script_task.rs
@@ -167,15 +167,6 @@ pub fn task_from_context(js_context: *JSContext) -> *mut ScriptTask {
}
}
-#[unsafe_destructor]
-impl Drop for ScriptTask {
- fn drop(&self) {
- unsafe {
- let _ = local_data::local_data_pop(global_script_context_key);
- }
- }
-}
-
impl ScriptTask {
/// Creates a new script task.
pub fn new(id: uint,
@@ -362,7 +353,11 @@ impl ScriptTask {
frame.document.teardown();
}
- self.layout_chan.send(layout_interface::ExitMsg)
+ self.layout_chan.send(layout_interface::ExitMsg);
+
+ unsafe {
+ let _ = local_data::local_data_pop(global_script_context_key);
+ }
}
/// The entry point to document loading. Defines bindings, sets up the window and document