LibWeb: PlatformObject::DefineOwnProperty fix 'has own property' check

PlatformObjects with named properties does not qualify as 'has own
property' just by virtue of a named property existing.

This fixes at least one WPT test, which is imported.
This commit is contained in:
Tyler Dence 2024-12-03 02:09:57 -05:00 committed by Jelle Raaijmakers
commit 0378645c25
Notes: github-actions[bot] 2024-12-20 14:11:20 +00:00
5 changed files with 172 additions and 1 deletions

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<body>
<span id=test></span>
</body>
<script src="include.js"></script>
<script>
test(() => {
var elements = document.getElementsByTagName("span");
try {
Object.defineProperty(elements, 'test', { value: 5 });
println("[Fail] Object.defineProperty(HTMLCollection, key, value) succeeds");
} catch (e) {
println("[Pass] Object.defineProperty(HTMLCollection, key, value) throws");
}
try {
(function() { "use strict"; elements['test'] = 5; })();
println("[Fail] \"use strict\"; HTMLCollection[key] setter succeeds");
} catch (e) {
println("[Pass] \"use strict\"; HTMLCollection[key] setter throws");
}
});
</script>