Jacek Caban : mshtml: Added nsIURI:: Equals implementation on URIs without necko interface associated.
Alexandre Julliard
julliard at winehq.org
Thu Feb 28 06:21:56 CST 2008
Module: wine
Branch: master
Commit: 54e6aa91af3ae5288857a80203a7fb6ca5e4972d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=54e6aa91af3ae5288857a80203a7fb6ca5e4972d
Author: Jacek Caban <jacek at 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)
More information about the wine-cvs
mailing list