Module: wine Branch: master Commit: 54e6aa91af3ae5288857a80203a7fb6ca5e4972d URL: http://source.winehq.org/git/wine.git/?a=commit;h=54e6aa91af3ae5288857a80203...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Feb 28 12:41:40 2008 +0100
mshtml: Added nsIURI::Equals implementation on URIs without necko interface associated.
---
dlls/mshtml/nsio.c | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index ca269fc..f684f2a 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -1497,14 +1497,27 @@ static nsresult NSAPI nsURI_SetPath(nsIWineURI *iface, const nsACString *aPath) static nsresult NSAPI nsURI_Equals(nsIWineURI *iface, nsIURI *other, PRBool *_retval) { nsURI *This = NSURI_THIS(iface); + nsIWineURI *wine_uri; + LPCWSTR other_url = NULL; + nsresult nsres;
TRACE("(%p)->(%p %p)\n", This, other, _retval);
if(This->uri) return nsIURI_Equals(This->uri, other, _retval);
- FIXME("default action not implemented\n"); - return NS_ERROR_NOT_IMPLEMENTED; + nsres = nsIURI_QueryInterface(other, &IID_nsIWineURI, (void**)&wine_uri); + if(NS_FAILED(nsres)) { + TRACE("Could not get nsIWineURI interface\n"); + *_retval = FALSE; + return NS_OK; + } + + nsIWineURI_GetWineURL(wine_uri, &other_url); + *_retval = !UrlCompareW(This->wine_url, other_url, TRUE); + nsIWineURI_Release(wine_uri); + + return NS_OK; }
static nsresult NSAPI nsURI_SchemeIs(nsIWineURI *iface, const char *scheme, PRBool *_retval)