Jacek Caban (@jacek) commented about dlls/mshtml/nsio.c:
+ BSTR frame_name = NULL; + BOOL cancel = FALSE; + HRESULT hres; + IServiceProvider *service_provider = NULL; + IWebBrowser2 *web_browser = NULL; + + hres = IHTMLWindow2_get_name(&window->base.IHTMLWindow2_iface, &frame_name); + if (FAILED(hres)) + return NS_ERROR_UNEXPECTED; + + hres = IHTMLWindow2_QueryInterface(&window->base.IHTMLWindow2_iface, &IID_IServiceProvider, (void**)&service_provider); + if (SUCCEEDED(hres)) + { + hres = IServiceProvider_QueryService(service_provider, &SID_SWebBrowserApp, &IID_IWebBrowser2, (void**)&web_browser); + IServiceProvider_Release(service_provider); + } I forgot to ask earlier, do you actually need this web_browser pointer? In other cases we just pass `NULL`. I noticed you disabled the `NULL` test, but it would be better to test it somehow if we're implementing it. A quick check on Windows shows that native uses different pointers for different iframes, which suggests it’s something other than that. Alternatively, we could just add a `todo_wine` test and pass `NULL` here.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8761#note_112921