mshtml: Use stored nsWineURI object to create moniker in async_open.
This commit is contained in:
parent
af4377f86a
commit
f39d945246
|
@ -801,37 +801,6 @@ static nsresult NSAPI nsChannel_Open(nsIHttpChannel *iface, nsIInputStream **_re
|
||||||
return NS_ERROR_NOT_IMPLEMENTED;
|
return NS_ERROR_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT create_mon_for_nschannel(nsChannel *channel, IMoniker **mon)
|
|
||||||
{
|
|
||||||
nsWineURI *wine_uri;
|
|
||||||
nsresult nsres;
|
|
||||||
HRESULT hres;
|
|
||||||
|
|
||||||
if(!channel->original_uri) {
|
|
||||||
ERR("original_uri == NULL\n");
|
|
||||||
return E_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsres = nsIURI_QueryInterface(channel->original_uri, &IID_nsWineURI, (void**)&wine_uri);
|
|
||||||
if(NS_FAILED(nsres)) {
|
|
||||||
ERR("Could not get nsWineURI: %08x\n", nsres);
|
|
||||||
return E_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(wine_uri->wine_url) {
|
|
||||||
hres = CreateURLMoniker(NULL, wine_uri->wine_url, mon);
|
|
||||||
if(FAILED(hres))
|
|
||||||
WARN("CreateURLMoniker failed: %08x\n", hres);
|
|
||||||
}else {
|
|
||||||
TRACE("wine_url == NULL\n");
|
|
||||||
hres = E_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsIURI_Release(NSURI(wine_uri));
|
|
||||||
|
|
||||||
return hres;
|
|
||||||
}
|
|
||||||
|
|
||||||
static HTMLWindow *get_window_from_load_group(nsChannel *This)
|
static HTMLWindow *get_window_from_load_group(nsChannel *This)
|
||||||
{
|
{
|
||||||
HTMLWindow *window;
|
HTMLWindow *window;
|
||||||
|
@ -944,9 +913,11 @@ static nsresult async_open(nsChannel *This, HTMLWindow *window, BOOL is_doc_chan
|
||||||
IMoniker *mon = NULL;
|
IMoniker *mon = NULL;
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
hres = create_mon_for_nschannel(This, &mon);
|
hres = CreateURLMoniker(NULL, This->uri->wine_url, &mon);
|
||||||
if(FAILED(hres))
|
if(FAILED(hres)) {
|
||||||
|
WARN("CreateURLMoniker failed: %08x\n", hres);
|
||||||
return NS_ERROR_UNEXPECTED;
|
return NS_ERROR_UNEXPECTED;
|
||||||
|
}
|
||||||
|
|
||||||
if(is_doc_channel)
|
if(is_doc_channel)
|
||||||
set_current_mon(window, mon);
|
set_current_mon(window, mon);
|
||||||
|
|
Loading…
Reference in New Issue