This implements some events related to document/window load and unload / visibility changes. The latter is related in that native partially implements it, and only sends it when it is minimized or restored from being minimized, not on navigation or anything else.
The main issue for me is the visibilitychange patch. Since we don't control the container hwnd, and it can even be in another process, there is no way to be notified cleanly when it changes its minimization state. We can't subclass it either, as the tests show, it's not subclassed.
I implemented it now using an internal timer that polls for that, since it was the least invasive and works in all cases, including other process hwnd. Hooks wouldn't be able to do that, and are also more invasive IMO. I'm hoping for better ideas, though.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1373
Please don't update MR after it was approved (unless there's a reason to do that, like e.g. you have found a bug, there are conflicts during rebase). It invalidates the review.
Since it was a simple rebase the patch still looks good for me.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1365#note_16031
Some programs try to import these functions from kernel32.dll instead of kernelbase.dll
--
v2: kernel32: Forward MapViewOfFileFromApp kernel32 to kernelbase.
kernel32: Forward CreateFileMappingFromApp kernel32 to kernelbase.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1374
Surrogates have to be written in pairs. Also, handle related errors
Signed-off-by: David Kahurani <k.kahurani(a)gmail.com>
--
v5: xmllite/writer: Handle surrogate pairs
xmllite/writer: Pass xmlwriteroutput directly.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1334
If rawinput_from_hardware_message generates an error then the number of
packets handled may be less then the size of the buffer. Correctly
report only the successfully processed packets to avoid using
uninitialized data.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1364