diff options
Diffstat (limited to 'src/components/script/script_task.rs')
-rw-r--r-- | src/components/script/script_task.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/components/script/script_task.rs b/src/components/script/script_task.rs index a585c320ad9..096a0d40b6a 100644 --- a/src/components/script/script_task.rs +++ b/src/components/script/script_task.rs @@ -660,9 +660,15 @@ impl ScriptTask { let frame = page.frame(); let mut window = frame.get_ref().window.clone(); - let timer_handle = window.get_mut().active_timers.pop(&timer_data.handle); - if timer_handle.is_none() { - return; + { + let timer_handle = window.get().active_timers.find(&timer_data.handle); + if timer_handle.is_none() { + return; + } + } + + if !timer_data.is_interval { + window.get_mut().active_timers.remove(&timer_data.handle); } let js_info = page.js_info(); |