Jacek Caban : mshtml: Inherit NSContainer in NewURI.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jun 23 06:43:34 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 76d8d022ca94a2c0dd9c2ded4f67244b1351b2e6
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=76d8d022ca94a2c0dd9c2ded4f67244b1351b2e6

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Jun 22 16:09:29 2006 +0200

mshtml: Inherit NSContainer in NewURI.

---

 dlls/mshtml/nsio.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index c3269fc..c465154 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -1377,6 +1377,7 @@ static nsresult NSAPI nsIOService_NewURI
         const char *aOriginCharset, nsIURI *aBaseURI, nsIURI **_retval)
 {
     const char *spec = NULL;
+    NSContainer *nscontainer = NULL;
     nsIURI *uri;
     PRBool is_javascript = FALSE;
     nsresult nsres;
@@ -1416,7 +1417,24 @@ static nsresult NSAPI nsIOService_NewURI
         return NS_OK;
     }
 
-    return create_uri(uri, NULL, _retval);
+    if(aBaseURI) {
+        nsIWineURI *wine_uri;
+
+        nsres = nsIURI_QueryInterface(aBaseURI, &IID_nsIWineURI, (void**)&wine_uri);
+        if(NS_SUCCEEDED(nsres)) {
+            nsIWineURI_GetNSContainer(wine_uri, &nscontainer);
+            nsIWineURI_Release(wine_uri);
+        }else {
+            ERR("Could not get nsIWineURI: %08lx\n", nsres);
+        }
+    }
+
+    nsres = create_uri(uri, nscontainer, _retval);
+
+    if(nscontainer)
+        nsIWebBrowserChrome_Release(NSWBCHROME(nscontainer));
+
+    return nsres;
 }
 
 static nsresult NSAPI nsIOService_NewFileURI(nsIIOService *iface, nsIFile *aFile,




More information about the wine-cvs mailing list