mshtml: Use IUri in nsIURI::Equals implementation.
This commit is contained in:
parent
f8690a6bda
commit
c4ae314330
|
@ -1971,25 +1971,28 @@ static nsresult NSAPI nsURI_SetPath(nsIURL *iface, const nsACString *aPath)
|
||||||
static nsresult NSAPI nsURI_Equals(nsIURL *iface, nsIURI *other, PRBool *_retval)
|
static nsresult NSAPI nsURI_Equals(nsIURL *iface, nsIURI *other, PRBool *_retval)
|
||||||
{
|
{
|
||||||
nsWineURI *This = NSURI_THIS(iface);
|
nsWineURI *This = NSURI_THIS(iface);
|
||||||
nsWineURI *wine_uri;
|
nsWineURI *other_obj;
|
||||||
nsresult nsres;
|
nsresult nsres;
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
TRACE("(%p)->(%p %p)\n", This, other, _retval);
|
TRACE("(%p)->(%p %p)\n", This, other, _retval);
|
||||||
|
|
||||||
if(This->nsuri)
|
nsres = nsIURI_QueryInterface(other, &IID_nsWineURI, (void**)&other_obj);
|
||||||
return nsIURI_Equals(This->nsuri, other, _retval);
|
|
||||||
|
|
||||||
nsres = nsIURI_QueryInterface(other, &IID_nsWineURI, (void**)&wine_uri);
|
|
||||||
if(NS_FAILED(nsres)) {
|
if(NS_FAILED(nsres)) {
|
||||||
TRACE("Could not get nsWineURI interface\n");
|
TRACE("Could not get nsWineURI interface\n");
|
||||||
*_retval = FALSE;
|
*_retval = FALSE;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
*_retval = wine_uri->wine_url && !UrlCompareW(This->wine_url, wine_uri->wine_url, TRUE);
|
if(ensure_uri(This) && ensure_uri(other_obj)) {
|
||||||
nsIURI_Release(NSURI(wine_uri));
|
hres = IUri_IsEqual(This->uri, other_obj->uri, _retval);
|
||||||
|
nsres = SUCCEEDED(hres) ? NS_OK : NS_ERROR_FAILURE;
|
||||||
|
}else {
|
||||||
|
nsres = NS_ERROR_UNEXPECTED;
|
||||||
|
}
|
||||||
|
|
||||||
return NS_OK;
|
nsIURI_Release(NSURI(other_obj));
|
||||||
|
return nsres;
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsURI_SchemeIs(nsIURL *iface, const char *scheme, PRBool *_retval)
|
static nsresult NSAPI nsURI_SchemeIs(nsIURL *iface, const char *scheme, PRBool *_retval)
|
||||||
|
|
Loading…
Reference in New Issue