diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index d89c7ebecfe..08e1d5edf4f 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -713,7 +713,9 @@ impl WindowMethods for Window { fn SetOpener(&self, cx: JSContext, value: HandleValue) -> ErrorResult { // Step 1. if value.is_null() { - self.window_proxy().disown(); + if let Some(proxy) = self.window_proxy.get() { + proxy.disown(); + } return Ok(()); } // Step 2. diff --git a/tests/wpt/meta/html/browsers/windows/embedded-opener-remove-frame.html.ini b/tests/wpt/meta/html/browsers/windows/embedded-opener-remove-frame.html.ini index 91030fe2f7f..c43a5aa58f3 100644 --- a/tests/wpt/meta/html/browsers/windows/embedded-opener-remove-frame.html.ini +++ b/tests/wpt/meta/html/browsers/windows/embedded-opener-remove-frame.html.ini @@ -1,5 +1,4 @@ [embedded-opener-remove-frame.html] - expected: CRASH [opener of discarded nested browsing context] expected: FAIL