On Sun Oct 2 17:53:38 2022 +0000, Jacek Caban wrote:
Please add a test case.
So testing this revealed some other, already-existing issues.
Nevertheless, the patch is obviously correct for what it does, it's just that I had to add extra fixes. For example, for event handlers which end up using dispex_get_dprop_ref when set to string, purely due to how we implement it internally, the props themselves are already enumerable without this. However, we enumerate them twice in this case, since we also enum the internal dynamic prop, which is wrong.
Similarly, for window, the property replacing the element id prop does, in fact, become enumerable. But it's *not* correct to enumerate the dynamic prop, because it will have a different DISPID (dynamic DISPID) instead of the proper one it had before. So it requires an extra fix here which I've now done.
I also found some other issues with doc/window accessing elements via props, but I'll leave that for another MR.