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.