ensure unload run with old pipeline as currently-active, do not nullify proxy unless currently-active

This commit is contained in:
Gregory Terzian 2019-11-21 15:06:30 +08:00
parent d553158e95
commit a21c0bfd1a
3 changed files with 14 additions and 3 deletions

View file

@ -1389,7 +1389,18 @@ impl Window {
self.current_state.set(WindowState::Zombie);
*self.js_runtime.borrow_mut() = None;
self.window_proxy.set(None);
// If this is the currently active pipeline,
// nullify the window_proxy.
if let Some(proxy) = self.window_proxy.get() {
let pipeline_id = self.upcast::<GlobalScope>().pipeline_id();
if let Some(currently_active) = proxy.currently_active() {
if currently_active == pipeline_id {
self.window_proxy.set(None);
}
}
}
if let Some(performance) = self.performance.get() {
performance.clear_and_disable_performance_entry_buffer();
}