Re: [heycam/webidl] Named properties object: allow symbols in [[DefineOwnProperty]] and [[Delete]] (#963)

Thank you @yuki3, it's a great fix that covers all `[[Set]]` edge cases (like setters upper in prototype chain).

> IIUC, `[[Set]]` in this case will fallback to `[[DefineOwnProperty]]` and the property won't be defined.

That's right, per step 3 of [`OrdinarySet`](https://tc39.es/ecma262/#sec-ordinarysetwithowndescriptor).

---

I've decided not to pursue this change: if we make `@@toStringTag` non-configurable, named properties' `[[DefineOwnProperty]]` would still need to be updated to accept descriptors like:
* `{}`
* `{ value: "WindowProperties" }`
* `{ configurable: false }`

And even if we fix symbols, `[[DefineOwnProperty]]` would still remain weird (IMO) for existing string properties, while `[[Delete]]` would still fail for non-existing string properties (in perfect world, it shouldn't).

Instead, let's reach interop with the current spec. I've updated the tests and reported bugs on remaining minor issues:
* https://bugzilla.mozilla.org/show_bug.cgi?id=1712180
* https://bugs.chromium.org/p/chromium/issues/detail?id=1211447

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/963#issuecomment-845368437

Received on Thursday, 20 May 2021 18:36:44 UTC