On Fri Apr 12 19:07:47 2024 +0000, Jacek Caban wrote:
Oh, I see what you mean. You want to hardcode on jscript the fact that
mshtml does not make use of it for DISPID_VALUE? I didn't check this, but it seems plausible and what you meant, right? Yes, kind of, but I wouldn't call it 'hardcoding'. MSHTML may have properties with `DISPID_VALUE`, but they should have no reason to deal with 'this' argument; it's meaningful only for functions and having functions implemented in jscript is a design decision.
I was just trying to forward everything _as if_ InvokeEx was called
directly on the mshtml object itself (like in pre IE8 modes), i.e. making it "generic". Do you intend to use this interface on pre IE8 as well?
Nope, the only thing I extend to IE8 and below are the cycle collection integration, since it helps as well (with only like a single extra line of code).
What I meant is that, in theory, InvokeEx (on mshtml side!) does receive a "this" argument, in IE8 and below, simplest case is when called from C code. Even though no mshtml object seems to make use of it. So I wanted to keep it generic and play it safe and thus "pass the same thing" if a jscript proxy receives that "this" arg, but if it's not required I'll just get rid of it. :)
BTW for this MR, I already got rid of "on_put" now in a patch, since we override the prop_put on Arrays. That's an example of how the jscript proxy would work as well, except it would be at the top of the function before it's forwarded.