Implement window.closed

This commit is contained in:
antunovicm 2017-05-18 09:17:03 +12:00 committed by Mate Antunovic
parent 161dc666b0
commit 510bea7a7a
6 changed files with 10 additions and 11 deletions

View file

@ -23,7 +23,7 @@
//[Replaceable] readonly attribute BarProp toolbar;
attribute DOMString status;
void close();
//readonly attribute boolean closed;
readonly attribute boolean closed;
//void stop();
//void focus();
//void blur();

View file

@ -505,6 +505,13 @@ impl WindowMethods for Window {
}
}
// https://html.spec.whatwg.org/multipage/#dom-window-closed
fn Closed(&self) -> bool {
self.window_proxy.get()
.map(|ref proxy| proxy.is_browsing_context_discarded())
.unwrap_or(true)
}
// https://html.spec.whatwg.org/multipage/#dom-window-close
fn Close(&self) {
self.main_thread_script_chan()

View file

@ -339,9 +339,6 @@
[A SecurityError exception must be thrown when window.stop is accessed from a different origin.]
expected: FAIL
[A SecurityError exception should not be thrown when window.closed is accessed from a different origin.]
expected: FAIL
[A SecurityError exception should not be thrown when window.length is accessed from a different origin.]
expected: FAIL

View file

@ -4341,9 +4341,6 @@
[Window interface: attribute toolbar]
expected: FAIL
[Window interface: attribute closed]
expected: FAIL
[Window interface: operation stop()]
expected: FAIL
@ -4422,9 +4419,6 @@
[Window interface: window must inherit property "toolbar" with the proper type (11)]
expected: FAIL
[Window interface: window must inherit property "closed" with the proper type (14)]
expected: FAIL
[Window interface: window must inherit property "stop" with the proper type (15)]
expected: FAIL

View file

@ -31663,7 +31663,7 @@
"testharness"
],
"mozilla/window.html": [
"8cfb22096cf713709d6206945ad1bb98a52c4136",
"455b488925ce1798c89c2944d4f13dee0cfa32b1",
"testharness"
],
"mozilla/window_performance.html": [

View file

@ -9,6 +9,7 @@
test(function() {
assert_equals(window, window.self);
assert_true(window.self instanceof Window, "Should be Window");
assert_true(window.closed === false);
});
</script>
</body>