/** Test for Bug 959992 */ var names1 = Object.getOwnPropertyNames(window); var names2 = []; var gsp = Object.getPrototypeOf(Window.prototype); var names3 = Object.getOwnPropertyNames(gsp);
for (vari in window) {
names2.push(i);
}
// Per WebIDL spec, [[OwnPropertyKeys]] for the named properties object
// returns only @@toStringTag unless the legacy pref is enabled. var legacyOwnPropertyKeys = SpecialPowers.getBoolPref( "dom.window.named_properties_object.legacy_own_property_keys", false);
is(names1.indexOf(""), -1, "Element with empty id/name should not be in our own prop list");
is(names2.indexOf(""), -1, "Element with empty id/name name should not be in our enumeration list");
is(names3.indexOf(""), -1, "Element with empty id/name should not be in GSP own prop list");
is(names1.indexOf("one"), -1, "<img> with id should not be in our own prop list");
is(names2.indexOf("one"), -1, "<img> with id should not be in our enumeration list");
is(names3.indexOf("one") != -1, legacyOwnPropertyKeys, "<img> with id in GSP own prop list should match legacy pref");
is(names1.indexOf("two"), -1, "<img> with name should not be in our own prop list");
is(names2.indexOf("two"), -1, "<img> with name should not be in our enumeration list");
is(names3.indexOf("two") != -1, legacyOwnPropertyKeys, "<img> with name in GSP own prop list should match legacy pref");
is(names1.indexOf("three"), -1, "<div> with id should not be in our own prop list");
is(names2.indexOf("three"), -1, "<div> with id should not be in our enumeration list");
if (legacyOwnPropertyKeys) {
todo_isnot(names3.indexOf("three"), -1, "<div> with id should be in GSP own prop list");
} else {
is(names3.indexOf("three"), -1, "<div> with id should not be in GSP own prop list (spec behavior)");
}
is(names1.indexOf("four"), -1, "<div> with name should not be in our own prop list");
is(names2.indexOf("four"), -1, "<div> with name should not be in our enumeration list");
is(names3.indexOf("four"), -1, "<div> with name should not be in GSP own prop list");
</script>
</pre>
</body>
</html>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.