Implement window.length DOM attribute.

This commit is contained in:
Jonathan Kingston 2018-06-14 05:52:31 -07:00
parent 5c4f54c403
commit ba9975e099
5 changed files with 7 additions and 21 deletions

View file

@ -31,7 +31,7 @@
// other browsing contexts
[Replaceable] readonly attribute WindowProxy frames;
//[Replaceable] readonly attribute unsigned long length;
[Replaceable] readonly attribute unsigned long length;
// Note that this can return null in the case that the browsing context has been discarded.
// https://github.com/whatwg/html/issues/2115
[Unforgeable] readonly attribute WindowProxy? top;

View file

@ -694,6 +694,12 @@ impl WindowMethods for Window {
self.window_proxy()
}
// https://html.spec.whatwg.org/multipage/#accessing-other-browsing-contexts
fn Length(&self) -> u32 {
let doc = self.Document();
doc.iter_iframes().count() as u32
}
// https://html.spec.whatwg.org/multipage/#dom-parent
fn GetParent(&self) -> Option<DomRoot<WindowProxy>> {
// Steps 1-3.

View file

@ -1,19 +1,5 @@
[window_length.html]
type: testharness
[No child browsing contexts]
expected: FAIL
[iframe not inserted into the document]
expected: FAIL
[One iframe inserted into the document]
expected: FAIL
[Child browsing context has a child browsing context]
expected: FAIL
[window.length in child frame]
expected: FAIL
[Opened window]
expected: FAIL

View file

@ -335,9 +335,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.length is accessed from a different origin.]
expected: FAIL
[A SecurityError exception should not be thrown when window.opener is accessed from a different origin.]
expected: FAIL

View file

@ -56,9 +56,6 @@
[Window replaceable attribute: external]
expected: FAIL
[Window replaceable attribute: length]
expected: FAIL
[Window replaceable attribute: screen]
expected: FAIL