Implementation-wise, this looks good to me. However, when I suggested using a single MR, I mistakenly assumed we already had more complete "prototype props" tests, but it looks like we’re still missing a number of elements there.
These changes to object descriptors make it easy to make subtle mistakes. For example, by moving interfaces out of `iface_tids`, we no longer filter properties by `disp_tid`. Also, since the interface addition order affects resolution in the case of name collisions, any reordering can subtly alter exposed properties. That’s quite a lot of detail to track manually, so it would be great to ensure correctness with tests. Would you mind adding them?
On Mon Jul 21 19:32:06 2025 +0000, Jacek Caban wrote:
Implementation-wise, this looks good to me. However, when I suggested using a single MR, I mistakenly assumed we already had more complete "prototype props" tests, but it looks like we’re still missing a number of elements there. These changes to object descriptors make it easy to make subtle mistakes. For example, by moving interfaces out of `iface_tids`, we no longer filter properties by `disp_tid`. Also, since the interface addition order affects resolution in the case of name collisions, any reordering can subtly alter exposed properties. That’s quite a lot of detail to track manually, so it would be great to ensure correctness with tests. Would you mind adding them?
Sure, it looks like you were right, there were a couple of subtle issues that I fixed now based on them (mostly with frame/iframe due to the ie8_* stuff and 2 other elements).