Jacek Caban (@jacek) commented about dlls/mshtml/script.c:
+void move_script_hosts(HTMLInnerWindow *window, HTMLInnerWindow *new_window) +{ + ScriptHost *iter, *iter2; + + if(list_empty(&window->script_hosts)) + return; + + LIST_FOR_EACH_ENTRY_SAFE(iter, iter2, &window->script_hosts, ScriptHost, entry) { + iter->window = new_window; + list_remove(&iter->entry); + list_add_tail(&new_window->script_hosts, &iter->entry); + } + + lock_document_mode(new_window->doc); +}
Why do we need it? It's weird seems to be yet another side effect that MSHTML internally differently represents document node object, you'd see that if you used `iface_cmp` in your tests checking that the node changed. Can we just drop the first patch and associated tests? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4939#note_59036