Alexandre Julliard pushed to branch master at wine / wine
Commits: 12755eeb by Gabriel Ivăncescu at 2024-11-13T23:14:30+01:00 mshtml: Reset builtin function props to their default values when deleted.
The previous tests bailed out too early on IE8, and did not test builtin props. Also added todos for tests that we did not even test because of returning early.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
- - - - - 5947a66f by Gabriel Ivăncescu at 2024-11-13T23:14:33+01:00 mshtml: Throw invalid action for IE8 window prop deletion.
Instead of E_NOTIMPL.
We can't use the dispex's delete because it also applies to dynamic and builtin props and it also happens too late when deleting by name (after looking it up), where existing tests show it doesn't look up the dispid at all.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
- - - - - 85331da4 by Gabriel Ivăncescu at 2024-11-13T23:14:35+01:00 jscript: Add basic semi-stub implementation of GetMemberProperties.
Also add tests for GetMemberName and DeleteMemberBy* which we did not have.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
- - - - - 18aefb5d by Gabriel Ivăncescu at 2024-11-13T23:14:36+01:00 mshtml: Use BSTR to store global prop's name.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
- - - - - 055bf9f5 by Gabriel Ivăncescu at 2024-11-13T23:14:36+01:00 mshtml: Override window's element prop directly rather than using GLOBAL_DISPEXVAR.
When GLOBAL_DISPEXVAR is used, we store the id of the dynamic prop and invoke it using the same id. But this is not the case if we have a jsdisp, which is redirected from InvokeEx and results in an invalid id.
The actual way this works on native (in IE9+) is that element/frame props are special and not part of the window object at all. They're actually looked up after the prototype is, in a special way, but that requires a revamp. Storing over it just creates an actual prop on the window (which is what we are doing here).
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
- - - - - 9b264c94 by Gabriel Ivăncescu at 2024-11-13T23:14:47+01:00 mshtml: Check if window global prop still exists before returning its id.
We have to introduce special handling for jscript, as it's probably integrated on native mshtml.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
- - - - - 38f1ce32 by Gabriel Ivăncescu at 2024-11-13T23:14:48+01:00 mshtml: Forward deletion for GLOBAL_SCRIPTVAR to the script's object.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
- - - - -
8 changed files:
- dlls/jscript/dispex.c - dlls/jscript/tests/run.c - dlls/mshtml/dispex.c - dlls/mshtml/htmlscript.h - dlls/mshtml/htmlwindow.c - dlls/mshtml/mshtml_private.h - dlls/mshtml/script.c - dlls/mshtml/tests/documentmode.js
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/e3258e7620ac30f5570bd939ea0d3e...