Fix for bug 8251. We needed to resolve relative URLs when we loaded external DTDs. This had been fixed earlier but the fix needed to get replicated for the Necko code path.

git-svn-id: svn://10.0.0.236/trunk@43171 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
nisheeth%netscape.com
1999-08-11 05:53:37 +00:00
parent 48e46392fc
commit 046dfd83a1
2 changed files with 30 additions and 16 deletions

View File

@@ -521,14 +521,21 @@ nsExpatTokenizer::OpenInputStream(const nsString& aURLStr,
}
#else // NECKO
nsIURI* uri;
// XXX We need to use the aBaseURL parameter here...
rv = NS_NewURI(&uri, aURLStr);
if (NS_FAILED(rv)) return rv;
rv = NS_OpenURI(in, uri);
NS_RELEASE(uri);
nsIURI* baseURI;
rv = NS_NewURI(&baseURI, aBaseURL);
if (NS_SUCCEEDED(rv)) {
rv = NS_NewURI(&uri, aURLStr, baseURI);
if (NS_SUCCEEDED(rv)) {
rv = NS_OpenURI(in, uri);
char* absURL = nsnull;
uri->GetSpec(&absURL);
aAbsURL->Append(absURL);
nsCRT::free(absURL);
NS_RELEASE(uri);
}
NS_RELEASE(baseURI);
}
#endif // NECKO
return rv;
}

View File

@@ -521,14 +521,21 @@ nsExpatTokenizer::OpenInputStream(const nsString& aURLStr,
}
#else // NECKO
nsIURI* uri;
// XXX We need to use the aBaseURL parameter here...
rv = NS_NewURI(&uri, aURLStr);
if (NS_FAILED(rv)) return rv;
rv = NS_OpenURI(in, uri);
NS_RELEASE(uri);
nsIURI* baseURI;
rv = NS_NewURI(&baseURI, aBaseURL);
if (NS_SUCCEEDED(rv)) {
rv = NS_NewURI(&uri, aURLStr, baseURI);
if (NS_SUCCEEDED(rv)) {
rv = NS_OpenURI(in, uri);
char* absURL = nsnull;
uri->GetSpec(&absURL);
aAbsURL->Append(absURL);
nsCRT::free(absURL);
NS_RELEASE(uri);
}
NS_RELEASE(baseURI);
}
#endif // NECKO
return rv;
}