ladybird/Tests/LibWeb/Text/input/HTML/Window-has-unforgeable-properties.html
Luke Wilde c7d25301d3 LibWeb: Implement the LegacyUnforgeable attribute
This fixes the frame-ancestors WPT tests from crashing when an iframe
is blocked from loading. This is because it would get an undefined
location.href from the cross-origin iframe, which causes a crash as it
expects it to be there.
2025-03-27 23:50:35 +00:00

25 lines
1 KiB
HTML

<!DOCTYPE html>
<script src="../include.js"></script>
<script>
test(() => {
const unforgeableProperties = [
"window",
"document",
"location",
"top",
];
const windowPrototype = Object.getPrototypeOf(window);
for (const property of unforgeableProperties) {
println(`${property} exists on window itself: ${Object.hasOwn(window, property)}`);
println(`${property} does not exist on LocationPrototype: ${!Object.hasOwn(windowPrototype, property)}`);
const propertyDescriptor = Object.getOwnPropertyDescriptor(window, property);
println(`${property} descriptor is not undefined: ${propertyDescriptor !== undefined}`);
println(`${property} enumerable: ${propertyDescriptor.enumerable}`);
println(`${property} configurable: ${propertyDescriptor.configurable}`);
println(`${property} writable: ${propertyDescriptor.writable}`);
}
});
</script>