NECKO ifdef (ifdef'd _off_ by default) this checkin should not impact anything. checkin approved. If someone runs into a problem, call me at 303.546.0061.
git-svn-id: svn://10.0.0.236/trunk@35863 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -26,6 +26,12 @@
|
||||
#include "nsIXMLContent.h"
|
||||
#include "nsIScriptObjectOwner.h"
|
||||
#include "nsIURL.h"
|
||||
#ifdef NECKO
|
||||
#include "nsIIOService.h"
|
||||
#include "nsIURI.h"
|
||||
#include "nsIServiceManager.h"
|
||||
static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID);
|
||||
#endif // NECKO
|
||||
#include "nsIURLGroup.h"
|
||||
#include "nsIWebShell.h"
|
||||
#include "nsIContent.h"
|
||||
@@ -1007,10 +1013,30 @@ nsXMLContentSink::CreateStyleSheetURL(nsIURL** aUrl,
|
||||
NS_RELEASE(urlGroup);
|
||||
}
|
||||
else {
|
||||
#ifndef NECKO
|
||||
result = NS_MakeAbsoluteURL(docURL, nsnull, aHref, absURL);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
result = NS_NewURL(aUrl, absURL);
|
||||
}
|
||||
#else
|
||||
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result);
|
||||
if (NS_FAILED(result)) return result;
|
||||
|
||||
nsIURI *baseUri = nsnull, *uri = nsnull;
|
||||
result = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri);
|
||||
if (NS_FAILED(result)) return result;
|
||||
|
||||
char *absUrlStr = nsnull;
|
||||
result = service->MakeAbsolute(aHref, baseUri, &absUrlStr);
|
||||
NS_RELEASE(baseUri);
|
||||
if (NS_FAILED(result)) return result;
|
||||
|
||||
result = service->NewURI(absUrlStr, nsnull, &uri);
|
||||
if (NS_FAILED(result)) return result;
|
||||
|
||||
result = uri->QueryInterface(nsIURL::GetIID(), (void**)aUrl);
|
||||
NS_RELEASE(uri);
|
||||
#endif // NECKO
|
||||
}
|
||||
NS_RELEASE(docURL);
|
||||
return result;
|
||||
@@ -1123,7 +1149,25 @@ nsXMLContentSink::ProcessStyleLink(nsIContent* aElement,
|
||||
NS_RELEASE(urlGroup);
|
||||
}
|
||||
else {
|
||||
#ifndef NECKO
|
||||
result = NS_NewURL(&url, aHref, mDocumentBaseURL);
|
||||
#else
|
||||
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result);
|
||||
if (NS_FAILED(result)) return result;
|
||||
|
||||
nsIURI *uri = nsnull, *baseUri = nsnull;
|
||||
result = mDocumentBaseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri);
|
||||
if (NS_FAILED(result)) return result;
|
||||
|
||||
const char *uriStr = aHref.GetBuffer();
|
||||
result = service->NewURI(uriStr, baseUri, &uri);
|
||||
NS_RELEASE(baseUri);
|
||||
if (NS_FAILED(result)) return result;
|
||||
|
||||
result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url);
|
||||
NS_RELEASE(uri);
|
||||
if (NS_FAILED(result)) return result;
|
||||
#endif // NECKO
|
||||
}
|
||||
if (NS_OK != result) {
|
||||
return NS_OK; // The URL is bad, move along, don't propogate the error (for now)
|
||||
@@ -1729,7 +1773,22 @@ nsXMLContentSink::ProcessStartSCRIPTTag(const nsIParserNode& aNode)
|
||||
NS_RELEASE(urlGroup);
|
||||
}
|
||||
else {
|
||||
rv = NS_NewURL(&url, absURL);
|
||||
#ifndef NECKO
|
||||
rv = NS_NewURL(&url, absURL);
|
||||
#else
|
||||
NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
nsIURI *uri = nsnull;
|
||||
const char *uriStr = absURL.GetBuffer();
|
||||
rv = service->NewURI(uriStr, nsnull, &uri);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url);
|
||||
NS_RELEASE(uri);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
#endif // NECKO
|
||||
|
||||
}
|
||||
NS_RELEASE(docURL);
|
||||
if (NS_OK != rv) {
|
||||
|
||||
Reference in New Issue
Block a user