Jacek Caban : mshtml: Don't wrap URIs related to Gecko special URIs.
Alexandre Julliard
julliard at winehq.org
Wed Dec 2 10:22:12 CST 2009
Module: wine
Branch: master
Commit: dc3818e70786de3a6e7fb16b53b7fde796347ae7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dc3818e70786de3a6e7fb16b53b7fde796347ae7
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Dec 1 22:50:00 2009 +0100
mshtml: Don't wrap URIs related to Gecko special URIs.
---
dlls/mshtml/nsio.c | 33 ++++++++++-----------------------
1 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index 4328761..5362117 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -844,7 +844,7 @@ static nsresult NSAPI nsChannel_AsyncOpen(nsIHttpChannel *iface, nsIStreamListen
}
if(!window) {
- TRACE("window = NULL\n");
+ ERR("window = NULL\n");
return This->channel
? nsIChannel_AsyncOpen(This->channel, aListener, aContext)
: NS_ERROR_UNEXPECTED;
@@ -2627,38 +2627,25 @@ static nsresult NSAPI nsIOService_NewURI(nsIIOService *iface, const nsACString *
}
if(aBaseURI) {
- nsACString base_uri_str;
- const char *base_uri = NULL;
+ PARSEDURLA parsed_url = {sizeof(PARSEDURLA)};
- nsACString_Init(&base_uri_str, NULL);
-
- nsres = nsIURI_GetSpec(aBaseURI, &base_uri_str);
+ nsres = nsIURI_QueryInterface(aBaseURI, &IID_nsIWineURI, (void**)&base_wine_uri);
if(NS_SUCCEEDED(nsres)) {
- nsACString_GetData(&base_uri_str, &base_uri);
- TRACE("base_uri=%s\n", debugstr_a(base_uri));
+ nsIWineURI_GetWineURL(base_wine_uri, &base_wine_url);
+ nsIWineURI_GetWindow(base_wine_uri, &window);
+ TRACE("base url: %s window: %p\n", debugstr_w(base_wine_url), window);
+ }else if(FAILED(ParseURLA(spec, &parsed_url))) {
+ TRACE("not wraping\n");
+ return nsIIOService_NewURI(nsio, aSpec, aOriginCharset, aBaseURI, _retval);
}else {
- ERR("GetSpec failed: %08x\n", nsres);
+ WARN("Could not get base nsIWineURI: %08x\n", nsres);
}
-
- nsACString_Finish(&base_uri_str);
}
nsres = nsIIOService_NewURI(nsio, aSpec, aOriginCharset, aBaseURI, &uri);
if(NS_FAILED(nsres))
TRACE("NewURI failed: %08x\n", nsres);
- if(aBaseURI) {
- nsres = nsIURI_QueryInterface(aBaseURI, &IID_nsIWineURI, (void**)&base_wine_uri);
- if(NS_SUCCEEDED(nsres)) {
- nsIWineURI_GetWindow(base_wine_uri, &window);
- nsIWineURI_GetWineURL(base_wine_uri, &base_wine_url);
- }else {
- TRACE("Could not get base nsIWineURI: %08x\n", nsres);
- }
- }
-
- TRACE("window = %p\n", window);
-
nsres = create_uri(uri, window, NULL, &wine_uri);
*_retval = (nsIURI*)wine_uri;
More information about the wine-cvs
mailing list