Skip to content
Permalink
Browse files

ensure unload run with old pipeline as currently-active, do not nulli…

…fy proxy unless currently-active
  • Loading branch information
gterzian committed Nov 21, 2019
1 parent d553158 commit a21c0bfd1a6463422f84b52b8781a5d6aee1c4d1
@@ -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();
}
@@ -3118,7 +3118,8 @@ impl ScriptThread {
opener: Option<BrowsingContextId>,
) -> DomRoot<WindowProxy> {
if let Some(window_proxy) = self.window_proxies.borrow().get(&browsing_context_id) {
window_proxy.set_currently_active(&*window);
// Note: we do not set the window to be the currently-active one,
// this will be done instead when the script-thread handles the `SetDocumentActivity` msg.
return DomRoot::from_ref(window_proxy);
}
let iframe = parent_info.and_then(|parent_id| {
@@ -1,6 +1,5 @@
[083.html]
type: testharness
expected: ERROR
[ scheduler: event listener defined by script in a document in history]
expected: FAIL

0 comments on commit a21c0bf

Please sign in to comment.
You can’t perform that action at this time.