diff --git a/mozilla/Makefile.in b/mozilla/Makefile.in index e5c046f718f..19e9ef9645e 100644 --- a/mozilla/Makefile.in +++ b/mozilla/Makefile.in @@ -47,6 +47,14 @@ ifndef MOZ_NATIVE_JPEG DIRS += jpeg endif +ifndef NECKO +DIRS += network +endif + +ifdef NECKO +DIRS += netwerk +endif + DIRS += \ modules/libutil \ intl \ @@ -60,7 +68,6 @@ DIRS += \ caps \ lib/xp \ lib/libpwcac \ - network \ htmlparser \ expat \ gfx \ @@ -82,8 +89,10 @@ DIRS += xpfe extensions endif ifdef MOZ_MAIL_NEWS +ifndef NECKO DIRS += mailnews endif +endif include $(topsrcdir)/config/rules.mk diff --git a/mozilla/config/config.mak b/mozilla/config/config.mak index 1a166968458..c622d651ce8 100644 --- a/mozilla/config/config.mak +++ b/mozilla/config/config.mak @@ -54,6 +54,10 @@ LCFLAGS=$(LCFLAGS) -DJS_THREADSAFE LCFLAGS=$(LCFLAGS) -DSTAND_ALONE_JAVA !endif +!ifdef NECKO +LCFLAGS=$(LCFLAGS) -DNECKO +!endif + !ifndef MOZ_JAVA MOZ_OJI = 1 # on by default now !endif diff --git a/mozilla/config/config.mk b/mozilla/config/config.mk index dac01f319f2..ff16c66acc1 100644 --- a/mozilla/config/config.mk +++ b/mozilla/config/config.mk @@ -505,6 +505,10 @@ ifdef MOZ_MAIL_NEWS # DEFINES += -DMOZ_MAIL_NEWS endif +ifdef NECKO +DEFINES += -DNECKO +endif + ifdef MOZ_DARK DEFINES += -DMOZ_LDAP -DMOZ_MAIL_NEWS -DMOZ_NEO -DMOZ_OFFLINE -DMOZ_TASKBAR MOZ_LDAP = 1 diff --git a/mozilla/content/base/src/nsGenericElement.cpp b/mozilla/content/base/src/nsGenericElement.cpp index 874b64e6b30..0eab4b17822 100644 --- a/mozilla/content/base/src/nsGenericElement.cpp +++ b/mozilla/content/base/src/nsGenericElement.cpp @@ -37,6 +37,11 @@ #include "nsISizeOfHandler.h" #include "nsISupportsArray.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsFrame.h" #include "nsIPresShell.h" #include "nsIView.h" @@ -1208,7 +1213,25 @@ nsGenericElement::TriggerLink(nsIPresContext& aPresContext, nsAutoString absURLSpec; if (nsnull != aBaseURL) { nsString empty; +#ifndef NECKO NS_MakeAbsoluteURL(aBaseURL, empty, aURLSpec, absURLSpec); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *baseUri = nsnull; + rv = aBaseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return; + + char *absUrl = nsnull; + const char *uriStr = aURLSpec.GetBuffer(); + rv = service->MakeAbsolute(uriStr, baseUri, &absUrl); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return; + absURLSpec = absUrl; + delete [] absUrl; +#endif // NECKO } else { absURLSpec = aURLSpec; diff --git a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp index df145e8e145..0c97fc52673 100644 --- a/mozilla/content/html/content/src/nsGenericHTMLElement.cpp +++ b/mozilla/content/html/content/src/nsGenericHTMLElement.cpp @@ -43,6 +43,11 @@ #include "nsIStyleRule.h" #include "nsISupportsArray.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIURLGroup.h" #include "nsStyleConsts.h" #include "nsXIFConverter.h" @@ -997,7 +1002,23 @@ nsGenericHTMLElement::GetBaseURL(nsIHTMLAttributes* aAttributes, NS_RELEASE(urlGroup); } else { +#ifndef NECKO result = NS_NewURL(&url, baseHref, docBaseURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull, *baseUri = nsnull; + result = docBaseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return result; + + const char *uriStr = baseHref.GetBuffer(); + result = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); +#endif // NECKO } *aBaseURL = url; } @@ -1938,7 +1959,23 @@ nsGenericHTMLElement::MapBackgroundAttributesInto(nsIHTMLAttributes* aAttributes nsCOMPtr docURL; nsGenericHTMLElement::GetBaseURL(aAttributes, doc, getter_AddRefs(docURL)); +#ifndef NECKO rv = NS_MakeAbsoluteURL(docURL, "", spec, absURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *baseUri = nsnull; + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return; + + char *absUrlStr = nsnull; + const char *urlSpec = spec.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_SUCCEEDED(rv)) { nsStyleColor* color = (nsStyleColor*) aContext->GetMutableStyleData(eStyleStruct_Color); diff --git a/mozilla/content/html/content/src/nsHTMLImageElement.cpp b/mozilla/content/html/content/src/nsHTMLImageElement.cpp index 1d220e501b1..58f10c2442e 100644 --- a/mozilla/content/html/content/src/nsHTMLImageElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLImageElement.cpp @@ -37,6 +37,12 @@ #include "nsIScriptContext.h" #include "nsIScriptGlobalObject.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 // XXX nav attrs: suppress @@ -527,7 +533,23 @@ nsHTMLImageElement::SetSrc(const nsString& aSrc) empty.Truncate(); result = mOwnerDocument->GetBaseURL(baseURL); if (NS_SUCCEEDED(result)) { +#ifndef NECKO result = NS_MakeAbsoluteURL(baseURL, empty, aSrc, url); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *baseUri = nsnull; + result = baseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return result; + + char *absUrlStr = nsnull; + const char *urlSpec = aSrc.GetBuffer(); + result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + url = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_FAILED(result)) { url = aSrc; } diff --git a/mozilla/content/html/document/src/nsHTMLContentSink.cpp b/mozilla/content/html/document/src/nsHTMLContentSink.cpp index bf86f220084..705153dfa2e 100644 --- a/mozilla/content/html/document/src/nsHTMLContentSink.cpp +++ b/mozilla/content/html/document/src/nsHTMLContentSink.cpp @@ -25,6 +25,12 @@ #include "nsIHTMLContent.h" #include "nsIHTMLContentContainer.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 "nsIHttpURL.h" #include "nsIPresShell.h" @@ -2470,7 +2476,25 @@ HTMLContentSink::ProcessStyleLink(nsIHTMLContent* 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(nsIURL::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); +#endif // NECKO } if (NS_OK != result) { return NS_OK; // The URL is bad, move along, don't propogate the error (for now) @@ -2894,7 +2918,25 @@ HTMLContentSink::ProcessSCRIPTTag(const nsIParserNode& aNode) NS_RELEASE(urlGroup); } else { +#ifndef NECKO rv = NS_NewURL(&url, src, mDocumentBaseURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull, *baseUri = nsnull; + + rv = mDocumentBaseURL->QueryInterface(nsIURL::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + const char *uriStr = src.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO } if (NS_OK != rv) { return rv; @@ -3044,7 +3086,25 @@ HTMLContentSink::ProcessSTYLETag(const nsIParserNode& aNode) NS_RELEASE(urlGroup); } else { +#ifndef NECKO rv = NS_NewURL(&url, src, mDocumentBaseURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull, *baseUri = nsnull; + + rv = mDocumentBaseURL->QueryInterface(nsIURL::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + const char *uriStr = src.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO } if (NS_OK != rv) { return rv; diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp index 1c08d3dd738..ea4e4c5d8e2 100644 --- a/mozilla/content/html/document/src/nsHTMLDocument.cpp +++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp @@ -37,6 +37,10 @@ #include "nsIPostToServer.h" #include "nsIStreamListener.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +#endif // NECKO #include "nsIURLGroup.h" #include "nsIContentViewerContainer.h" #include "nsIWebShell.h" @@ -44,7 +48,13 @@ #include "CNavDTD.h" #include "nsIScriptGlobalObject.h" #include "nsContentList.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO + #include "nsIServiceManager.h" #include "nsIFormManager.h" #include "nsIComponentManager.h" @@ -85,14 +95,20 @@ static NS_DEFINE_IID(kIDOMNodeListIID, NS_IDOMNODELIST_IID); static NS_DEFINE_IID(kIHTMLDocumentIID, NS_IHTMLDOCUMENT_IID); static NS_DEFINE_IID(kIDOMHTMLDocumentIID, NS_IDOMHTMLDOCUMENT_IID); static NS_DEFINE_IID(kIDOMNSHTMLDocumentIID, NS_IDOMNSHTMLDOCUMENT_IID); + +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID); static NS_DEFINE_IID(kIHTMLContentContainerIID, NS_IHTMLCONTENTCONTAINER_IID); static NS_DEFINE_IID(kIDOMHTMLElementIID, NS_IDOMHTMLELEMENT_IID); static NS_DEFINE_IID(kIDOMHTMLBodyElementIID, NS_IDOMHTMLBODYELEMENT_IID); - // ================================================================== // = // ================================================================== @@ -561,7 +577,25 @@ nsHTMLDocument:: SetBaseURL(const nsString& aURLSpec) NS_RELEASE(urlGroup); } else { - result = NS_NewURL(&mBaseURL, aURLSpec, mDocumentURL); +#ifndef NECKO + result = NS_NewURL(&mBaseURL, aURLSpec, mDocumentURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull, *baseUri = nsnull; + + result = mDocumentURL->QueryInterface(nsIURL::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return result; + + const char *uriStr = aURLSpec.GetBuffer(); + result = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&mBaseURL); + NS_RELEASE(uri); +#endif // NECKO } } return result; @@ -1165,6 +1199,7 @@ nsHTMLDocument::GetAnchors(nsIDOMHTMLCollection** aAnchors) NS_IMETHODIMP nsHTMLDocument::GetCookie(nsString& aCookie) { +#ifndef NECKO nsINetService *service; nsresult res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, @@ -1177,11 +1212,17 @@ nsHTMLDocument::GetCookie(nsString& aCookie) } return res; +#else + // XXX NECKO we need to use the cookie module for this info instead of + // XXX the IOService + return NS_ERROR_NOT_IMPLEMENTED; +#endif // NECKO } NS_IMETHODIMP nsHTMLDocument::SetCookie(const nsString& aCookie) { +#ifndef NECKO nsINetService *service; nsresult res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, @@ -1194,6 +1235,11 @@ nsHTMLDocument::SetCookie(const nsString& aCookie) } return res; +#else + // XXX NECKO we need to use the cookie module for this info instead of + // XXX the IOService + return NS_ERROR_NOT_IMPLEMENTED; +#endif // NECKO } nsresult @@ -1225,8 +1271,20 @@ nsHTMLDocument::GetSourceDocumentURL(JSContext* cx, nsAutoString url; htmlDocument->GetURL(url); - +#ifndef NECKO result = NS_NewURL(sourceURL, url); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = url.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)sourceURL); + NS_RELEASE(uri); +#endif // NECKO } } } @@ -1298,7 +1356,19 @@ nsHTMLDocument::Open() // XXX For the non-script Open case, we have to make // up a URL. +#ifndef NECKO result = NS_NewURL(&sourceURL, "about:blank"); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + result = service->NewURI("about:blank", nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&sourceURL); + NS_RELEASE(uri); +#endif // NECKO if (NS_SUCCEEDED(result)) { result = OpenCommon(sourceURL); @@ -1319,7 +1389,19 @@ nsHTMLDocument::Open(JSContext *cx, jsval *argv, PRUint32 argc) result = GetSourceDocumentURL(cx, &sourceURL); // Recover if we had a problem obtaining the source URL if (nsnull == sourceURL) { - result = NS_NewURL(&sourceURL, "about:blank"); +#ifndef NECKO + result = NS_NewURL(&sourceURL, "about:blank"); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + result = service->NewURI("about:blank", nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&sourceURL); + NS_RELEASE(uri); +#endif // NECKO } if (NS_SUCCEEDED(result)) { diff --git a/mozilla/content/html/style/src/nsCSSLoader.cpp b/mozilla/content/html/style/src/nsCSSLoader.cpp index 7299c3a31e6..d345614a1b3 100644 --- a/mozilla/content/html/style/src/nsCSSLoader.cpp +++ b/mozilla/content/html/style/src/nsCSSLoader.cpp @@ -32,6 +32,12 @@ #include "nsHashtable.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 "nsCRT.h" #include "nsVoidArray.h" @@ -997,7 +1003,25 @@ static nsIURL* CloneURL(nsIURL* aURL) NS_RELEASE(urlGroup); } else { +#ifndef NECKO NS_NewURL(&result, buffer, aURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return nsnull; + + nsIURI *uri = nsnull, *baseUrl = nsnull; + rv = aURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUrl); + if (NS_FAILED(rv)) return nsnull; + + const char *uriStr = buffer.GetBuffer(); + rv = service->NewURI(uriStr, baseUrl, &uri); + NS_RELEASE(baseUrl); + if (NS_FAILED(rv)) return nsnull; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&result); + NS_RELEASE(uri); +#endif // NECKO } } return result; diff --git a/mozilla/content/html/style/src/nsCSSParser.cpp b/mozilla/content/html/style/src/nsCSSParser.cpp index acdee875d3a..368b894ca3c 100644 --- a/mozilla/content/html/style/src/nsCSSParser.cpp +++ b/mozilla/content/html/style/src/nsCSSParser.cpp @@ -31,6 +31,12 @@ #include "nsICSSDeclaration.h" #include "nsStyleConsts.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 "nsString.h" #include "nsIAtom.h" @@ -834,7 +840,25 @@ PRBool CSSParserImpl::ProcessImport(PRInt32& aErrorCode, const nsString& aURLSpe NS_RELEASE(urlGroup); } else { +#ifndef NECKO aErrorCode = NS_NewURL(&url, aURLSpec, mURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *uri = nsnull, *baseUri = nsnull; + rv = mURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + const char *uriStr = aURLSpec.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO } if (NS_FAILED(aErrorCode)) { @@ -2470,7 +2494,24 @@ PRBool CSSParserImpl::ParseURL(PRInt32& aErrorCode, nsCSSValue& aValue) nsAutoString absURL; if (nsnull != mURL) { nsString baseURL; - nsresult rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); + nsresult rv; +#ifndef NECKO + rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *baseUri = nsnull; + rv = mURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + char *absUrlStr = nsnull; + const char *urlSpec = (tk->mIdent).GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURL = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_FAILED(rv)) { absURL = tk->mIdent; } diff --git a/mozilla/content/html/style/src/nsCSSStyleSheet.cpp b/mozilla/content/html/style/src/nsCSSStyleSheet.cpp index 38346f54218..a1ca1263f8e 100644 --- a/mozilla/content/html/style/src/nsCSSStyleSheet.cpp +++ b/mozilla/content/html/style/src/nsCSSStyleSheet.cpp @@ -21,6 +21,12 @@ #include "nsCRT.h" #include "nsIAtom.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 "nsISupportsArray.h" #include "nsHashtable.h" #include "nsICSSStyleRule.h" @@ -1468,7 +1474,24 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, } nsAutoString absURLSpec; +#ifndef NECKO NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *baseUri = nsnull; + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + char *absUrlStr = nsnull; + const char *urlSpec = href.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(docURL); linkHandler->GetLinkState(absURLSpec.GetUnicode(), linkState); diff --git a/mozilla/content/html/style/src/nsHTMLStyleSheet.cpp b/mozilla/content/html/style/src/nsHTMLStyleSheet.cpp index e823606af8e..36421374efa 100644 --- a/mozilla/content/html/style/src/nsHTMLStyleSheet.cpp +++ b/mozilla/content/html/style/src/nsHTMLStyleSheet.cpp @@ -21,6 +21,12 @@ #include "nsCRT.h" #include "nsIAtom.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 "nsISupportsArray.h" #include "nsHashtable.h" #include "nsIHTMLContent.h" @@ -573,7 +579,24 @@ PRInt32 HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, htmlContent->GetBaseURL(docURL); nsAutoString absURLSpec; - nsresult rv = NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); + nsresult rv; +#ifndef NECKO + rv = NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return 0; + + nsIURI *baseUri = nsnull; + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return 0; + + char *absUrlStr = nsnull; + const char *urlSpec = href.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(docURL); nsLinkState state; diff --git a/mozilla/content/xml/document/src/nsXMLContentSink.cpp b/mozilla/content/xml/document/src/nsXMLContentSink.cpp index a43db67e389..291f86e0e9d 100644 --- a/mozilla/content/xml/document/src/nsXMLContentSink.cpp +++ b/mozilla/content/xml/document/src/nsXMLContentSink.cpp @@ -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) { diff --git a/mozilla/content/xul/document/src/nsXULDocument.cpp b/mozilla/content/xul/document/src/nsXULDocument.cpp index 6e0aef7001d..7d6322f2407 100644 --- a/mozilla/content/xul/document/src/nsXULDocument.cpp +++ b/mozilla/content/xul/document/src/nsXULDocument.cpp @@ -83,6 +83,11 @@ #include "nsISupportsArray.h" #include "nsITextContent.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIURLGroup.h" #include "nsIWebShell.h" #include "nsIXMLContent.h" @@ -1060,7 +1065,22 @@ XULDocumentImpl::PrepareToLoad( nsCOMPtr* created_parser, { nsString seedString; generate_RDF_seed(&seedString, 0); +#ifndef NECKO NS_NewURL(getter_AddRefs(syntheticURL), seedString); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = seedString.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&syntheticURL); + NS_RELEASE(uri); + if (NS_FAILED(rv)) return rv; +#endif // NECKO } #if 0 diff --git a/mozilla/docshell/base/nsWebShell.cpp b/mozilla/docshell/base/nsWebShell.cpp index 256965d1813..8d6852767db 100644 --- a/mozilla/docshell/base/nsWebShell.cpp +++ b/mozilla/docshell/base/nsWebShell.cpp @@ -65,6 +65,10 @@ //XXX used for nsIStreamObserver implementation. This sould be replaced by DocLoader // notifications... #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +#endif // NECKO //XXX for nsIPostData; this is wrong; we shouldn't see the nsIDocument type #include "nsIDocument.h" @@ -114,6 +118,9 @@ void nsWebShell_SetUnixEventQueue(PLEventQueue* aEventQueue) static NS_DEFINE_CID(kGlobalHistoryCID, NS_GLOBALHISTORY_CID); +#ifdef NECKO +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO //---------------------------------------------------------------------- @@ -1645,7 +1652,22 @@ nsWebShell::DoLoadURL(const nsString& aUrlSpec, // See if they're the same nsCOMPtr url; +#ifndef NECKO NS_NewURL(getter_AddRefs(url), aUrlSpec); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriSpec = aUrlSpec.GetBuffer(); + rv = service->NewURI(uriSpec, 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 if ((PRBool)docURL->Equals(url)) { // See if there's a destination anchor diff --git a/mozilla/dom/src/base/nsGlobalWindow.cpp b/mozilla/dom/src/base/nsGlobalWindow.cpp index 46132a3f1b2..86be8311970 100644 --- a/mozilla/dom/src/base/nsGlobalWindow.cpp +++ b/mozilla/dom/src/base/nsGlobalWindow.cpp @@ -28,7 +28,6 @@ #include "nsIFactory.h" #include "nsIScriptContext.h" #include "nsIDOMDocument.h" -#include "nsINetService.h" #include "nsIServiceManager.h" #include "nsITimer.h" #include "nsEventListenerManager.h" @@ -59,6 +58,13 @@ #include "nsScreen.h" #include "nsHistory.h" #include "nsBarProps.h" +#ifndef NECKO +#include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #if defined(OJI) #include "nsIJVMManager.h" @@ -92,9 +98,11 @@ static NS_DEFINE_IID(kIDOMEventTargetIID, NS_IDOMEVENTTARGET_IID); static NS_DEFINE_IID(kIBrowserWindowIID, NS_IBROWSER_WINDOW_IID); static NS_DEFINE_IID(kIScriptContextOwnerIID, NS_ISCRIPTCONTEXTOWNER_IID); static NS_DEFINE_IID(kIDocumentIID, NS_IDOCUMENT_IID); +static NS_DEFINE_IID(kINetSupportIID, NS_INETSUPPORT_IID); +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); -static NS_DEFINE_IID(kINetSupportIID, NS_INETSUPPORT_IID); +#endif // NECKO static NS_DEFINE_IID(kIPrefIID, NS_IPREF_IID); static NS_DEFINE_CID(kPrefServiceCID, NS_PREF_CID); @@ -963,6 +971,7 @@ GlobalWindowImpl::Dump(const nsString& aStr) return NS_OK; } + NS_IMETHODIMP GlobalWindowImpl::Alert(JSContext *cx, jsval *argv, PRUint32 argc) { @@ -1773,10 +1782,29 @@ GlobalWindowImpl::OpenInternal(JSContext *cx, mDocURL = mDoc->GetDocumentURL(); NS_RELEASE(mDoc); } - + +#ifndef NECKO if (NS_OK != NS_MakeAbsoluteURL(mDocURL, mEmpty, mURL, mAbsURL)) { return NS_ERROR_FAILURE; } +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + rv = mDocURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrl = nsnull; + const char *urlSpec = mURL.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrl); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return rv; + mAbsURL = absUrl; + delete [] absUrl; +#endif // NECKO + } /* Sanity-check the optional window_name argument. */ @@ -2572,13 +2600,25 @@ NavigatorImpl::GetScriptObject(nsIScriptContext *aContext, void** aScriptObject) NS_IMETHODIMP NavigatorImpl::GetUserAgent(nsString& aUserAgent) { + nsresult res; +#ifndef NECKO nsINetService *service = nsnull; - nsresult res = nsServiceManager::GetService(kNetServiceCID, + res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); +#endif // NECKO if ((NS_OK == res) && (nsnull != service)) { +#ifndef NECKO res = service->GetUserAgent(aUserAgent); +#else + PRUnichar *ua = nsnull; + res = service->GetUserAgent(&ua); + aUserAgent = ua; + delete [] ua; +#endif // NECKO NS_RELEASE(service); } return res; @@ -2587,13 +2627,25 @@ NavigatorImpl::GetUserAgent(nsString& aUserAgent) NS_IMETHODIMP NavigatorImpl::GetAppCodeName(nsString& aAppCodeName) { - nsINetService *service; - nsresult res = nsServiceManager::GetService(kNetServiceCID, + nsresult res; +#ifndef NECKO + nsINetService *service = nsnull; + res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); +#endif // NECKO if ((NS_OK == res) && (nsnull != service)) { +#ifndef NECKO res = service->GetAppCodeName(aAppCodeName); +#else + PRUnichar *appName = nsnull; + res = service->GetAppCodeName(&appName); + aAppCodeName = appName; + delete [] appName; +#endif // NECKO NS_RELEASE(service); } @@ -2603,13 +2655,25 @@ NavigatorImpl::GetAppCodeName(nsString& aAppCodeName) NS_IMETHODIMP NavigatorImpl::GetAppVersion(nsString& aAppVersion) { - nsINetService *service; - nsresult res = nsServiceManager::GetService(kNetServiceCID, + nsresult res; +#ifndef NECKO + nsINetService *service = nsnull; + res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); +#endif // NECKO if ((NS_OK == res) && (nsnull != service)) { +#ifndef NECKO res = service->GetAppVersion(aAppVersion); +#else + PRUnichar *appVer = nsnull; + res = service->GetAppVersion(&appVer); + aAppVersion = appVer; + delete [] appVer; +#endif // NECKO NS_RELEASE(service); } @@ -2619,13 +2683,25 @@ NavigatorImpl::GetAppVersion(nsString& aAppVersion) NS_IMETHODIMP NavigatorImpl::GetAppName(nsString& aAppName) { - nsINetService *service; - nsresult res = nsServiceManager::GetService(kNetServiceCID, + nsresult res; +#ifndef NECKO + nsINetService *service = nsnull; + res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); +#endif // NECKO if ((NS_OK == res) && (nsnull != service)) { +#ifndef NECKO res = service->GetAppName(aAppName); +#else + PRUnichar *appName = nsnull; + res = service->GetAppName(&appName); + aAppName = appName; + delete [] appName; +#endif // NECKO NS_RELEASE(service); } @@ -2635,13 +2711,25 @@ NavigatorImpl::GetAppName(nsString& aAppName) NS_IMETHODIMP NavigatorImpl::GetLanguage(nsString& aLanguage) { - nsINetService *service; - nsresult res = nsServiceManager::GetService(kNetServiceCID, + nsresult res; +#ifndef NECKO + nsINetService *service = nsnull; + res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); +#endif // NECKO if ((NS_OK == res) && (nsnull != service)) { +#ifndef NECKO res = service->GetLanguage(aLanguage); +#else + PRUnichar *lang = nsnull; + res = service->GetLanguage(&lang); + aLanguage = lang; + delete [] lang; +#endif // NECKO NS_RELEASE(service); } @@ -2651,13 +2739,25 @@ NavigatorImpl::GetLanguage(nsString& aLanguage) NS_IMETHODIMP NavigatorImpl::GetPlatform(nsString& aPlatform) { - nsINetService *service; - nsresult res = nsServiceManager::GetService(kNetServiceCID, + nsresult res; +#ifndef NECKO + nsINetService *service = nsnull; + res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); +#endif // NECKO if ((NS_OK == res) && (nsnull != service)) { +#ifndef NECKO res = service->GetPlatform(aPlatform); +#else + PRUnichar *plat = nsnull; + res = service->GetPlatform(&plat); + aPlatform = plat; + delete [] plat; +#endif // NECKO NS_RELEASE(service); } diff --git a/mozilla/dom/src/base/nsLocation.cpp b/mozilla/dom/src/base/nsLocation.cpp index b5c335a5a32..3707ce2063d 100644 --- a/mozilla/dom/src/base/nsLocation.cpp +++ b/mozilla/dom/src/base/nsLocation.cpp @@ -19,6 +19,12 @@ #include "nsGlobalWindow.h" #include "nsIWebShell.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 "plstr.h" #include "prmem.h" @@ -120,7 +126,21 @@ LocationImpl::GetHash(nsString& aHash) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO + if (NS_OK == result) { result = url->GetRef(&ref); if (result == NS_OK && (nsnull != ref) && ('\0' != *ref)) { @@ -146,7 +166,20 @@ LocationImpl::SetHash(const nsString& aHash) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { char *buf = aHash.ToNewCString(); url->SetRef(buf); @@ -168,7 +201,20 @@ LocationImpl::GetHost(nsString& aHost) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { const char* host; result = url->GetHost(&host); @@ -197,7 +243,20 @@ LocationImpl::SetHost(const nsString& aHost) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { char *buf = aHost.ToNewCString(); url->SetHost(buf); @@ -219,7 +278,20 @@ LocationImpl::GetHostname(nsString& aHostname) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { const char* host; result = url->GetHost(&host); @@ -241,7 +313,20 @@ LocationImpl::SetHostname(const nsString& aHostname) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { char *buf = aHostname.ToNewCString(); url->SetHost(buf); @@ -279,9 +364,39 @@ LocationImpl::SetHref(const nsString& aHref) result = GetHref(oldHref); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&oldUrl, oldHref); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = oldHref.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&oldUrl); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { - result = NS_NewURL(&newUrl, aHref, oldUrl); +#ifndef NECKO + result = NS_NewURL(&newUrl, aHref, oldUrl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull, *baseUri = nsnull; + result = oldUrl->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return result; + + const char *uriStr = aHref.GetBuffer(); + result = service->NewURI(uriStr, baseUri, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&newUrl); + NS_RELEASE(baseUri); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { const char* spec; result = newUrl->GetSpec(&spec); @@ -308,7 +423,20 @@ LocationImpl::GetPathname(nsString& aPathname) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { const char* file; result = url->GetFile(&file); @@ -330,7 +458,20 @@ LocationImpl::SetPathname(const nsString& aPathname) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { char *buf = aPathname.ToNewCString(); url->SetFile(buf); @@ -352,7 +493,20 @@ LocationImpl::GetPort(nsString& aPort) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { aPort.SetLength(0); PRUint32 port; @@ -376,7 +530,20 @@ LocationImpl::SetPort(const nsString& aPort) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { char *buf = aPort.ToNewCString(); PRInt32 port = -1; @@ -408,7 +575,20 @@ LocationImpl::GetProtocol(nsString& aProtocol) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { const char* protocol; result = url->GetProtocol(&protocol); @@ -432,7 +612,20 @@ LocationImpl::SetProtocol(const nsString& aProtocol) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { char *buf = aProtocol.ToNewCString(); url->SetProtocol(buf); @@ -454,7 +647,20 @@ LocationImpl::GetSearch(nsString& aSearch) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { const char *search; result = url->GetSearch(&search); @@ -481,7 +687,20 @@ LocationImpl::SetSearch(const nsString& aSearch) result = GetHref(href); if (NS_OK == result) { +#ifndef NECKO result = NS_NewURL(&url, href); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = href.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK == result) { char *buf = aSearch.ToNewCString(); url->SetSearch(buf); diff --git a/mozilla/editor/base/nsEditor.cpp b/mozilla/editor/base/nsEditor.cpp index 508e089a0cc..789f38ea2e7 100644 --- a/mozilla/editor/base/nsEditor.cpp +++ b/mozilla/editor/base/nsEditor.cpp @@ -50,6 +50,13 @@ #include "nsIStyleContext.h" #include "nsIEditActionListener.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +#include "nsIServiceManager.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + #include "nsEditorShell.h" #include "nsEditorShellFactory.h" @@ -530,7 +537,19 @@ nsEditor::Init(nsIDOMDocument *aDoc, nsIPresShell* aPresShell) if (NS_SUCCEEDED(result) && service) { nsCOMPtr url; +#ifndef NECKO result = NS_NewURL(getter_AddRefs(url), nsString(EDITOR_BUNDLE_URL)); +#else + NS_WITH_SERVICE(nsIIOService, ioService, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + result = ioService->NewURI(EDITOR_BUNDLE_URL, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURI::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_SUCCEEDED(result) && url) { diff --git a/mozilla/editor/libeditor/base/nsEditor.cpp b/mozilla/editor/libeditor/base/nsEditor.cpp index 508e089a0cc..789f38ea2e7 100644 --- a/mozilla/editor/libeditor/base/nsEditor.cpp +++ b/mozilla/editor/libeditor/base/nsEditor.cpp @@ -50,6 +50,13 @@ #include "nsIStyleContext.h" #include "nsIEditActionListener.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +#include "nsIServiceManager.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + #include "nsEditorShell.h" #include "nsEditorShellFactory.h" @@ -530,7 +537,19 @@ nsEditor::Init(nsIDOMDocument *aDoc, nsIPresShell* aPresShell) if (NS_SUCCEEDED(result) && service) { nsCOMPtr url; +#ifndef NECKO result = NS_NewURL(getter_AddRefs(url), nsString(EDITOR_BUNDLE_URL)); +#else + NS_WITH_SERVICE(nsIIOService, ioService, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + result = ioService->NewURI(EDITOR_BUNDLE_URL, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURI::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_SUCCEEDED(result) && url) { diff --git a/mozilla/extensions/cookie/htmldlgs.h b/mozilla/extensions/cookie/htmldlgs.h index 4a0fade4af5..34847e3aea8 100644 --- a/mozilla/extensions/cookie/htmldlgs.h +++ b/mozilla/extensions/cookie/htmldlgs.h @@ -171,15 +171,29 @@ XP_MakeHTMLDialog2(XPDialogInfo *dialogInfo) { nsIURL* url; char* separator; +#ifndef NECKO nsINetService *netservice; nsresult res; res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&netservice); +#else + nsIOService *netservice; + nsresult res; + res = nsServiceManager::GetService(kIOServiceCID, + kIIOServiceIID, + (nsISupports **)&netservice); +#endif // NECKO + if ((NS_OK == res) && (nsnull != netservice)) { const nsAutoString html_dlgs = nsAutoString(HTML_DLGS_URL); if (!NS_FAILED(NS_NewURL(&url, html_dlgs))) { + +#ifndef NECKO res = netservice->GetCookieString(url, *nsCookie); +#else + return; +#endif // NECKO /* convert cookie to a C string */ diff --git a/mozilla/extensions/cookie/makefile.win b/mozilla/extensions/cookie/makefile.win index ce40be87869..516f2c12e8e 100644 --- a/mozilla/extensions/cookie/makefile.win +++ b/mozilla/extensions/cookie/makefile.win @@ -43,7 +43,11 @@ CPP_OBJS= \ .\$(OBJDIR)\nsCookieHTTPNotify.obj \ $(NULL) +!ifdef NECKO LINCS = -I$(DEPTH)\include \ +!else +LINCS = -I$(DEPTH)\netwerk\dist\include \ +!endif MAKE_OBJ_TYPE = DLL DLLNAME = cookie diff --git a/mozilla/extensions/pics/src/nsPICS.cpp b/mozilla/extensions/pics/src/nsPICS.cpp index 131bc8dbb52..10faf3b2d93 100644 --- a/mozilla/extensions/pics/src/nsPICS.cpp +++ b/mozilla/extensions/pics/src/nsPICS.cpp @@ -24,6 +24,12 @@ #include "nsIPICS.h" #include "nsIPref.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 "nsIParser.h" #include "nsParserCIID.h" #include "nsIHTMLContentSink.h" @@ -66,8 +72,6 @@ static NS_DEFINE_IID(kIWebShellServicesIID, NS_IWEB_SHELL_SERVICES_IID); static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID); static NS_DEFINE_IID(kIDocumentLoaderObserverIID, NS_IDOCUMENT_LOADER_OBSERVER_IID); - - #define PICS_DOMAIN "browser.PICS." #define PICS_ENABLED_PREF PICS_DOMAIN"ratings_enabled" #define PICS_MUST_BE_RATED_PREF PICS_DOMAIN"pages_must_be_rated" @@ -950,7 +954,21 @@ nsPICS::OnEndURLLoad(nsIDocumentLoader* loader, // Construct a chrome URL and use it to look up a resource. nsAutoString rootStr = protocolStr + "://" + hostStr + "/"; +#ifndef NECKO rv = NS_NewURL(&rootURL, rootStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = rootStr.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&rootURL); + NS_RELEASE(uri); + if (NS_FAILED(rv)) return rv; +#endif // NECKO // rv = GetRootURL(rootURL); } } diff --git a/mozilla/extensions/pics/src/nsPICSElementObserver.cpp b/mozilla/extensions/pics/src/nsPICSElementObserver.cpp index e991dd8d4d9..504473bd3fd 100644 --- a/mozilla/extensions/pics/src/nsPICSElementObserver.cpp +++ b/mozilla/extensions/pics/src/nsPICSElementObserver.cpp @@ -23,6 +23,12 @@ #include "nsRepository.h" //#include "nsIObserver.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 "nsPICSElementObserver.h" #include "nsString.h" #include "nsIPICS.h" @@ -142,7 +148,21 @@ NS_IMETHODIMP nsPICSElementObserver::Notify(PRUint32 aDocumentID, eHTMLTags aTag char *label = theValue2.ToNewCString(); if (valueArray[numOfAttributes]) { const nsString& theURLValue=valueArray[numOfAttributes]; +#ifndef NECKO rv = NS_NewURL(&uaURL, theURLValue); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = theURLValue.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&uaURL); + NS_RELEASE(uri); + if (NS_FAILED(rv)) return rv; +#endif // NECKO } nsIPICS *pics = NULL; rv = nsRepository::CreateInstance(kPICSCID, diff --git a/mozilla/extensions/pics/tests/TestPICS.cpp b/mozilla/extensions/pics/tests/TestPICS.cpp index afb93af8bb6..210d8c5220a 100644 --- a/mozilla/extensions/pics/tests/TestPICS.cpp +++ b/mozilla/extensions/pics/tests/TestPICS.cpp @@ -6,7 +6,13 @@ #include "nsIPref.h" #include "nsIParser.h" #include "nsParserCIID.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO + #include "nsIObserverService.h" #include "nsString.h" #include "prmem.h" @@ -28,7 +34,11 @@ static NS_DEFINE_IID(kPICSCID, NS_PICS_CID); static NS_DEFINE_IID(kIPrefIID, NS_IPREF_IID); static NS_DEFINE_CID(kPrefCID, NS_PREF_CID); +#ifndef NECKO static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_IID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO static NS_DEFINE_IID(kCParserIID, NS_IPARSER_IID); @@ -83,7 +93,13 @@ PRInt32 main(PRInt32 argc, char *argv[]) if (res == NS_OK) { // Load preferences nsComponentManager::RegisterComponent(kPrefCID, NULL, NULL, PREF_DLL, PR_FALSE, PR_FALSE); + +#ifndef NECKO nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO + nsComponentManager::RegisterComponent(kCParserCID, NULL, NULL, RAPTORHTMLPARS_DLL, PR_FALSE, PR_FALSE); res = nsServiceManager::GetService(NS_OBSERVERSERVICE_PROGID, diff --git a/mozilla/extensions/wallet/src/htmldlgs.h b/mozilla/extensions/wallet/src/htmldlgs.h index 2fcd14b7a4b..e28db658117 100644 --- a/mozilla/extensions/wallet/src/htmldlgs.h +++ b/mozilla/extensions/wallet/src/htmldlgs.h @@ -168,16 +168,26 @@ XP_MakeHTMLDialog2(XPDialogInfo *dialogInfo) { nsAutoString * nsCookie = new nsAutoString(""); nsIURL* url; char* separator; - - nsINetService *netservice; nsresult res; + +#ifndef NECKO + nsINetService *netservice; res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&netservice); +#else + NS_WITH_SERVICE(nsIIOService, netservice, kIOServiceCID, &res); +#endif // NECKO + if ((NS_SUCCEEDED(res)) && (nsnull != netservice)) { const nsAutoString html_dlgs = nsAutoString(HTML_DLGS_URL); +#ifndef NECKO if (!NS_FAILED(NS_NewURL(&url, html_dlgs))) { - res = netservice->GetCookieString(url, *nsCookie); + res = netservice->GetCookieString(url, *nsCookie); +#else + if (1) { + return; // NECKO XXX +#endif // NECKO /* convert cookie to a C string */ diff --git a/mozilla/extensions/wallet/src/wallet.cpp b/mozilla/extensions/wallet/src/wallet.cpp index 51ba9fe976b..19dd01c25d7 100644 --- a/mozilla/extensions/wallet/src/wallet.cpp +++ b/mozilla/extensions/wallet/src/wallet.cpp @@ -22,7 +22,15 @@ */ #include "wallet.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#include "nsIChannel.h" +#endif // NECKO + #include "nsIServiceManager.h" #include "nsIDocument.h" #include "nsIDOMHTMLDocument.h" @@ -54,8 +62,14 @@ static NS_DEFINE_IID(kIDOMElementIID, NS_IDOMELEMENT_IID); static NS_DEFINE_IID(kIDOMHTMLInputElementIID, NS_IDOMHTMLINPUTELEMENT_IID); static NS_DEFINE_IID(kIDOMHTMLSelectElementIID, NS_IDOMHTMLSELECTELEMENT_IID); static NS_DEFINE_IID(kIDOMHTMLOptionElementIID, NS_IDOMHTMLOPTIONELEMENT_IID); + +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO static NS_DEFINE_CID(kNetSupportDialogCID, NS_NETSUPPORTDIALOG_CID); static NS_DEFINE_CID(kProfileCID, NS_PROFILE_CID); @@ -334,22 +348,45 @@ Wallet_Localize(char* genericString) { nsAutoString v(""); /* create a URL for the string resource file */ +#ifndef NECKO nsINetService* pNetService = nsnull; ret = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports**) &pNetService); +#else + nsIIOService* pNetService = nsnull; + ret = nsServiceManager::GetService(kIOServiceCID, kIIOServiceIID, + (nsISupports**) &pNetService); +#endif // NECKO + if (NS_FAILED(ret)) { printf("cannot get net service\n"); return v.ToNewCString(); } nsIURL *url = nsnull; + +#ifndef NECKO ret = pNetService->CreateURL(&url, nsString(TEST_URL), nsnull, nsnull, nsnull); + nsServiceManager::ReleaseService(kNetServiceCID, pNetService); + +#else + nsIURI *uri = nsnull; + ret = pNetService->NewURI(TEST_URL, nsnull, &uri); if (NS_FAILED(ret)) { - printf("cannot create URL\n"); - nsServiceManager::ReleaseService(kNetServiceCID, pNetService); + printf("cannot create URI\n"); + nsServiceManager::ReleaseService(kIOServiceCID, pNetService); + return v.ToNewCString(); + } + + ret = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + nsServiceManager::ReleaseService(kIOServiceCID, pNetService); + +#endif // NECKO + + if (NS_FAILED(ret)) { + printf("cannot create URL\n"); return v.ToNewCString(); } - nsServiceManager::ReleaseService(kNetServiceCID, pNetService); /* create a bundle for the localization */ nsIStringBundleService* pStringService = nsnull; @@ -1139,45 +1176,57 @@ wallet_ReadFromURLFieldToSchemaFile void wallet_FetchFromNetCenter(char* from, char* to) { - nsINetService *inet = nsnull; - nsIURL * url; - if (!NS_FAILED(NS_NewURL(&url, from))) { - nsresult rv = nsServiceManager::GetService(kNetServiceCID, - kINetServiceIID, - (nsISupports **)&inet); - if (NS_SUCCEEDED(rv)) { + nsIInputStream* newStream; + nsIInputStream* *aNewStream = &newStream; + nsresult rv; +#ifndef NECKO + nsIURL * url; + if (!NS_FAILED(NS_NewURL(&url, from))) { + NS_WITH_SERVICE(nsINetService, inet, kNetServiceCID, &rv); + if (NS_FAILED(rv)) return; - /* open network stream */ - nsIInputStream* newStream; - nsIInputStream* *aNewStream = &newStream; - rv = inet->OpenBlockingStream(url, nsnull, aNewStream); - if (NS_SUCCEEDED(rv)) { + rv = inet->OpenBlockingStream(url, nsnull, aNewStream); +#else + NS_WITH_SERVICE(nsIIOService, inet, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; - /* open output file */ - nsFileSpec dirSpec; - rv = Wallet_ProfileDirectory(dirSpec); - if (NS_FAILED(rv)) { - return; - } - nsOutputFileStream strm(dirSpec + to); - if (!strm.is_open()) { - NS_ERROR("unable to open file"); - } else { - /* place contents of network stream in output file */ - char buff[1001]; - PRUint32 count; - while (NS_SUCCEEDED((*aNewStream)->Read(buff,1000,&count))) { - buff[count] = '\0'; - strm.write(buff, count); + nsIChannel *channel = nsnull; + // XXX NECKO what verb do we want here? + rv = inet->NewChannel("load", from, nsnull, nsnull, &channel); + if (NS_FAILED(rv)) return; + + rv = channel->OpenInputStream(0, -1, aNewStream); +#endif // NECKO + + /* open network stream */ + if (NS_SUCCEEDED(rv)) { + + /* open output file */ + nsFileSpec dirSpec; + rv = Wallet_ProfileDirectory(dirSpec); + if (NS_FAILED(rv)) { + return; + } + nsOutputFileStream strm(dirSpec + to); + if (!strm.is_open()) { + NS_ERROR("unable to open file"); + } else { + + /* place contents of network stream in output file */ + char buff[1001]; + PRUint32 count; + while (NS_SUCCEEDED((*aNewStream)->Read(buff,1000,&count))) { + buff[count] = '\0'; + strm.write(buff, count); + } + strm.flush(); + strm.close(); } - strm.flush(); - strm.close(); } - } +#ifndef NECKO } - nsServiceManager::ReleaseService(kNetServiceCID, inet); - } +#endif // NECKO } /* diff --git a/mozilla/gfx/public/nsIImageGroup.h b/mozilla/gfx/public/nsIImageGroup.h index 77d9162554f..60218c8df9d 100644 --- a/mozilla/gfx/public/nsIImageGroup.h +++ b/mozilla/gfx/public/nsIImageGroup.h @@ -59,8 +59,7 @@ public: * Initialize an image group with a device context. All images * in this group will be decoded for the specified device context. */ - virtual nsresult Init(nsIDeviceContext *aDeviceContext, - nsIURLGroup* aURLGroup) = 0; + virtual nsresult Init(nsIDeviceContext *aDeviceContext, nsIURLGroup* aURLGroup) = 0; /** * Add an observers to be informed of image group notifications. diff --git a/mozilla/gfx/src/nsImageGroup.cpp b/mozilla/gfx/src/nsImageGroup.cpp index a2e597ec816..eec38fa0543 100644 --- a/mozilla/gfx/src/nsImageGroup.cpp +++ b/mozilla/gfx/src/nsImageGroup.cpp @@ -177,8 +177,10 @@ ImageGroupImpl::Init(nsIDeviceContext *aDeviceContext, nsIURLGroup* aURLGroup) return NS_ERROR_OUT_OF_MEMORY; } +#ifndef NECKO mURLGroup = aURLGroup; NS_IF_ADDREF(mURLGroup); +#endif // NECKO // Create an async net context result = NS_NewImageNetContext(&mNetContext, mURLGroup, ReconnectHack, this); diff --git a/mozilla/gfx/src/nsImageNetContextAsync.cpp b/mozilla/gfx/src/nsImageNetContextAsync.cpp index 9c06f08e645..9c13abeee88 100644 --- a/mozilla/gfx/src/nsImageNetContextAsync.cpp +++ b/mozilla/gfx/src/nsImageNetContextAsync.cpp @@ -32,10 +32,18 @@ #include "plstr.h" #include "il_strm.h" #include "merrors.h" -#include "nsINetService.h" +#ifndef NECKO +#include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO + +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#endif // NECKO + static NS_DEFINE_IID(kIImageNetContextIID, IL_INETCONTEXT_IID); static NS_DEFINE_IID(kIURLIID, NS_IURL_IID); diff --git a/mozilla/gfx/src/nsImageNetContextSync.cpp b/mozilla/gfx/src/nsImageNetContextSync.cpp index f0543c13234..4d523650ec9 100644 --- a/mozilla/gfx/src/nsImageNetContextSync.cpp +++ b/mozilla/gfx/src/nsImageNetContextSync.cpp @@ -26,13 +26,27 @@ #include "prmem.h" #include "plstr.h" #include "il_strm.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#include "nsIChannel.h" +#endif // NECKO + #include "nsIServiceManager.h" static NS_DEFINE_IID(kIImageNetContextIID, IL_INETCONTEXT_IID); static NS_DEFINE_IID(kIURLIID, NS_IURL_IID); + +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO class ImageNetContextSyncImpl : public ilINetContext { public: @@ -171,17 +185,45 @@ ImageNetContextSyncImpl::GetURL(ilIURL* aURL, aURL->QueryInterface(kIURLIID, (void **)&url); // Get a network service interface which we'll use to create a stream +#ifndef NECKO nsINetService *service; nsresult res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + nsIIOService *service; + nsresult res = nsServiceManager::GetService(kIOServiceCID, + kIIOServiceIID, + (nsISupports **)&service); +#endif // NECKO if (NS_SUCCEEDED(res)) { nsIInputStream* stream = nsnull; +#ifndef NECKO // Initiate a synchronous URL load if (NS_SUCCEEDED(service->OpenBlockingStream(url, nsnull, &stream)) && (aReader->StreamCreated(aURL, IL_UNKNOWN) == PR_TRUE)) { +#else + + nsIURI *uri = nsnull; + nsresult rv; + rv = url->QueryInterface(nsIURI::GetIID(), (void**)&uri); + if (NS_FAILED(rv)) return -1; + + // XXX NECKO what verb? what event sink getter + nsIChannel *channel = nsnull; + rv = service->NewChannelFromURI("load", uri, nsnull, &channel); + NS_RELEASE(uri); + if (NS_FAILED(rv)) return -1; + + rv = channel->OpenInputStream(0, -1, &stream); + NS_RELEASE(channel); + if (NS_FAILED(rv)) return -1; + + if (aReader->StreamCreated(aURL, IL_UNKNOWN) == PR_TRUE) { + +#endif // NECKO // Read the URL data char buf[2048]; diff --git a/mozilla/gfx/src/nsImageURL.cpp b/mozilla/gfx/src/nsImageURL.cpp index deff1cfc06d..24a6b47b0d1 100644 --- a/mozilla/gfx/src/nsImageURL.cpp +++ b/mozilla/gfx/src/nsImageURL.cpp @@ -22,8 +22,15 @@ #include "ilINetReader.h" #include "ilIURL.h" #include "nsIURL.h" +#ifndef NECKO #include "nsIURLGroup.h" #include "nsILoadAttribs.h" +#else +#include "nsIServiceManager.h" +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsString.h" #include "il_strm.h" @@ -73,7 +80,19 @@ ImageURLImpl::Init(const char *aURL, nsIURLGroup* aURLGroup) if (nsnull != aURLGroup) { rv = aURLGroup->CreateURL(&mURL, nsnull, aURL, nsnull); } else { +#ifndef NECKO rv = NS_NewURL(&mURL, aURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(aURL, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&mURL); + NS_RELEASE(uri); +#endif // NECKO } return rv; } diff --git a/mozilla/htmlparser/robot/nsDebugRobot.cpp b/mozilla/htmlparser/robot/nsDebugRobot.cpp index b9a14930676..ac2d4b647ee 100644 --- a/mozilla/htmlparser/robot/nsDebugRobot.cpp +++ b/mozilla/htmlparser/robot/nsDebugRobot.cpp @@ -22,6 +22,12 @@ #include "nsVoidArray.h" #include "nsString.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIServiceManager.h" +#include "nsIURI.h" +#include "nsIIOService.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIStreamListener.h" #include "nsIDTDDebug.h" #include "nsIComponentManager.h" @@ -192,7 +198,21 @@ extern "C" NS_EXPORT int DebugRobot( // Create url nsIURL* url; - nsresult rv = NS_NewURL(&url, *urlName); + nsresult rv; +#ifndef NECKO + rv = NS_NewURL(&url, *urlName); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = urlName->GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK != rv) { printf("invalid URL: '"); fputs(*urlName, stdout); diff --git a/mozilla/htmlparser/robot/nsRobotSink.cpp b/mozilla/htmlparser/robot/nsRobotSink.cpp index a8f7e9ca62d..c615d4767f5 100644 --- a/mozilla/htmlparser/robot/nsRobotSink.cpp +++ b/mozilla/htmlparser/robot/nsRobotSink.cpp @@ -21,6 +21,12 @@ #include "nsIParser.h" #include "nsString.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIURI.h" +#include "nsIServiceManager.h" +#include "nsIIOService.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsCRT.h" #include "nsVoidArray.h" class nsIDocument; @@ -316,7 +322,27 @@ void RobotSink::ProcessLink(const nsString& aLink) nsIURL* docURL = mDocumentURL; if (nsnull != docURL) { nsIURL* absurl; - nsresult rv = NS_NewURL(&absurl, aLink, docURL); + nsresult rv; +#ifndef NECKO + rv = NS_NewURL(&absurl, aLink, docURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *uri = nsnull, *baseUri = nsnull; + + rv = mDocumentURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return; + + const char *uriStr = aLink.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&absurl); + NS_RELEASE(uri); +#endif // NECKO + if (NS_OK == rv) { absURLSpec.Truncate(); PRUnichar* str; diff --git a/mozilla/htmlparser/tests/grabpage/grabpage.cpp b/mozilla/htmlparser/tests/grabpage/grabpage.cpp index a0fbc96d8c7..12a174a214b 100644 --- a/mozilla/htmlparser/tests/grabpage/grabpage.cpp +++ b/mozilla/htmlparser/tests/grabpage/grabpage.cpp @@ -19,7 +19,17 @@ #include "nsIStreamListener.h" #include "nsIInputStream.h" #include "nsIURL.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIChannel.h" +#include "nsIEventQueueService.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +static NS_DEFINE_CID(kEventQueueServiceCID, NS_IEVENTQUEUESERVICE_CID); +#endif // NECKO + #include "nsString.h" #include "nsCRT.h" #include "prprf.h" @@ -198,6 +208,10 @@ PageGrabber::NextFile(const char* aExtension) return cname; } +#ifdef NECKO +static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); +#endif // NECKO + nsresult PageGrabber::Grab(const nsString& aURL) { @@ -215,15 +229,44 @@ PageGrabber::Grab(const nsString& aURL) // Create the URL object... nsIURL* url = NULL; - nsresult rv = NS_NewURL(&url, aURL); + nsresult rv; + +#ifndef NECKO + rv = NS_NewURL(&url, aURL); if (NS_OK != rv) { return rv; } - +#else + rv = NS_WITH_SERVICE(nsIIOService, ioService, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIChannel *channel = nsnull; + // XXX NECKO what verb? what eventSinkGetter? + rv = ioService->NewChannel("load", aURL, nsnull, nsnull, &channel); + if (NS_FAILED(rv)) return rv; +#endif // NECKO + // Start the URL load... StreamToFile* copier = new StreamToFile(fp); NS_ADDREF(copier); + +#ifndef NECKO rv = url->Open(copier); +#else + nsIEventQueue *eventQ = nsnull; + NS_WITH_SERVICE(nsIEventQueueService, eqService, kEventQueueServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + rv = eqService->CreateThreadEventQueue(); + if (NS_FAILED(rv)) return rv; + + rv = eqService->GetThreadEventQueue(PR_CurrentThread(), &eventQ); + if (NS_FAILED(rv)) return rv; + + rv = channel->AsyncRead(0, -1, nsnull, eventQ, copier); + NS_RELEASE(eventQ); +#endif // NECKO + if (NS_OK != rv) { NS_RELEASE(copier); NS_RELEASE(url); diff --git a/mozilla/intl/strres/src/nsStringBundle.cpp b/mozilla/intl/strres/src/nsStringBundle.cpp index 211c006ecbb..a317678ed34 100644 --- a/mozilla/intl/strres/src/nsStringBundle.cpp +++ b/mozilla/intl/strres/src/nsStringBundle.cpp @@ -24,7 +24,14 @@ #include "nsIStringBundle.h" #include "nscore.h" #include "nsILocale.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIChannel.h" +#endif // NECKO + #include "nsIURL.h" #include "nsIComponentManager.h" #include "nsIServiceManager.h" @@ -42,9 +49,15 @@ NS_DEFINE_IID(kIStringBundleIID, NS_ISTRINGBUNDLE_IID); NS_DEFINE_IID(kIStringBundleServiceIID, NS_ISTRINGBUNDLESERVICE_IID); NS_DEFINE_IID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID); +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); -static NS_DEFINE_IID(kIPersistentPropertiesIID, NS_IPERSISTENTPROPERTIES_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + +static NS_DEFINE_IID(kIPersistentPropertiesIID, NS_IPERSISTENTPROPERTIES_IID); class nsStringBundle : public nsIStringBundle { @@ -67,7 +80,9 @@ nsStringBundle::nsStringBundle(nsIURL* aURL, nsILocale* aLocale, NS_INIT_REFCNT(); mProps = nsnull; + nsIInputStream *in = nsnull; +#ifndef NECKO nsINetService* pNetService = nsnull; *aResult = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports**) &pNetService); @@ -77,7 +92,6 @@ nsStringBundle::nsStringBundle(nsIURL* aURL, nsILocale* aLocale, #endif return; } - nsIInputStream *in = nsnull; *aResult = pNetService->OpenBlockingStream(aURL, nsnull, &in); if (NS_FAILED(*aResult)) { @@ -86,6 +100,51 @@ nsStringBundle::nsStringBundle(nsIURL* aURL, nsILocale* aLocale, #endif return; } + +#else // NECKO + nsresult rv; + NS_WITH_SERVICE(nsIIOService, pNetService, kIOServiceCID, &rv); + if (NS_FAILED(rv)) { +#ifdef NS_DEBUG + printf("cannot get io service\n"); +#endif + *aResult = rv; + return; + } + + nsIURI *uri = nsnull; + rv = aURL->QueryInterface(nsIURI::GetIID(), (void**)&uri); + if (NS_FAILED(rv)) { +#ifdef NS_DEBUG + printf("cannot get uri\n"); +#endif + *aResult = rv; + return; + } + + // XXX NECKO what verb? sinkGetter? + nsIChannel *channel = nsnull; + rv = pNetService->NewChannelFromURI("load", uri, nsnull, &channel); + NS_RELEASE(uri); + if (NS_FAILED(rv)) { +#ifdef NS_DEBUG + printf("cannot get channel\n"); +#endif + *aResult = rv; + return; + } + + rv = channel->OpenInputStream(0, -1, &in); + NS_RELEASE(channel); + if (NS_FAILED(rv)) { +#ifdef NS_DEBUG + printf("cannot get input stream\n"); +#endif + *aResult = rv; + return; + } +#endif // NECKO + if (!in) { #ifdef NS_DEBUG printf("OpenBlockingStream returned success value, but pointer is NULL\n"); @@ -255,6 +314,8 @@ nsStringBundleService::CreateBundle(const char* aURLSpec, nsILocale* aLocale, /* get the url */ + nsIURL *url = nsnull; +#ifndef NECKO nsINetService* pNetService = nsnull; ret = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports**) &pNetService); @@ -262,13 +323,25 @@ nsStringBundleService::CreateBundle(const char* aURLSpec, nsILocale* aLocale, printf("cannot get net service\n"); return 1; } - nsIURL *url = nsnull; ret = pNetService->CreateURL(&url, strFile2, nsnull, nsnull, nsnull); if (NS_FAILED(ret)) { printf("cannot create URL\n"); return 1; } +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &ret); + if (NS_FAILED(ret)) return ret; + + nsIURI *uri = nsnull; + const char *uriStr = strFile2.GetBuffer(); + ret = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(ret)) return ret; + + ret = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); + if (NS_FAILED(ret)) return ret; +#endif // NECKO /* do it */ diff --git a/mozilla/intl/strres/tests/StringBundleTest.cpp b/mozilla/intl/strres/tests/StringBundleTest.cpp index 132c6d8dbb4..081460da0d1 100644 --- a/mozilla/intl/strres/tests/StringBundleTest.cpp +++ b/mozilla/intl/strres/tests/StringBundleTest.cpp @@ -22,7 +22,15 @@ #include "nsIStringBundle.h" #include "nsIEventQueueService.h" #include "nsILocale.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#include "nsIServiceManager.h" +#endif + #include "nsIServiceManager.h" #include "nsIComponentManager.h" @@ -40,8 +48,15 @@ static NS_DEFINE_IID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); static NS_DEFINE_IID(kIEventQueueServiceIID, NS_IEVENTQUEUESERVICE_IID); + +#ifndef NECKO static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); +#else +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + static NS_DEFINE_IID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID); static NS_DEFINE_IID(kIStringBundleServiceIID, NS_ISTRINGBUNDLESERVICE_IID); @@ -118,8 +133,13 @@ main(int argc, char *argv[]) printf("auto-registration failed\n"); return 1; } +#ifndef NECKO nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, + PR_FALSE, PR_FALSE); +#endif // NECKO nsIStringBundleService* service = nsnull; ret = nsServiceManager::GetService(kStringBundleServiceCID, @@ -141,7 +161,42 @@ main(int argc, char *argv[]) printf("CreateThreadEventQueue failed\n"); return 1; } + nsILocale* locale = get_applocale(); + nsIURL *url = nsnull; + +#ifndef NECKO + nsINetService* pNetService = nsnull; + ret = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, + (nsISupports**) &pNetService); + if (NS_FAILED(ret)) { + printf("cannot get net service\n"); + return 1; + } + ret = pNetService->CreateURL(&url, nsString(TEST_URL), nsnull, nsnull, + nsnull); +#else + NS_WITH_SERVICE(nsIIOService, pNetService, kIOServiceCID, &ret); + if (NS_FAILED(ret)) { + printf("cannot get io service\n"); + return 1; + } + + nsIURI *uri = nsnull; + ret = pNetService->NewURI(TEST_URL, nsnull, &uri); + if (NS_FAILED(ret)) { + printf("cannot get uri\n"); + return 1; + } + + ret = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO + + if (NS_FAILED(ret)) { + printf("cannot create URL\n"); + return 1; + } nsIStringBundle* bundle = nsnull; diff --git a/mozilla/intl/uconv/src/nsURLProperties.cpp b/mozilla/intl/uconv/src/nsURLProperties.cpp index 5b2af2bc138..8f270bcc574 100644 --- a/mozilla/intl/uconv/src/nsURLProperties.cpp +++ b/mozilla/intl/uconv/src/nsURLProperties.cpp @@ -20,32 +20,57 @@ #include "nsIServiceManager.h" #include "nsIComponentManager.h" #include "nsIURL.h" -#include "nsINetService.h" -static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); +#ifndef NECKO +#include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIChannel.h" +#endif // NECKO + static NS_DEFINE_IID(kIPersistentPropertiesIID, NS_IPERSISTENTPROPERTIES_IID); + +#ifndef NECKO +static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO nsURLProperties::nsURLProperties(nsString& aUrl) { mDelegate = nsnull; nsresult res = NS_OK; + nsIURL* url = nsnull; + nsIInputStream* in = nsnull; +#ifndef NECKO nsINetService* pNetService = nsnull; if(NS_SUCCEEDED(res)) - res = nsServiceManager::GetService( kNetServiceCID, - kINetServiceIID, - (nsISupports**) &pNetService); + res = nsServiceManager::GetService( kNetServiceCID, + kINetServiceIID, + (nsISupports**) &pNetService); - nsIURL* url = nsnull; if(NS_SUCCEEDED(res)) res = pNetService->CreateURL(&url, aUrl, nsnull, nsnull, nsnull); - nsIInputStream* in=nsnull; if(NS_SUCCEEDED(res)) res = pNetService->OpenBlockingStream(url, nsnull, &in); - - +#else + NS_WITH_SERVICE(nsIIOService, pNetService, kIOServiceCID, &res); + if (NS_FAILED(res)) return; + + nsIChannel *channel = nsnull; + // XXX NECKO verb? sinkGetter? + const char *urlStr = aUrl.GetBuffer(); + res = pNetService->NewChannel("load", urlStr, nsnull, nsnull, &channel); + if (NS_FAILED(res)) return; + + res = channel->OpenInputStream(0, -1, &in); + NS_RELEASE(channel); +#endif // NECKO + if(NS_SUCCEEDED(res)) res = nsComponentManager::CreateInstance(kPersistentPropertiesCID, NULL, kIPersistentPropertiesIID, @@ -58,10 +83,11 @@ nsURLProperties::nsURLProperties(nsString& aUrl) NS_IF_RELEASE(mDelegate); mDelegate=nsnull; } - - if(pNetService) - res = nsServiceManager::ReleaseService( kNetServiceCID, +#ifndef NECKO + if(pNetService) + res = nsServiceManager::ReleaseService( kNetServiceCID, pNetService); +#endif // NECKO NS_IF_RELEASE(in); } diff --git a/mozilla/layout/base/src/nsGenericElement.cpp b/mozilla/layout/base/src/nsGenericElement.cpp index 874b64e6b30..0eab4b17822 100644 --- a/mozilla/layout/base/src/nsGenericElement.cpp +++ b/mozilla/layout/base/src/nsGenericElement.cpp @@ -37,6 +37,11 @@ #include "nsISizeOfHandler.h" #include "nsISupportsArray.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsFrame.h" #include "nsIPresShell.h" #include "nsIView.h" @@ -1208,7 +1213,25 @@ nsGenericElement::TriggerLink(nsIPresContext& aPresContext, nsAutoString absURLSpec; if (nsnull != aBaseURL) { nsString empty; +#ifndef NECKO NS_MakeAbsoluteURL(aBaseURL, empty, aURLSpec, absURLSpec); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *baseUri = nsnull; + rv = aBaseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return; + + char *absUrl = nsnull; + const char *uriStr = aURLSpec.GetBuffer(); + rv = service->MakeAbsolute(uriStr, baseUri, &absUrl); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return; + absURLSpec = absUrl; + delete [] absUrl; +#endif // NECKO } else { absURLSpec = aURLSpec; diff --git a/mozilla/layout/base/src/nsPluginViewer.cpp b/mozilla/layout/base/src/nsPluginViewer.cpp index 6f4d079fa4f..da4eac4d7fa 100644 --- a/mozilla/layout/base/src/nsPluginViewer.cpp +++ b/mozilla/layout/base/src/nsPluginViewer.cpp @@ -24,6 +24,12 @@ #include "nsIPluginInstance.h" #include "nsIStreamListener.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 "nsIComponentManager.h" #include "nsWidgetsCID.h" #include "nsILinkHandler.h" @@ -706,7 +712,25 @@ NS_IMETHODIMP pluginInstanceOwner :: GetURL(const char *aURL, const char *aTarge nsAutoString fullurl; // Create an absolute URL +#ifndef NECKO rv = NS_MakeAbsoluteURL(url, base, uniurl, fullurl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + const char *uriStr = uniurl.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrl = nsnull; + const char *urlSpec = base.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrl); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return rv; + fullurl = absUrl; + delete [] absUrl; +#endif // NECKO if (NS_OK == rv) rv = lh->OnLinkClick(nsnull, eLinkVerb_Replace, fullurl.GetUnicode(), unitarget.GetUnicode(), nsnull); diff --git a/mozilla/layout/build/nsLayoutDLF.cpp b/mozilla/layout/build/nsLayoutDLF.cpp index f11e127e399..319b7e5af13 100644 --- a/mozilla/layout/build/nsLayoutDLF.cpp +++ b/mozilla/layout/build/nsLayoutDLF.cpp @@ -21,6 +21,12 @@ #include "nsIDocument.h" #include "nsIDocumentViewer.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 "nsICSSLoader.h" #include "nsICSSStyleSheet.h" #include "nsString.h" @@ -536,7 +542,19 @@ nsLayoutDLF::InitUAStyleSheet() if (nsnull == gUAStyleSheet) { // snarf one nsIURL* uaURL; +#ifndef NECKO rv = NS_NewURL(&uaURL, nsString(UA_CSS_URL)); // XXX this bites, fix it +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(UA_CSS_URL, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&uaURL); + NS_RELEASE(uri); +#endif // NECKO if (NS_SUCCEEDED(rv)) { nsICSSLoader* cssLoader; rv = NS_NewCSSLoader(&cssLoader); diff --git a/mozilla/layout/generic/nsFrameFrame.cpp b/mozilla/layout/generic/nsFrameFrame.cpp index 6ad66d75a2c..6694589aa51 100644 --- a/mozilla/layout/generic/nsFrameFrame.cpp +++ b/mozilla/layout/generic/nsFrameFrame.cpp @@ -26,6 +26,12 @@ #include "nsIComponentManager.h" #include "nsIStreamListener.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 "nsIDocument.h" #include "nsIView.h" #include "nsIViewManager.h" @@ -695,7 +701,24 @@ void TempMakeAbsURL(nsIContent* aContent, nsString& aRelURL, nsString& aAbsURL) } nsString empty; +#ifndef NECKO NS_MakeAbsoluteURL(baseURL, empty, aRelURL, aAbsURL); +#else + nsresult result; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return; + + nsIURI *baseUri = nsnull; + result = baseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return; + + char *absUrlStr = nsnull; + const char *urlSpec = aRelURL.GetBuffer(); + result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + aAbsURL= absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(baseURL); } diff --git a/mozilla/layout/generic/nsImageFrame.cpp b/mozilla/layout/generic/nsImageFrame.cpp index 19a605b347c..56f3256cc2f 100644 --- a/mozilla/layout/generic/nsImageFrame.cpp +++ b/mozilla/layout/generic/nsImageFrame.cpp @@ -34,6 +34,12 @@ #include "nsImageMap.h" #include "nsILinkHandler.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 "nsIView.h" #include "nsIViewManager.h" #include "nsHTMLContainerFrame.h" @@ -664,7 +670,24 @@ nsImageFrame::HandleEvent(nsIPresContext& aPresContext, nsAutoString src; nsString empty; mContent->GetAttribute(kNameSpaceID_HTML, nsHTMLAtoms::src, src); +#ifndef NECKO NS_MakeAbsoluteURL(baseURL, empty, src, absURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + rv = baseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrlStr = nsnull; + const char *baseSpec = src.GetBuffer(); + rv = service->MakeAbsolute(baseSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURL = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(baseURL); // Note: We don't subtract out the border/padding here to remain diff --git a/mozilla/layout/generic/nsImageMap.cpp b/mozilla/layout/generic/nsImageMap.cpp index 1df830bf1c9..9aefec635f2 100644 --- a/mozilla/layout/generic/nsImageMap.cpp +++ b/mozilla/layout/generic/nsImageMap.cpp @@ -22,6 +22,12 @@ #include "nsIRenderingContext.h" #include "nsIPresContext.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 "nsXIFConverter.h" #include "nsISizeOfHandler.h" #include "nsTextFragment.h" @@ -846,7 +852,31 @@ nsImageMap::IsInside(nscoord aX, nscoord aY, for (i = 0; i < n; i++) { Area* area = (Area*) mAreas.ElementAt(i); if (area->IsInside(aX, aY) && area->mHasURL) { +#ifndef NECKO NS_MakeAbsoluteURL(aDocURL, area->mBase, area->mHREF, aAbsURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *baseUri = nsnull; + + if ((area->mBase).Length() > 0) { + // use the area->base as the base uri + const char *uriStr = (area->mBase).GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &baseUri); + } else { + rv = aDocURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + } + if (NS_FAILED(rv)) return PR_FALSE; + + char *absUrlStr = nsnull; + const char *urlSpec = (area->mHREF).GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + aAbsURL = absUrlStr; + delete [] absUrlStr; +#endif // NECKO aTarget = area->mTarget; aAltText = area->mAltText; *aSuppress = area->mSuppressFeedback; diff --git a/mozilla/layout/generic/nsObjectFrame.cpp b/mozilla/layout/generic/nsObjectFrame.cpp index 6cd53bcf714..f2341a8be3a 100644 --- a/mozilla/layout/generic/nsObjectFrame.cpp +++ b/mozilla/layout/generic/nsObjectFrame.cpp @@ -34,6 +34,12 @@ #include "nsHTMLAtoms.h" #include "nsIDocument.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 "nsIPluginInstanceOwner.h" #include "nsIHTMLContent.h" @@ -1628,7 +1634,23 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetURL(const char *aURL, const char *aTarge mOwner->GetFullURL(baseURL); // Create an absolute URL +#ifndef NECKO rv = NS_MakeAbsoluteURL(baseURL, nsString(), uniurl, fullurl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + rv = baseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrlStr = nsnull; + const char *urlSpec = uniurl.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + fullurl = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(baseURL); diff --git a/mozilla/layout/html/base/src/nsHTMLImageLoader.cpp b/mozilla/layout/html/base/src/nsHTMLImageLoader.cpp index b3cc6ce4a01..0d39d3cd76e 100644 --- a/mozilla/layout/html/base/src/nsHTMLImageLoader.cpp +++ b/mozilla/layout/html/base/src/nsHTMLImageLoader.cpp @@ -19,6 +19,12 @@ #include "nsIHTMLReflow.h" #include "nsFrame.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 #ifdef DEBUG #undef NOISY_IMAGE_LOADING @@ -75,7 +81,24 @@ nsHTMLImageLoader::SetURL(const nsString& aNewSpec) mURLSpec = aNewSpec; if (mBaseURL && !aNewSpec.Equals("")) { nsString empty; - nsresult rv = NS_MakeAbsoluteURL(mBaseURL, empty, mURLSpec, mURL); + nsresult rv; +#ifndef NECKO + rv = NS_MakeAbsoluteURL(mBaseURL, empty, mURLSpec, mURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *baseUri = nsnull; + rv = mBaseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return; + + char *absUrl = nsnull; + const char *urlSpec = mURLSpec.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrl); + NS_RELEASE(baseUri); + mURL = absUrl; + delete [] absUrl; +#endif // NECKO if (NS_FAILED(rv)) { mURL = mURLSpec; } diff --git a/mozilla/layout/html/base/src/nsImageFrame.cpp b/mozilla/layout/html/base/src/nsImageFrame.cpp index 19a605b347c..56f3256cc2f 100644 --- a/mozilla/layout/html/base/src/nsImageFrame.cpp +++ b/mozilla/layout/html/base/src/nsImageFrame.cpp @@ -34,6 +34,12 @@ #include "nsImageMap.h" #include "nsILinkHandler.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 "nsIView.h" #include "nsIViewManager.h" #include "nsHTMLContainerFrame.h" @@ -664,7 +670,24 @@ nsImageFrame::HandleEvent(nsIPresContext& aPresContext, nsAutoString src; nsString empty; mContent->GetAttribute(kNameSpaceID_HTML, nsHTMLAtoms::src, src); +#ifndef NECKO NS_MakeAbsoluteURL(baseURL, empty, src, absURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + rv = baseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrlStr = nsnull; + const char *baseSpec = src.GetBuffer(); + rv = service->MakeAbsolute(baseSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURL = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(baseURL); // Note: We don't subtract out the border/padding here to remain diff --git a/mozilla/layout/html/base/src/nsImageMap.cpp b/mozilla/layout/html/base/src/nsImageMap.cpp index 1df830bf1c9..9aefec635f2 100644 --- a/mozilla/layout/html/base/src/nsImageMap.cpp +++ b/mozilla/layout/html/base/src/nsImageMap.cpp @@ -22,6 +22,12 @@ #include "nsIRenderingContext.h" #include "nsIPresContext.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 "nsXIFConverter.h" #include "nsISizeOfHandler.h" #include "nsTextFragment.h" @@ -846,7 +852,31 @@ nsImageMap::IsInside(nscoord aX, nscoord aY, for (i = 0; i < n; i++) { Area* area = (Area*) mAreas.ElementAt(i); if (area->IsInside(aX, aY) && area->mHasURL) { +#ifndef NECKO NS_MakeAbsoluteURL(aDocURL, area->mBase, area->mHREF, aAbsURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *baseUri = nsnull; + + if ((area->mBase).Length() > 0) { + // use the area->base as the base uri + const char *uriStr = (area->mBase).GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &baseUri); + } else { + rv = aDocURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + } + if (NS_FAILED(rv)) return PR_FALSE; + + char *absUrlStr = nsnull; + const char *urlSpec = (area->mHREF).GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + aAbsURL = absUrlStr; + delete [] absUrlStr; +#endif // NECKO aTarget = area->mTarget; aAltText = area->mAltText; *aSuppress = area->mSuppressFeedback; diff --git a/mozilla/layout/html/base/src/nsObjectFrame.cpp b/mozilla/layout/html/base/src/nsObjectFrame.cpp index 6cd53bcf714..f2341a8be3a 100644 --- a/mozilla/layout/html/base/src/nsObjectFrame.cpp +++ b/mozilla/layout/html/base/src/nsObjectFrame.cpp @@ -34,6 +34,12 @@ #include "nsHTMLAtoms.h" #include "nsIDocument.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 "nsIPluginInstanceOwner.h" #include "nsIHTMLContent.h" @@ -1628,7 +1634,23 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetURL(const char *aURL, const char *aTarge mOwner->GetFullURL(baseURL); // Create an absolute URL +#ifndef NECKO rv = NS_MakeAbsoluteURL(baseURL, nsString(), uniurl, fullurl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + rv = baseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrlStr = nsnull; + const char *urlSpec = uniurl.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + fullurl = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(baseURL); diff --git a/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp b/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp index df145e8e145..0c97fc52673 100644 --- a/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp +++ b/mozilla/layout/html/content/src/nsGenericHTMLElement.cpp @@ -43,6 +43,11 @@ #include "nsIStyleRule.h" #include "nsISupportsArray.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIURLGroup.h" #include "nsStyleConsts.h" #include "nsXIFConverter.h" @@ -997,7 +1002,23 @@ nsGenericHTMLElement::GetBaseURL(nsIHTMLAttributes* aAttributes, NS_RELEASE(urlGroup); } else { +#ifndef NECKO result = NS_NewURL(&url, baseHref, docBaseURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull, *baseUri = nsnull; + result = docBaseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return result; + + const char *uriStr = baseHref.GetBuffer(); + result = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); +#endif // NECKO } *aBaseURL = url; } @@ -1938,7 +1959,23 @@ nsGenericHTMLElement::MapBackgroundAttributesInto(nsIHTMLAttributes* aAttributes nsCOMPtr docURL; nsGenericHTMLElement::GetBaseURL(aAttributes, doc, getter_AddRefs(docURL)); +#ifndef NECKO rv = NS_MakeAbsoluteURL(docURL, "", spec, absURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *baseUri = nsnull; + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return; + + char *absUrlStr = nsnull; + const char *urlSpec = spec.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_SUCCEEDED(rv)) { nsStyleColor* color = (nsStyleColor*) aContext->GetMutableStyleData(eStyleStruct_Color); diff --git a/mozilla/layout/html/content/src/nsHTMLImageElement.cpp b/mozilla/layout/html/content/src/nsHTMLImageElement.cpp index 1d220e501b1..58f10c2442e 100644 --- a/mozilla/layout/html/content/src/nsHTMLImageElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLImageElement.cpp @@ -37,6 +37,12 @@ #include "nsIScriptContext.h" #include "nsIScriptGlobalObject.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 // XXX nav attrs: suppress @@ -527,7 +533,23 @@ nsHTMLImageElement::SetSrc(const nsString& aSrc) empty.Truncate(); result = mOwnerDocument->GetBaseURL(baseURL); if (NS_SUCCEEDED(result)) { +#ifndef NECKO result = NS_MakeAbsoluteURL(baseURL, empty, aSrc, url); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *baseUri = nsnull; + result = baseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return result; + + char *absUrlStr = nsnull; + const char *urlSpec = aSrc.GetBuffer(); + result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + url = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_FAILED(result)) { url = aSrc; } diff --git a/mozilla/layout/html/document/src/nsFrameFrame.cpp b/mozilla/layout/html/document/src/nsFrameFrame.cpp index 6ad66d75a2c..6694589aa51 100644 --- a/mozilla/layout/html/document/src/nsFrameFrame.cpp +++ b/mozilla/layout/html/document/src/nsFrameFrame.cpp @@ -26,6 +26,12 @@ #include "nsIComponentManager.h" #include "nsIStreamListener.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 "nsIDocument.h" #include "nsIView.h" #include "nsIViewManager.h" @@ -695,7 +701,24 @@ void TempMakeAbsURL(nsIContent* aContent, nsString& aRelURL, nsString& aAbsURL) } nsString empty; +#ifndef NECKO NS_MakeAbsoluteURL(baseURL, empty, aRelURL, aAbsURL); +#else + nsresult result; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return; + + nsIURI *baseUri = nsnull; + result = baseURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return; + + char *absUrlStr = nsnull; + const char *urlSpec = aRelURL.GetBuffer(); + result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + aAbsURL= absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(baseURL); } diff --git a/mozilla/layout/html/document/src/nsHTMLContentSink.cpp b/mozilla/layout/html/document/src/nsHTMLContentSink.cpp index bf86f220084..705153dfa2e 100644 --- a/mozilla/layout/html/document/src/nsHTMLContentSink.cpp +++ b/mozilla/layout/html/document/src/nsHTMLContentSink.cpp @@ -25,6 +25,12 @@ #include "nsIHTMLContent.h" #include "nsIHTMLContentContainer.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 "nsIHttpURL.h" #include "nsIPresShell.h" @@ -2470,7 +2476,25 @@ HTMLContentSink::ProcessStyleLink(nsIHTMLContent* 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(nsIURL::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); +#endif // NECKO } if (NS_OK != result) { return NS_OK; // The URL is bad, move along, don't propogate the error (for now) @@ -2894,7 +2918,25 @@ HTMLContentSink::ProcessSCRIPTTag(const nsIParserNode& aNode) NS_RELEASE(urlGroup); } else { +#ifndef NECKO rv = NS_NewURL(&url, src, mDocumentBaseURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull, *baseUri = nsnull; + + rv = mDocumentBaseURL->QueryInterface(nsIURL::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + const char *uriStr = src.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO } if (NS_OK != rv) { return rv; @@ -3044,7 +3086,25 @@ HTMLContentSink::ProcessSTYLETag(const nsIParserNode& aNode) NS_RELEASE(urlGroup); } else { +#ifndef NECKO rv = NS_NewURL(&url, src, mDocumentBaseURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull, *baseUri = nsnull; + + rv = mDocumentBaseURL->QueryInterface(nsIURL::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + const char *uriStr = src.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO } if (NS_OK != rv) { return rv; diff --git a/mozilla/layout/html/document/src/nsHTMLDocument.cpp b/mozilla/layout/html/document/src/nsHTMLDocument.cpp index 1c08d3dd738..ea4e4c5d8e2 100644 --- a/mozilla/layout/html/document/src/nsHTMLDocument.cpp +++ b/mozilla/layout/html/document/src/nsHTMLDocument.cpp @@ -37,6 +37,10 @@ #include "nsIPostToServer.h" #include "nsIStreamListener.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +#endif // NECKO #include "nsIURLGroup.h" #include "nsIContentViewerContainer.h" #include "nsIWebShell.h" @@ -44,7 +48,13 @@ #include "CNavDTD.h" #include "nsIScriptGlobalObject.h" #include "nsContentList.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO + #include "nsIServiceManager.h" #include "nsIFormManager.h" #include "nsIComponentManager.h" @@ -85,14 +95,20 @@ static NS_DEFINE_IID(kIDOMNodeListIID, NS_IDOMNODELIST_IID); static NS_DEFINE_IID(kIHTMLDocumentIID, NS_IHTMLDOCUMENT_IID); static NS_DEFINE_IID(kIDOMHTMLDocumentIID, NS_IDOMHTMLDOCUMENT_IID); static NS_DEFINE_IID(kIDOMNSHTMLDocumentIID, NS_IDOMNSHTMLDOCUMENT_IID); + +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID); static NS_DEFINE_IID(kIHTMLContentContainerIID, NS_IHTMLCONTENTCONTAINER_IID); static NS_DEFINE_IID(kIDOMHTMLElementIID, NS_IDOMHTMLELEMENT_IID); static NS_DEFINE_IID(kIDOMHTMLBodyElementIID, NS_IDOMHTMLBODYELEMENT_IID); - // ================================================================== // = // ================================================================== @@ -561,7 +577,25 @@ nsHTMLDocument:: SetBaseURL(const nsString& aURLSpec) NS_RELEASE(urlGroup); } else { - result = NS_NewURL(&mBaseURL, aURLSpec, mDocumentURL); +#ifndef NECKO + result = NS_NewURL(&mBaseURL, aURLSpec, mDocumentURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull, *baseUri = nsnull; + + result = mDocumentURL->QueryInterface(nsIURL::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return result; + + const char *uriStr = aURLSpec.GetBuffer(); + result = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&mBaseURL); + NS_RELEASE(uri); +#endif // NECKO } } return result; @@ -1165,6 +1199,7 @@ nsHTMLDocument::GetAnchors(nsIDOMHTMLCollection** aAnchors) NS_IMETHODIMP nsHTMLDocument::GetCookie(nsString& aCookie) { +#ifndef NECKO nsINetService *service; nsresult res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, @@ -1177,11 +1212,17 @@ nsHTMLDocument::GetCookie(nsString& aCookie) } return res; +#else + // XXX NECKO we need to use the cookie module for this info instead of + // XXX the IOService + return NS_ERROR_NOT_IMPLEMENTED; +#endif // NECKO } NS_IMETHODIMP nsHTMLDocument::SetCookie(const nsString& aCookie) { +#ifndef NECKO nsINetService *service; nsresult res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, @@ -1194,6 +1235,11 @@ nsHTMLDocument::SetCookie(const nsString& aCookie) } return res; +#else + // XXX NECKO we need to use the cookie module for this info instead of + // XXX the IOService + return NS_ERROR_NOT_IMPLEMENTED; +#endif // NECKO } nsresult @@ -1225,8 +1271,20 @@ nsHTMLDocument::GetSourceDocumentURL(JSContext* cx, nsAutoString url; htmlDocument->GetURL(url); - +#ifndef NECKO result = NS_NewURL(sourceURL, url); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = url.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)sourceURL); + NS_RELEASE(uri); +#endif // NECKO } } } @@ -1298,7 +1356,19 @@ nsHTMLDocument::Open() // XXX For the non-script Open case, we have to make // up a URL. +#ifndef NECKO result = NS_NewURL(&sourceURL, "about:blank"); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + result = service->NewURI("about:blank", nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&sourceURL); + NS_RELEASE(uri); +#endif // NECKO if (NS_SUCCEEDED(result)) { result = OpenCommon(sourceURL); @@ -1319,7 +1389,19 @@ nsHTMLDocument::Open(JSContext *cx, jsval *argv, PRUint32 argc) result = GetSourceDocumentURL(cx, &sourceURL); // Recover if we had a problem obtaining the source URL if (nsnull == sourceURL) { - result = NS_NewURL(&sourceURL, "about:blank"); +#ifndef NECKO + result = NS_NewURL(&sourceURL, "about:blank"); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + result = service->NewURI("about:blank", nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&sourceURL); + NS_RELEASE(uri); +#endif // NECKO } if (NS_SUCCEEDED(result)) { diff --git a/mozilla/layout/html/forms/src/nsFormFrame.cpp b/mozilla/layout/html/forms/src/nsFormFrame.cpp index 2b4e29010cd..8cb0e4e09ee 100644 --- a/mozilla/layout/html/forms/src/nsFormFrame.cpp +++ b/mozilla/layout/html/forms/src/nsFormFrame.cpp @@ -48,6 +48,11 @@ #include "nsIHTMLAttributes.h" #include "nsCRT.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIDocument.h" #include "nsILinkHandler.h" #include "nsRadioControlFrame.h" @@ -97,9 +102,16 @@ static NS_DEFINE_IID(kWalletServiceCID, NS_WALLETSERVICE_CID); #endif #if defined(CookieManagement) + +#ifndef NECKO #include "nsINetService.h" static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +#include "nsIURL.h" +#endif // NECKO + + #endif //---------------------------------------------------------------------- @@ -496,7 +508,24 @@ nsFormFrame::OnSubmit(nsIPresContext* aPresContext, nsIFrame* aFrame) } nsAutoString absURLSpec; nsAutoString base; +#ifndef NECKO NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); +#else + nsresult result; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *baseUri = nsnull; + result = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(result)) return result; + + char *absUrlStr = nsnull; + const char *urlSpec = href.GetBuffer(); + result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(docURL); // Now pass on absolute url to the click handler diff --git a/mozilla/layout/html/style/src/nsCSSLoader.cpp b/mozilla/layout/html/style/src/nsCSSLoader.cpp index 7299c3a31e6..d345614a1b3 100644 --- a/mozilla/layout/html/style/src/nsCSSLoader.cpp +++ b/mozilla/layout/html/style/src/nsCSSLoader.cpp @@ -32,6 +32,12 @@ #include "nsHashtable.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 "nsCRT.h" #include "nsVoidArray.h" @@ -997,7 +1003,25 @@ static nsIURL* CloneURL(nsIURL* aURL) NS_RELEASE(urlGroup); } else { +#ifndef NECKO NS_NewURL(&result, buffer, aURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return nsnull; + + nsIURI *uri = nsnull, *baseUrl = nsnull; + rv = aURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUrl); + if (NS_FAILED(rv)) return nsnull; + + const char *uriStr = buffer.GetBuffer(); + rv = service->NewURI(uriStr, baseUrl, &uri); + NS_RELEASE(baseUrl); + if (NS_FAILED(rv)) return nsnull; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&result); + NS_RELEASE(uri); +#endif // NECKO } } return result; diff --git a/mozilla/layout/html/style/src/nsCSSParser.cpp b/mozilla/layout/html/style/src/nsCSSParser.cpp index acdee875d3a..368b894ca3c 100644 --- a/mozilla/layout/html/style/src/nsCSSParser.cpp +++ b/mozilla/layout/html/style/src/nsCSSParser.cpp @@ -31,6 +31,12 @@ #include "nsICSSDeclaration.h" #include "nsStyleConsts.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 "nsString.h" #include "nsIAtom.h" @@ -834,7 +840,25 @@ PRBool CSSParserImpl::ProcessImport(PRInt32& aErrorCode, const nsString& aURLSpe NS_RELEASE(urlGroup); } else { +#ifndef NECKO aErrorCode = NS_NewURL(&url, aURLSpec, mURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *uri = nsnull, *baseUri = nsnull; + rv = mURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + const char *uriStr = aURLSpec.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO } if (NS_FAILED(aErrorCode)) { @@ -2470,7 +2494,24 @@ PRBool CSSParserImpl::ParseURL(PRInt32& aErrorCode, nsCSSValue& aValue) nsAutoString absURL; if (nsnull != mURL) { nsString baseURL; - nsresult rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); + nsresult rv; +#ifndef NECKO + rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *baseUri = nsnull; + rv = mURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + char *absUrlStr = nsnull; + const char *urlSpec = (tk->mIdent).GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURL = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_FAILED(rv)) { absURL = tk->mIdent; } diff --git a/mozilla/layout/html/style/src/nsCSSStyleSheet.cpp b/mozilla/layout/html/style/src/nsCSSStyleSheet.cpp index 38346f54218..a1ca1263f8e 100644 --- a/mozilla/layout/html/style/src/nsCSSStyleSheet.cpp +++ b/mozilla/layout/html/style/src/nsCSSStyleSheet.cpp @@ -21,6 +21,12 @@ #include "nsCRT.h" #include "nsIAtom.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 "nsISupportsArray.h" #include "nsHashtable.h" #include "nsICSSStyleRule.h" @@ -1468,7 +1474,24 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, } nsAutoString absURLSpec; +#ifndef NECKO NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *baseUri = nsnull; + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + char *absUrlStr = nsnull; + const char *urlSpec = href.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(docURL); linkHandler->GetLinkState(absURLSpec.GetUnicode(), linkState); diff --git a/mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp b/mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp index e823606af8e..36421374efa 100644 --- a/mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp +++ b/mozilla/layout/html/style/src/nsHTMLStyleSheet.cpp @@ -21,6 +21,12 @@ #include "nsCRT.h" #include "nsIAtom.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 "nsISupportsArray.h" #include "nsHashtable.h" #include "nsIHTMLContent.h" @@ -573,7 +579,24 @@ PRInt32 HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, htmlContent->GetBaseURL(docURL); nsAutoString absURLSpec; - nsresult rv = NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); + nsresult rv; +#ifndef NECKO + rv = NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return 0; + + nsIURI *baseUri = nsnull; + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return 0; + + char *absUrlStr = nsnull; + const char *urlSpec = href.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(docURL); nsLinkState state; diff --git a/mozilla/layout/html/tests/TestCSSParser.cpp b/mozilla/layout/html/tests/TestCSSParser.cpp index 55bdd71e82c..0b954485716 100644 --- a/mozilla/layout/html/tests/TestCSSParser.cpp +++ b/mozilla/layout/html/tests/TestCSSParser.cpp @@ -20,13 +20,19 @@ #include "nsICSSStyleSheet.h" #include "nsIStyleRule.h" #include "nsIURL.h" +#ifndef NECKO +#include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#endif // NECKO #include "nsIInputStream.h" #include "nsIUnicharInputStream.h" #include "nsString.h" // XXX begin bad code #include "plevent.h" -#include "nsINetService.h" + #include "nsIComponentManager.h" #include "nsIServiceManager.h" #include "nsIEventQueueService.h" @@ -48,12 +54,16 @@ #endif #endif +#ifndef NECKO static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + static NS_DEFINE_IID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); static NS_DEFINE_IID(kIEventQueueServiceIID, NS_IEVENTQUEUESERVICE_IID); static NS_DEFINE_CID(kCSSParserCID, NS_CSSPARSER_CID); static NS_DEFINE_IID(kICSSParserIID, NS_ICSS_PARSER_IID); - // XXX end bad code static void Usage(void) @@ -64,7 +74,13 @@ static void Usage(void) int main(int argc, char** argv) { nsComponentManager::RegisterComponent(kEventQueueServiceCID, NULL, NULL, XPCOM_DLL, PR_FALSE, PR_FALSE); + +#ifndef NECKO nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO + nsComponentManager::RegisterComponent(kCSSParserCID, NULL, NULL, LAYOUT_DLL, PR_FALSE, PR_FALSE); nsresult rv; @@ -134,7 +150,19 @@ int main(int argc, char** argv) char* urlName = argv[i]; // Create url object nsIURL* url; +#ifndef NECKO rv = NS_NewURL(&url, urlName); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return -1; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlName, nsnull, &uri); + if (NS_FAILED(rv)) return -1; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK != rv) { printf("invalid URL: '%s'\n", urlName); return -1; diff --git a/mozilla/layout/html/tests/TestCSSScanner.cpp b/mozilla/layout/html/tests/TestCSSScanner.cpp index a790a999550..bcf84b5c61f 100644 --- a/mozilla/layout/html/tests/TestCSSScanner.cpp +++ b/mozilla/layout/html/tests/TestCSSScanner.cpp @@ -18,6 +18,12 @@ #include #include "nsCSSScanner.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 "nsIInputStream.h" #include "nsIUnicharInputStream.h" #include "nsString.h" @@ -32,7 +38,20 @@ int main(int argc, char** argv) // Create url object char* urlName = argv[1]; nsIURL* url; - nsresult rv = NS_NewURL(&url, urlName); + nsresult rv; +#ifndef NECKO + rv = NS_NewURL(&url, urlName); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return -1; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlName, nsnull, &uri); + if (NS_FAILED(rv)) return -1; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK != rv) { printf("invalid URL: '%s'\n", urlName); return -1; diff --git a/mozilla/layout/style/nsCSSLoader.cpp b/mozilla/layout/style/nsCSSLoader.cpp index 7299c3a31e6..d345614a1b3 100644 --- a/mozilla/layout/style/nsCSSLoader.cpp +++ b/mozilla/layout/style/nsCSSLoader.cpp @@ -32,6 +32,12 @@ #include "nsHashtable.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 "nsCRT.h" #include "nsVoidArray.h" @@ -997,7 +1003,25 @@ static nsIURL* CloneURL(nsIURL* aURL) NS_RELEASE(urlGroup); } else { +#ifndef NECKO NS_NewURL(&result, buffer, aURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return nsnull; + + nsIURI *uri = nsnull, *baseUrl = nsnull; + rv = aURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUrl); + if (NS_FAILED(rv)) return nsnull; + + const char *uriStr = buffer.GetBuffer(); + rv = service->NewURI(uriStr, baseUrl, &uri); + NS_RELEASE(baseUrl); + if (NS_FAILED(rv)) return nsnull; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&result); + NS_RELEASE(uri); +#endif // NECKO } } return result; diff --git a/mozilla/layout/style/nsCSSParser.cpp b/mozilla/layout/style/nsCSSParser.cpp index acdee875d3a..368b894ca3c 100644 --- a/mozilla/layout/style/nsCSSParser.cpp +++ b/mozilla/layout/style/nsCSSParser.cpp @@ -31,6 +31,12 @@ #include "nsICSSDeclaration.h" #include "nsStyleConsts.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 "nsString.h" #include "nsIAtom.h" @@ -834,7 +840,25 @@ PRBool CSSParserImpl::ProcessImport(PRInt32& aErrorCode, const nsString& aURLSpe NS_RELEASE(urlGroup); } else { +#ifndef NECKO aErrorCode = NS_NewURL(&url, aURLSpec, mURL); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *uri = nsnull, *baseUri = nsnull; + rv = mURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + const char *uriStr = aURLSpec.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO } if (NS_FAILED(aErrorCode)) { @@ -2470,7 +2494,24 @@ PRBool CSSParserImpl::ParseURL(PRInt32& aErrorCode, nsCSSValue& aValue) nsAutoString absURL; if (nsnull != mURL) { nsString baseURL; - nsresult rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); + nsresult rv; +#ifndef NECKO + rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *baseUri = nsnull; + rv = mURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + char *absUrlStr = nsnull; + const char *urlSpec = (tk->mIdent).GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURL = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_FAILED(rv)) { absURL = tk->mIdent; } diff --git a/mozilla/layout/style/nsCSSStyleSheet.cpp b/mozilla/layout/style/nsCSSStyleSheet.cpp index 38346f54218..a1ca1263f8e 100644 --- a/mozilla/layout/style/nsCSSStyleSheet.cpp +++ b/mozilla/layout/style/nsCSSStyleSheet.cpp @@ -21,6 +21,12 @@ #include "nsCRT.h" #include "nsIAtom.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 "nsISupportsArray.h" #include "nsHashtable.h" #include "nsICSSStyleRule.h" @@ -1468,7 +1474,24 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, } nsAutoString absURLSpec; +#ifndef NECKO NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return PR_FALSE; + + nsIURI *baseUri = nsnull; + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return PR_FALSE; + + char *absUrlStr = nsnull; + const char *urlSpec = href.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(docURL); linkHandler->GetLinkState(absURLSpec.GetUnicode(), linkState); diff --git a/mozilla/layout/style/nsHTMLStyleSheet.cpp b/mozilla/layout/style/nsHTMLStyleSheet.cpp index e823606af8e..36421374efa 100644 --- a/mozilla/layout/style/nsHTMLStyleSheet.cpp +++ b/mozilla/layout/style/nsHTMLStyleSheet.cpp @@ -21,6 +21,12 @@ #include "nsCRT.h" #include "nsIAtom.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 "nsISupportsArray.h" #include "nsHashtable.h" #include "nsIHTMLContent.h" @@ -573,7 +579,24 @@ PRInt32 HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, htmlContent->GetBaseURL(docURL); nsAutoString absURLSpec; - nsresult rv = NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); + nsresult rv; +#ifndef NECKO + rv = NS_MakeAbsoluteURL(docURL, base, href, absURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return 0; + + nsIURI *baseUri = nsnull; + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return 0; + + char *absUrlStr = nsnull; + const char *urlSpec = href.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO NS_IF_RELEASE(docURL); nsLinkState state; diff --git a/mozilla/layout/xml/document/src/nsXMLContentSink.cpp b/mozilla/layout/xml/document/src/nsXMLContentSink.cpp index a43db67e389..291f86e0e9d 100644 --- a/mozilla/layout/xml/document/src/nsXMLContentSink.cpp +++ b/mozilla/layout/xml/document/src/nsXMLContentSink.cpp @@ -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) { diff --git a/mozilla/makefile.win b/mozilla/makefile.win index b247d77c0a7..4eab44f14d7 100644 --- a/mozilla/makefile.win +++ b/mozilla/makefile.win @@ -59,7 +59,12 @@ DIRS = \ caps \ lib\xp \ lib\libpwcac \ +!if !defined(NECKO) network \ +!endif +!if defined(NECKO) + netwerk \ +!endif profile \ !endif !if defined(LAYOUT_DIRS) @@ -81,7 +86,7 @@ DIRS = \ xpfe \ xpinstall \ extensions \ -!ifndef DISABLE_MAILNEWS +!if !defined(DISABLE_MAILNEWS) && !defined(NECKO) mailnews \ !endif !endif diff --git a/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp b/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp index eccf09d90a0..e90bdb676aa 100644 --- a/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp +++ b/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp @@ -25,10 +25,17 @@ #include "nsIPluginStreamListener.h" #include "nsIStreamListener.h" -#include "nsIURL.h" #include "nsIInputStream.h" #include "nsIOutputStream.h" +#include "nsIURL.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#endif // NECKO + #include "nsIServiceManager.h" #include "nsICookieStorage.h" #include "nsINetService.h" @@ -66,8 +73,14 @@ static NS_DEFINE_CID(kPluginCID, NS_PLUGIN_CID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID); static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); + +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + static NS_DEFINE_IID(kIFileUtilitiesIID, NS_IFILEUTILITIES_IID); static NS_DEFINE_IID(kIOutputStreamIID, NS_IOUTPUTSTREAM_IID); @@ -1115,9 +1128,14 @@ nsresult nsPluginHostImpl::UserAgent(const char **retstring) nsString ua; nsINetService *service = nsnull; +#ifndef NECKO res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); +#endif // NECKO + if ((NS_OK == res) && (nsnull != service)) { res = service->GetUserAgent(ua); @@ -1423,8 +1441,21 @@ NS_IMETHODIMP nsPluginHostImpl::InstantiateFullPagePlugin(const char *aMimeType, //create a URL so that the instantiator can do file ext. //based plugin lookups... - +#ifndef NECKO rv = NS_NewURL(&url, aURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aURLSpec.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 if (rv != NS_OK) url = nsnull; @@ -1965,7 +1996,21 @@ NS_IMETHODIMP nsPluginHostImpl::NewPluginURLStream(const nsString& aURL, if (aURL.Length() <= 0) return NS_OK; +#ifndef NECKO rv = NS_NewURL(&url, aURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aURL.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 if (NS_OK == rv) { @@ -2101,6 +2146,7 @@ NS_IMETHODIMP nsPluginHostImpl::NewTempFileName(const char* prefix, PRUint32 buf NS_IMETHODIMP nsPluginHostImpl::GetCookie(const char* inCookieURL, void* inOutCookieBuffer, PRUint32& inOutCookieSize) { +#ifndef NECKO nsresult rv = NS_OK; nsINetService* netService = NULL; const nsCID kNetServiceCID = NS_NETSERVICE_CID; @@ -2120,10 +2166,15 @@ NS_IMETHODIMP nsPluginHostImpl::GetCookie(const char* inCookieURL, void* inOutCo mServiceMgr->ReleaseService(kNetServiceCID, netService); } return rv; +#else + // XXX NECKO cookie module needs to be used for this info. + return NS_ERROR_NOT_IMPLEMENTED; +#endif // NECKO } NS_IMETHODIMP nsPluginHostImpl::SetCookie(const char* inCookieURL, const void* inCookieBuffer, PRUint32 inCookieSize) { +#ifndef NECKO nsresult rv = NS_OK; nsINetService* netService = NULL; const nsCID kNetServiceCID = NS_NETSERVICE_CID; @@ -2140,4 +2191,8 @@ NS_IMETHODIMP nsPluginHostImpl::SetCookie(const char* inCookieURL, const void* i mServiceMgr->ReleaseService(kNetServiceCID, netService); } return rv; +#else + // XXX NECKO cookie module needs to be used for this info. + return NS_ERROR_NOT_IMPLEMENTED; +#endif // NECKO } diff --git a/mozilla/modules/plugin/base/src/nsPluginViewer.cpp b/mozilla/modules/plugin/base/src/nsPluginViewer.cpp index 6f4d079fa4f..da4eac4d7fa 100644 --- a/mozilla/modules/plugin/base/src/nsPluginViewer.cpp +++ b/mozilla/modules/plugin/base/src/nsPluginViewer.cpp @@ -24,6 +24,12 @@ #include "nsIPluginInstance.h" #include "nsIStreamListener.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 "nsIComponentManager.h" #include "nsWidgetsCID.h" #include "nsILinkHandler.h" @@ -706,7 +712,25 @@ NS_IMETHODIMP pluginInstanceOwner :: GetURL(const char *aURL, const char *aTarge nsAutoString fullurl; // Create an absolute URL +#ifndef NECKO rv = NS_MakeAbsoluteURL(url, base, uniurl, fullurl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + const char *uriStr = uniurl.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrl = nsnull; + const char *urlSpec = base.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrl); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return rv; + fullurl = absUrl; + delete [] absUrl; +#endif // NECKO if (NS_OK == rv) rv = lh->OnLinkClick(nsnull, eLinkVerb_Replace, fullurl.GetUnicode(), unitarget.GetUnicode(), nsnull); diff --git a/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp b/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp index eccf09d90a0..e90bdb676aa 100644 --- a/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp +++ b/mozilla/modules/plugin/nglsrc/nsPluginHostImpl.cpp @@ -25,10 +25,17 @@ #include "nsIPluginStreamListener.h" #include "nsIStreamListener.h" -#include "nsIURL.h" #include "nsIInputStream.h" #include "nsIOutputStream.h" +#include "nsIURL.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#endif // NECKO + #include "nsIServiceManager.h" #include "nsICookieStorage.h" #include "nsINetService.h" @@ -66,8 +73,14 @@ static NS_DEFINE_CID(kPluginCID, NS_PLUGIN_CID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID); static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); + +#ifndef NECKO static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + static NS_DEFINE_IID(kIFileUtilitiesIID, NS_IFILEUTILITIES_IID); static NS_DEFINE_IID(kIOutputStreamIID, NS_IOUTPUTSTREAM_IID); @@ -1115,9 +1128,14 @@ nsresult nsPluginHostImpl::UserAgent(const char **retstring) nsString ua; nsINetService *service = nsnull; +#ifndef NECKO res = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&service); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); +#endif // NECKO + if ((NS_OK == res) && (nsnull != service)) { res = service->GetUserAgent(ua); @@ -1423,8 +1441,21 @@ NS_IMETHODIMP nsPluginHostImpl::InstantiateFullPagePlugin(const char *aMimeType, //create a URL so that the instantiator can do file ext. //based plugin lookups... - +#ifndef NECKO rv = NS_NewURL(&url, aURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aURLSpec.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 if (rv != NS_OK) url = nsnull; @@ -1965,7 +1996,21 @@ NS_IMETHODIMP nsPluginHostImpl::NewPluginURLStream(const nsString& aURL, if (aURL.Length() <= 0) return NS_OK; +#ifndef NECKO rv = NS_NewURL(&url, aURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aURL.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 if (NS_OK == rv) { @@ -2101,6 +2146,7 @@ NS_IMETHODIMP nsPluginHostImpl::NewTempFileName(const char* prefix, PRUint32 buf NS_IMETHODIMP nsPluginHostImpl::GetCookie(const char* inCookieURL, void* inOutCookieBuffer, PRUint32& inOutCookieSize) { +#ifndef NECKO nsresult rv = NS_OK; nsINetService* netService = NULL; const nsCID kNetServiceCID = NS_NETSERVICE_CID; @@ -2120,10 +2166,15 @@ NS_IMETHODIMP nsPluginHostImpl::GetCookie(const char* inCookieURL, void* inOutCo mServiceMgr->ReleaseService(kNetServiceCID, netService); } return rv; +#else + // XXX NECKO cookie module needs to be used for this info. + return NS_ERROR_NOT_IMPLEMENTED; +#endif // NECKO } NS_IMETHODIMP nsPluginHostImpl::SetCookie(const char* inCookieURL, const void* inCookieBuffer, PRUint32 inCookieSize) { +#ifndef NECKO nsresult rv = NS_OK; nsINetService* netService = NULL; const nsCID kNetServiceCID = NS_NETSERVICE_CID; @@ -2140,4 +2191,8 @@ NS_IMETHODIMP nsPluginHostImpl::SetCookie(const char* inCookieURL, const void* i mServiceMgr->ReleaseService(kNetServiceCID, netService); } return rv; +#else + // XXX NECKO cookie module needs to be used for this info. + return NS_ERROR_NOT_IMPLEMENTED; +#endif // NECKO } diff --git a/mozilla/modules/plugin/nglsrc/nsPluginViewer.cpp b/mozilla/modules/plugin/nglsrc/nsPluginViewer.cpp index 6f4d079fa4f..da4eac4d7fa 100644 --- a/mozilla/modules/plugin/nglsrc/nsPluginViewer.cpp +++ b/mozilla/modules/plugin/nglsrc/nsPluginViewer.cpp @@ -24,6 +24,12 @@ #include "nsIPluginInstance.h" #include "nsIStreamListener.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 "nsIComponentManager.h" #include "nsWidgetsCID.h" #include "nsILinkHandler.h" @@ -706,7 +712,25 @@ NS_IMETHODIMP pluginInstanceOwner :: GetURL(const char *aURL, const char *aTarge nsAutoString fullurl; // Create an absolute URL +#ifndef NECKO rv = NS_MakeAbsoluteURL(url, base, uniurl, fullurl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + const char *uriStr = uniurl.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrl = nsnull; + const char *urlSpec = base.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrl); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return rv; + fullurl = absUrl; + delete [] absUrl; +#endif // NECKO if (NS_OK == rv) rv = lh->OnLinkClick(nsnull, eLinkVerb_Replace, fullurl.GetUnicode(), unitarget.GetUnicode(), nsnull); diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp b/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp index 59ac4d6eff3..bc7a62e4ea9 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp +++ b/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp @@ -32,6 +32,12 @@ #include "nsIServiceManager.h" #include "nsINetModuleMgr.h" #include "nsIEventQueueService.h" +static NS_DEFINE_IID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); + +#if 0 +#include "nsCookieModTest.h" +#endif //0 + nsHTTPChannel::nsHTTPChannel(nsIURI* i_URL, @@ -296,6 +302,9 @@ static NS_DEFINE_IID(kProxyObjectManagerIID, NS_IPROXYEVENT_MANAGER_IID); static NS_DEFINE_CID(kEventQueueService, NS_EVENTQUEUESERVICE_CID); static NS_DEFINE_CID(kNetModuleMgrCID, NS_NETMODULEMGR_CID); +#if 0 +static NS_DEFINE_CID(kCookieTestCID, NS_COOKIEMODTEST_CID); +#endif //////////////////////////////////////////////////////////////////////////////// // nsHTTPChannel methods: @@ -330,6 +339,26 @@ nsHTTPChannel::Open(void) NS_WITH_SERVICE(nsINetModuleMgr, pNetModuleMgr, kNetModuleMgrCID, &rv); if (NS_FAILED(rv)) return rv; +#if 0 + nsCookieModTest *cookieTest = new nsCookieModTest(); + nsIHTTPNotify *cookieNot = nsnull; + rv = cookieTest->QueryInterface(nsIHTTPNotify::GetIID(), (void**)&cookieNot); + if (NS_FAILED(rv)) return rv; + + nsIEventQueue* eventQa; + NS_WITH_SERVICE(nsIEventQueueService, eventQServicea, kEventQueueServiceCID, &rv); + if (NS_SUCCEEDED(rv)) { + rv = eventQServicea->CreateThreadEventQueue(); + if (NS_FAILED(rv)) return rv; + + rv = eventQServicea->GetThreadEventQueue(PR_CurrentThread(), &eventQa); + } + if (NS_FAILED(rv)) return rv; + + rv = pNetModuleMgr->RegisterModule("http-request", eventQa, cookieNot, &kCookieTestCID); + if (NS_FAILED(rv)) return rv; +#endif //0 + nsISimpleEnumerator* pModules = nsnull; rv = pNetModuleMgr->EnumerateModules("http-request", &pModules); if (NS_FAILED(rv)) return rv; diff --git a/mozilla/netwerk/test/nettest.cpp b/mozilla/netwerk/test/nettest.cpp index e499fb028f8..f277d8c9c16 100644 --- a/mozilla/netwerk/test/nettest.cpp +++ b/mozilla/netwerk/test/nettest.cpp @@ -230,7 +230,20 @@ int main(int argc, char **argv) // Create the URL object... pURL = NULL; #if 1 +#ifndef NECKO result = NS_NewURL(&pURL, argv[i], nsnull); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + = service->NewURI(argv[i], nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&pURL); + NS_RELEASE(uri); + if (NS_FAILED(result)) return result; +#endif // NECKO if (NS_OK != result) { if (bTraceEnabled) { printf("NS_NewURL() failed...\n"); diff --git a/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp b/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp index b9a14930676..ac2d4b647ee 100644 --- a/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp +++ b/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp @@ -22,6 +22,12 @@ #include "nsVoidArray.h" #include "nsString.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIServiceManager.h" +#include "nsIURI.h" +#include "nsIIOService.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIStreamListener.h" #include "nsIDTDDebug.h" #include "nsIComponentManager.h" @@ -192,7 +198,21 @@ extern "C" NS_EXPORT int DebugRobot( // Create url nsIURL* url; - nsresult rv = NS_NewURL(&url, *urlName); + nsresult rv; +#ifndef NECKO + rv = NS_NewURL(&url, *urlName); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = urlName->GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK != rv) { printf("invalid URL: '"); fputs(*urlName, stdout); diff --git a/mozilla/parser/htmlparser/robot/nsRobotSink.cpp b/mozilla/parser/htmlparser/robot/nsRobotSink.cpp index a8f7e9ca62d..c615d4767f5 100644 --- a/mozilla/parser/htmlparser/robot/nsRobotSink.cpp +++ b/mozilla/parser/htmlparser/robot/nsRobotSink.cpp @@ -21,6 +21,12 @@ #include "nsIParser.h" #include "nsString.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIURI.h" +#include "nsIServiceManager.h" +#include "nsIIOService.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsCRT.h" #include "nsVoidArray.h" class nsIDocument; @@ -316,7 +322,27 @@ void RobotSink::ProcessLink(const nsString& aLink) nsIURL* docURL = mDocumentURL; if (nsnull != docURL) { nsIURL* absurl; - nsresult rv = NS_NewURL(&absurl, aLink, docURL); + nsresult rv; +#ifndef NECKO + rv = NS_NewURL(&absurl, aLink, docURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *uri = nsnull, *baseUri = nsnull; + + rv = mDocumentURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return; + + const char *uriStr = aLink.GetBuffer(); + rv = service->NewURI(uriStr, baseUri, &uri); + NS_RELEASE(baseUri); + if (NS_FAILED(rv)) return; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&absurl); + NS_RELEASE(uri); +#endif // NECKO + if (NS_OK == rv) { absURLSpec.Truncate(); PRUnichar* str; diff --git a/mozilla/parser/htmlparser/tests/grabpage/grabpage.cpp b/mozilla/parser/htmlparser/tests/grabpage/grabpage.cpp index a0fbc96d8c7..12a174a214b 100644 --- a/mozilla/parser/htmlparser/tests/grabpage/grabpage.cpp +++ b/mozilla/parser/htmlparser/tests/grabpage/grabpage.cpp @@ -19,7 +19,17 @@ #include "nsIStreamListener.h" #include "nsIInputStream.h" #include "nsIURL.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIChannel.h" +#include "nsIEventQueueService.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +static NS_DEFINE_CID(kEventQueueServiceCID, NS_IEVENTQUEUESERVICE_CID); +#endif // NECKO + #include "nsString.h" #include "nsCRT.h" #include "prprf.h" @@ -198,6 +208,10 @@ PageGrabber::NextFile(const char* aExtension) return cname; } +#ifdef NECKO +static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); +#endif // NECKO + nsresult PageGrabber::Grab(const nsString& aURL) { @@ -215,15 +229,44 @@ PageGrabber::Grab(const nsString& aURL) // Create the URL object... nsIURL* url = NULL; - nsresult rv = NS_NewURL(&url, aURL); + nsresult rv; + +#ifndef NECKO + rv = NS_NewURL(&url, aURL); if (NS_OK != rv) { return rv; } - +#else + rv = NS_WITH_SERVICE(nsIIOService, ioService, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIChannel *channel = nsnull; + // XXX NECKO what verb? what eventSinkGetter? + rv = ioService->NewChannel("load", aURL, nsnull, nsnull, &channel); + if (NS_FAILED(rv)) return rv; +#endif // NECKO + // Start the URL load... StreamToFile* copier = new StreamToFile(fp); NS_ADDREF(copier); + +#ifndef NECKO rv = url->Open(copier); +#else + nsIEventQueue *eventQ = nsnull; + NS_WITH_SERVICE(nsIEventQueueService, eqService, kEventQueueServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + rv = eqService->CreateThreadEventQueue(); + if (NS_FAILED(rv)) return rv; + + rv = eqService->GetThreadEventQueue(PR_CurrentThread(), &eventQ); + if (NS_FAILED(rv)) return rv; + + rv = channel->AsyncRead(0, -1, nsnull, eventQ, copier); + NS_RELEASE(eventQ); +#endif // NECKO + if (NS_OK != rv) { NS_RELEASE(copier); NS_RELEASE(url); diff --git a/mozilla/profile/pref-migrator/src/nsPrefMigrationProgressDialog.cpp b/mozilla/profile/pref-migrator/src/nsPrefMigrationProgressDialog.cpp index f9eb98e9ee3..d8613787b3d 100644 --- a/mozilla/profile/pref-migrator/src/nsPrefMigrationProgressDialog.cpp +++ b/mozilla/profile/pref-migrator/src/nsPrefMigrationProgressDialog.cpp @@ -34,14 +34,25 @@ #include "nsINameSpaceManager.h" #include "nsIContentViewer.h" #include "nsIDOMElement.h" + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#endif // NECKO #include "nsIWebShell.h" #include "nsIWebShellWindow.h" static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID( kAppShellServiceCID, NS_APPSHELL_SERVICE_CID ); + +#ifndef NECKO static NS_DEFINE_IID( kNetServiceCID, NS_NETSERVICE_CID ); +#else +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO // Utility to set element attribute. static nsresult setAttribute( nsIDOMXULDocument *doc, @@ -165,7 +176,28 @@ nsPrefMigrationProgressDialog::CreateProfileProgressDialog() { // Open "progress" dialog. nsIURL *url; - rv = NS_NewURL( &url, "resource:/res/profile/progress_undetermined.xul" ); + char *urlString = "resource:/res/profile/progress_undetermined.xul"; + +#ifndef NECKO + rv = NS_NewURL( &url, urlString ); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) { + DEBUG_PRINTF(PR_STDOUT, "cannot get io service\n"); + return NS_OK; + } + + nsIURI *uri = nsnull; + const char *uriStr = urlString.GetBuffer(); + rv = service->NewURI(urlString, nsnull, &uri); + if (NS_FAILED(rv)) { + DEBUG_PRINTF(PR_STDOUT, "cannot get uri\n"); + return NS_OK; + } + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if ( NS_SUCCEEDED(rv) ) { diff --git a/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp b/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp index 260a8e679d0..adf946b736a 100644 --- a/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp +++ b/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp @@ -69,6 +69,11 @@ #include "nsIServiceManager.h" #include "nsIStreamListener.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsLayoutCID.h" // for NS_NAMESPACEMANAGER_CID. #include "nsParserCIID.h" #include "nsRDFCID.h" @@ -567,7 +572,19 @@ static const char kResourceURIPrefix[] = "resource:"; nsresult rv; +#ifndef NECKO rv = NS_NewURL(getter_AddRefs(mURL), uri); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uriPtr = nsnull; + rv = service->NewURI(uri, nsnull, &uriPtr); + if (NS_FAILED(rv)) return rv; + + rv = uriPtr->QueryInterface(nsIURL::GetIID(), (void**)&mURL); + NS_RELEASE(uriPtr); +#endif // NECKO if (NS_FAILED(rv)) return rv; // XXX this is a hack: any "file:" URI is considered writable. All diff --git a/mozilla/rdf/base/src/rdfutil.cpp b/mozilla/rdf/base/src/rdfutil.cpp index c2bcffaeba3..b1f7f1f6369 100644 --- a/mozilla/rdf/base/src/rdfutil.cpp +++ b/mozilla/rdf/base/src/rdfutil.cpp @@ -39,6 +39,11 @@ #include "nsIRDFService.h" #include "nsIServiceManager.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsRDFCID.h" #include "nsString.h" #include "nsXPIDLString.h" @@ -225,7 +230,25 @@ rdf_MakeAbsoluteURI(const nsString& aBaseURI, nsString& aURI) nsresult rv; nsAutoString result; +#ifndef NECKO rv = NS_MakeAbsoluteURL(nsnull, aBaseURI, aURI, result); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + + const char *uriStr = aBaseURI.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrlStr = nsnull; + const char *urlSpec = aURI.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + result = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_SUCCEEDED(rv)) { aURI = result; } @@ -245,7 +268,23 @@ rdf_MakeAbsoluteURI(nsIURL* aURL, nsString& aURI) nsresult rv; nsAutoString result; +#ifndef NECKO rv = NS_MakeAbsoluteURL(aURL, nsAutoString(""), aURI, result); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *baseUri = nsnull; + rv = aURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + if (NS_FAILED(rv)) return rv; + + char *absUrlStr = nsnull; + const char *urlSpec = aURI.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + result = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_SUCCEEDED(rv)) { aURI = result; } diff --git a/mozilla/rdf/brprof/server/nsBrowsingProfileReader.cpp b/mozilla/rdf/brprof/server/nsBrowsingProfileReader.cpp index 1dc5cf1d4ae..c1254abea27 100644 --- a/mozilla/rdf/brprof/server/nsBrowsingProfileReader.cpp +++ b/mozilla/rdf/brprof/server/nsBrowsingProfileReader.cpp @@ -391,7 +391,13 @@ nsBrowsingProfileReader::GetCategory(PRInt32 aCategoryID, nsXPIDLCString& aCateg //////////////////////////////////////////////////////////////////////// //#include "nsDOMCID.h" // for NS_SCRIPT_NAMESET_REGISTRY_CID + +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO + #include "nsLayoutCID.h" // for NS_NAMESPACEMANAGER_CID #include "nsParserCIID.h" @@ -422,9 +428,14 @@ static nsresult SetupRegistry() { // netlib +#ifndef NECKO static NS_DEFINE_CID(kNetServiceCID, NS_NETSERVICE_CID); nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO // parser static NS_DEFINE_CID(kParserCID, NS_PARSER_IID); diff --git a/mozilla/rdf/content/src/nsXULDocument.cpp b/mozilla/rdf/content/src/nsXULDocument.cpp index 6e0aef7001d..7d6322f2407 100644 --- a/mozilla/rdf/content/src/nsXULDocument.cpp +++ b/mozilla/rdf/content/src/nsXULDocument.cpp @@ -83,6 +83,11 @@ #include "nsISupportsArray.h" #include "nsITextContent.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIURLGroup.h" #include "nsIWebShell.h" #include "nsIXMLContent.h" @@ -1060,7 +1065,22 @@ XULDocumentImpl::PrepareToLoad( nsCOMPtr* created_parser, { nsString seedString; generate_RDF_seed(&seedString, 0); +#ifndef NECKO NS_NewURL(getter_AddRefs(syntheticURL), seedString); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = seedString.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&syntheticURL); + NS_RELEASE(uri); + if (NS_FAILED(rv)) return rv; +#endif // NECKO } #if 0 diff --git a/mozilla/rdf/datasource/src/nsFTPDataSource.cpp b/mozilla/rdf/datasource/src/nsFTPDataSource.cpp index 2abb70ce4a9..1a573c6f2ce 100644 --- a/mozilla/rdf/datasource/src/nsFTPDataSource.cpp +++ b/mozilla/rdf/datasource/src/nsFTPDataSource.cpp @@ -43,6 +43,13 @@ #include "rdf.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIEventQueueService.h" +#include "nsIIOService.h" +#include "nsIChannel.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); +#endif // NECKO #include "nsIInputStream.h" #include "nsIStreamListener.h" #include "nsIRDFFTP.h" @@ -53,10 +60,6 @@ static NS_DEFINE_CID(kRDFServiceCID, NS_RDFSERVICE_CID); static NS_DEFINE_CID(kRDFInMemoryDataSourceCID, NS_RDFINMEMORYDATASOURCE_CID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); - - - - class FTPDataSourceCallback : public nsIStreamListener { private: @@ -703,8 +706,10 @@ FTPDataSource::GetFTPListing(nsIRDFResource *source, nsISimpleEnumerator** aResu nsXPIDLCString ftpURL; source->GetValue( getter_Copies(ftpURL) ); - nsIURL *url; - if (NS_SUCCEEDED(rv = NS_NewURL(&url, (const char*) ftpURL))) +#ifndef NECKO + nsIURL *url; + rv = NS_NewURL(&url, (const char*) ftpURL); + if (NS_SUCCEEDED(rv)) { FTPDataSourceCallback *callback = new FTPDataSourceCallback(mInner, source); if (nsnull != callback) @@ -712,6 +717,44 @@ FTPDataSource::GetFTPListing(nsIRDFResource *source, nsISimpleEnumerator** aResu rv = NS_OpenURL(url, NS_STATIC_CAST(nsIStreamListener *, callback)); } } +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIChannel *channel = nsnull; + rv = service->NewChannel("load", (const char*) ftpURL, nsnull, nsnull, &channel); + if (NS_FAILED(rv)) return rv; + + FTPDataSourceCallback *callback = new FTPDataSourceCallback(mInner, source); + if (!callback) return NS_ERROR_OUT_OF_MEMORY; + + nsIStreamListener *listener = nsnull; + rv = callback->QueryInterface(nsIStreamListener::GetIID(), (void**)&listener); + if (NS_FAILED(rv)) { + NS_RELEASE(channel); + delete callback; + return rv; + } + + NS_WITH_SERVICE(nsIEventQueueService, eventQService, kEventQueueServiceCID, &rv); + if (NS_FAILED(rv)) { + NS_RELEASE(channel); + delete callback; + return rv; + } + + nsIEventQueue *eventQ = nsnull; + rv = eventQService->GetThreadEventQueue(PR_CurrentThread(), &eventQ); + if (NS_FAILED(rv)) { + NS_RELEASE(channel); + delete callback; + return rv; + } + + rv = channel->AsyncRead(0, -1, nsnull, eventQ, callback); + NS_RELEASE(channel); + NS_RELEASE(eventQ); +#endif // NECKO } return NS_NewEmptyEnumerator(aResult); } diff --git a/mozilla/rdf/datasource/src/nsSearchDataSource.cpp b/mozilla/rdf/datasource/src/nsSearchDataSource.cpp index d87308149cb..06225d849dc 100755 --- a/mozilla/rdf/datasource/src/nsSearchDataSource.cpp +++ b/mozilla/rdf/datasource/src/nsSearchDataSource.cpp @@ -51,6 +51,11 @@ #include "nsIPostToServer.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIBuffer.h" #include "nsIInputStream.h" #include "nsIBufferInputStream.h" @@ -949,8 +954,21 @@ SearchDataSource::DoSearch(nsIRDFResource *source, nsIRDFResource *engine, nsStr char *searchURL = action.ToNewCString(); if (searchURL) { - nsIURL *url; - if (NS_SUCCEEDED(rv = NS_NewURL(&url, (const char*) searchURL))) + nsIURL *url = nsnull; +#ifndef NECKO + rv = NS_NewURL(&url, (const char*) searchURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI((const char*) searchURL, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO + if (NS_SUCCEEDED(rv)) { if (method.EqualsIgnoreCase("post")) { diff --git a/mozilla/rdf/datasource/src/nsXULContentSink.cpp b/mozilla/rdf/datasource/src/nsXULContentSink.cpp index 543d6066e12..3d35bfc74f7 100644 --- a/mozilla/rdf/datasource/src/nsXULContentSink.cpp +++ b/mozilla/rdf/datasource/src/nsXULContentSink.cpp @@ -59,6 +59,11 @@ #include "nsIServiceManager.h" #include "nsIUnicharStreamLoader.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIURLGroup.h" #include "nsIViewManager.h" #include "nsIXULContentSink.h" @@ -746,7 +751,24 @@ XULContentSinkImpl::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); +#endif // NECKO } if (NS_OK != result) { return NS_OK; // The URL is bad, move along, don't propogate the error (for now) @@ -1425,7 +1447,20 @@ XULContentSinkImpl::OpenScript(const nsIParserNode& aNode) NS_RELEASE(urlGroup); } else { +#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); +#endif // NECKO } if (NS_OK != rv) { return rv; diff --git a/mozilla/rdf/datasource/src/nsXULDataSource.cpp b/mozilla/rdf/datasource/src/nsXULDataSource.cpp index 597a79f5a62..ca2ba060b8c 100644 --- a/mozilla/rdf/datasource/src/nsXULDataSource.cpp +++ b/mozilla/rdf/datasource/src/nsXULDataSource.cpp @@ -43,6 +43,11 @@ #include "nsIServiceManager.h" #include "nsIStreamListener.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsLayoutCID.h" // for NS_NAMESPACEMANAGER_CID. #include "nsParserCIID.h" #include "nsRDFCID.h" @@ -356,7 +361,20 @@ static const char kResourceURIPrefix[] = "resource:"; nsIURL* url = nsnull; nsAutoString utf8("UTF-8"); - if (NS_FAILED(rv = NS_NewURL(&url, uri))) +#ifndef NECKO + rv = NS_NewURL(&url, uri); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uriPtr = nsnull; + rv = service->NewURI(uri, nsnull, &uriPtr); + if (NS_FAILED(rv)) return rv; + + rv = uriPtr->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uriPtr); +#endif // NECKO + if (NS_FAILED(rv)) goto done; if (NS_FAILED(rv = mInner->Init(uri))) diff --git a/mozilla/rdf/tests/localfile/localfile.cpp b/mozilla/rdf/tests/localfile/localfile.cpp index fee8ce75068..9148635a047 100644 --- a/mozilla/rdf/tests/localfile/localfile.cpp +++ b/mozilla/rdf/tests/localfile/localfile.cpp @@ -39,8 +39,11 @@ #include "nsIContent.h" #include "nsIEventQueueService.h" #include "nsIInputStream.h" +#ifndef NECKO #include "nsINetService.h" -#include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO #include "nsIOutputStream.h" #include "nsIPostToServer.h" #include "nsIRDFXMLDataSource.h" @@ -87,7 +90,11 @@ // CIDs // netlib +#ifndef NECKO static NS_DEFINE_CID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO // rdf static NS_DEFINE_CID(kRDFBookMarkDataSourceCID, NS_RDFBOOKMARKDATASOURCE_CID); @@ -124,7 +131,11 @@ static nsresult SetupRegistry(void) { // netlib +#ifndef NECKO nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO // parser nsComponentManager::RegisterComponent(kParserCID, NULL, NULL, PARSER_DLL, PR_FALSE, PR_FALSE); diff --git a/mozilla/rdf/tests/rdfcat/rdfcat.cpp b/mozilla/rdf/tests/rdfcat/rdfcat.cpp index 959b19970dc..c3903880d15 100644 --- a/mozilla/rdf/tests/rdfcat/rdfcat.cpp +++ b/mozilla/rdf/tests/rdfcat/rdfcat.cpp @@ -29,8 +29,11 @@ #include "nsCOMPtr.h" #include "nsIEventQueueService.h" #include "nsIInputStream.h" +#ifndef NECKO #include "nsINetService.h" -#include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO #include "nsIOutputStream.h" #include "nsIGenericFactory.h" #include "nsIPostToServer.h" @@ -103,9 +106,13 @@ static nsresult SetupRegistry(void) { // netlib +#ifndef NECKO static NS_DEFINE_CID(kNetServiceCID, NS_NETSERVICE_CID); - nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO // parser static NS_DEFINE_CID(kParserCID, NS_PARSER_IID); @@ -185,7 +192,10 @@ main(int argc, char** argv) NS_ASSERTION(NS_SUCCEEDED(rv), "unable to create thread event queue"); if (NS_FAILED(rv)) return rv; +#ifndef NECKO rv = NS_InitINetService(); +#endif // NECKO + NS_ASSERTION(NS_SUCCEEDED(rv), "unable to initialize netlib"); if (NS_FAILED(rv)) return rv; diff --git a/mozilla/rdf/tests/rdfpoll/rdfpoll.cpp b/mozilla/rdf/tests/rdfpoll/rdfpoll.cpp index 83283bc3195..57bca839d0f 100644 --- a/mozilla/rdf/tests/rdfpoll/rdfpoll.cpp +++ b/mozilla/rdf/tests/rdfpoll/rdfpoll.cpp @@ -31,8 +31,12 @@ #include "nsCOMPtr.h" #include "nsIEventQueueService.h" #include "nsIInputStream.h" +#ifndef NECKO #include "nsINetService.h" -#include "nsINetService.h" +NS_DEFINE_IID(kIOutputStreamIID, NS_IOUTPUTSTREAM_IID); +#else +#include "nsIIOService.h" +#endif // NECKO #include "nsIGenericFactory.h" #include "nsIRDFCompositeDataSource.h" #include "nsIRDFXMLDataSource.h" @@ -93,7 +97,6 @@ static NS_DEFINE_CID(kGenericFactoryCID, NS_GENERICFACTORY_CID); // IIDs NS_DEFINE_IID(kIEventQueueServiceIID, NS_IEVENTQUEUESERVICE_IID); -NS_DEFINE_IID(kIOutputStreamIID, NS_IOUTPUTSTREAM_IID); NS_DEFINE_IID(kIRDFXMLDataSourceIID, NS_IRDFXMLDATASOURCE_IID); NS_DEFINE_IID(kIRDFServiceIID, NS_IRDFSERVICE_IID); NS_DEFINE_IID(kIRDFXMLSourceIID, NS_IRDFXMLSOURCE_IID); @@ -104,9 +107,13 @@ static nsresult SetupRegistry(void) { // netlib +#ifndef NECKO static NS_DEFINE_CID(kNetServiceCID, NS_NETSERVICE_CID); - nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO // parser static NS_DEFINE_CID(kParserCID, NS_PARSER_IID); diff --git a/mozilla/rdf/tests/rdfsink/rdfsink.cpp b/mozilla/rdf/tests/rdfsink/rdfsink.cpp index d081c984c6f..131db11a603 100644 --- a/mozilla/rdf/tests/rdfsink/rdfsink.cpp +++ b/mozilla/rdf/tests/rdfsink/rdfsink.cpp @@ -18,8 +18,11 @@ #include "nsIEventQueueService.h" #include "nsIInputStream.h" +#ifndef NECKO #include "nsINetService.h" -#include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO #include "nsIOutputStream.h" #include "nsIGenericFactory.h" #include "nsIPostToServer.h" @@ -88,9 +91,13 @@ static nsresult SetupRegistry(void) { // netlib +#ifndef NECKO static NS_DEFINE_CID(kNetServiceCID, NS_NETSERVICE_CID); - nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO // parser static NS_DEFINE_CID(kParserCID, NS_PARSER_IID); diff --git a/mozilla/silentdl/nsSilentDownload.cpp b/mozilla/silentdl/nsSilentDownload.cpp index 52e5244ebb7..62815d63e13 100644 --- a/mozilla/silentdl/nsSilentDownload.cpp +++ b/mozilla/silentdl/nsSilentDownload.cpp @@ -38,8 +38,11 @@ #include "prio.h" #include "mkutils.h" #include "prefapi.h" - #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsINetlibURL.h" #include "nsINetService.h" #include "nsIInputStream.h" @@ -91,8 +94,6 @@ static NS_DEFINE_IID(kSilentDownloadFactoryCID, NS_SilentDownloadFactory static NS_DEFINE_IID(kSilentDownloadTaskFactoryCID, NS_SilentDownloadTaskFactory_CID); - - static PRInt32 gLockCnt = 0; static PRInt32 gInstanceCnt = 0; @@ -848,7 +849,20 @@ nsSilentDownloadTask::DownloadSelf(PRInt32 range) // Create the URL object... pURL = NULL; +#ifndef NECKO result = NS_NewURL(&pURL, mUrl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = mUrl.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&pURL); + NS_RELEASE(uri); +#endif // NECKO if (result != NS_OK) { diff --git a/mozilla/uriloader/base/nsDocLoader.cpp b/mozilla/uriloader/base/nsDocLoader.cpp index d94d8a4deff..fa19755c6a4 100644 --- a/mozilla/uriloader/base/nsDocLoader.cpp +++ b/mozilla/uriloader/base/nsDocLoader.cpp @@ -32,10 +32,17 @@ #include "nsIDocumentLoaderObserver.h" #include "nsVoidArray.h" #include "nsIHttpURL.h" -#include "nsILoadAttribs.h" -#include "nsIURLGroup.h" #include "nsIServiceManager.h" +#ifndef NECKO +#include "nsIURLGroup.h" +#include "nsILoadAttribs.h" #include "nsINetService.h" +#else +#include "nsIURI.h" +#include "nsIEventQueueService.h" +#include "nsIIOService.h" +#include "nsIChannel.h" +#endif // NECKO #include "nsIGenericFactory.h" #include "nsIStreamLoadableDocument.h" #include "nsCOMPtr.h" @@ -69,19 +76,23 @@ static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); static NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID); static NS_DEFINE_IID(kIDocumentLoaderFactoryIID, NS_IDOCUMENTLOADERFACTORY_IID); static NS_DEFINE_IID(kDocumentBindInfoIID, NS_DOCUMENTBINDINFO_IID); -static NS_DEFINE_IID(kIURLGroupIID, NS_IURLGROUP_IID); static NS_DEFINE_IID(kRefreshURLIID, NS_IREFRESHURL_IID); static NS_DEFINE_IID(kHTTPURLIID, NS_IHTTPURL_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIDocumentIID, NS_IDOCUMENT_IID); static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID); +#ifndef NECKO +static NS_DEFINE_IID(kIURLGroupIID, NS_IURLGROUP_IID); static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); +static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO static NS_DEFINE_IID(kIContentViewerContainerIID, NS_ICONTENT_VIEWER_CONTAINER_IID); static NS_DEFINE_CID(kGenericFactoryCID, NS_GENERICFACTORY_CID); -/* Define CIDs... */ -static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); - /* Forward declarations.... */ class nsDocLoaderImpl; @@ -151,8 +162,11 @@ protected: * nsDocLoaderImpl implementation... ****************************************************************************/ -class nsDocLoaderImpl : public nsIDocumentLoader, - public nsIURLGroup +#ifndef NECKO +class nsDocLoaderImpl : public nsIDocumentLoader, public nsIURLGroup +#else +class nsDocLoaderImpl : public nsIDocumentLoader +#endif // NECKO { public: @@ -192,6 +206,7 @@ public: NS_IMETHOD GetContentViewerContainer(PRUint32 aDocumentID, nsIContentViewerContainer** aResult); +#ifndef NECKO // nsIURLGroup interface... NS_IMETHOD CreateURL(nsIURL** aInstancePtrResult, nsIURL* aBaseURL, @@ -206,6 +221,7 @@ public: NS_IMETHOD AddChildGroup(nsIURLGroup* aGroup); NS_IMETHOD RemoveChildGroup(nsIURLGroup* aGroup); +#endif // NECKO // Implementation specific methods... void FireOnStartDocumentLoad(nsIDocumentLoader* aLoadInitiator, @@ -319,7 +335,9 @@ nsDocLoaderImpl::~nsDocLoaderImpl() { Stop(); if (nsnull != mParent) { +#ifndef NECKO mParent->RemoveChildGroup(this); +#endif // NECKO NS_RELEASE(mParent); } @@ -348,11 +366,13 @@ nsDocLoaderImpl::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_ADDREF_THIS(); return NS_OK; } +#ifndef NECKO if (aIID.Equals(kIURLGroupIID)) { *aInstancePtr = (void*)(nsIURLGroup*)this; NS_ADDREF_THIS(); return NS_OK; } +#endif // NECKO return NS_NOINTERFACE; } @@ -376,7 +396,9 @@ nsDocLoaderImpl::CreateDocumentLoader(nsIDocumentLoader** anInstance) } rv = newLoader->QueryInterface(kIDocumentLoaderIID, (void**)anInstance); if (NS_SUCCEEDED(rv)) { +#ifndef NECKO AddChildGroup(newLoader); +#endif // NECKO newLoader->SetParent(this); } @@ -673,6 +695,7 @@ nsDocLoaderImpl::GetContentViewerContainer(PRUint32 aDocumentID, return rv; } +#ifndef NECKO NS_IMETHODIMP nsDocLoaderImpl::CreateURL(nsIURL** aInstancePtrResult, nsIURL* aBaseURL, @@ -800,6 +823,7 @@ nsDocLoaderImpl::RemoveChildGroup(nsIURLGroup* aGroup) } return rv; } +#endif // NECKO void nsDocLoaderImpl::FireOnStartDocumentLoad(nsIDocumentLoader* aLoadInitiator, @@ -1193,7 +1217,11 @@ nsresult nsDocumentBindInfo::Bind(const nsString& aURLSpec, * the nsISupports pointer so the backend can have access to the front * end nsIContentViewerContainer for refreshing urls. */ +#ifndef NECKO rv = m_DocLoader->CreateURL(&url, nsnull, aURLSpec, m_Container); +#else + rv = NS_ERROR_NULL_POINTER; +#endif // NECKO if (NS_FAILED(rv)) { return rv; } @@ -1239,7 +1267,6 @@ nsresult nsDocumentBindInfo::Bind(const nsString& aURLSpec, nsresult nsDocumentBindInfo::Bind(nsIURL* aURL, nsIStreamListener* aListener) { nsresult rv = NS_OK; - nsINetService *inet = nsnull; m_Url = aURL; NS_ADDREF(m_Url); @@ -1261,7 +1288,9 @@ nsresult nsDocumentBindInfo::Bind(nsIURL* aURL, nsIStreamListener* aListener) NS_ADDREF(m_NextStream); } +#ifndef NECKO /* Start the URL binding process... */ + nsINetService *inet = nsnull; rv = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&inet); @@ -1269,6 +1298,30 @@ nsresult nsDocumentBindInfo::Bind(nsIURL* aURL, nsIStreamListener* aListener) rv = inet->OpenStream(m_Url, this); nsServiceManager::ReleaseService(kNetServiceCID, inet); } +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = m_Url->QueryInterface(nsIURI::GetIID(), (void**)&uri); + if (NS_FAILED(rv)) return rv; + + nsIChannel *channel = nsnull; + // XXX NECKO verb? sinkGetter? + rv = service->NewChannelFromURI("load", uri, nsnull, &channel); + NS_RELEASE(uri); + if (NS_FAILED(rv)) return rv; + + nsIEventQueue *eventQ = nsnull; + NS_WITH_SERVICE(nsIEventQueueService, eqService, kEventQueueServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + rv = eqService->GetThreadEventQueue(PR_CurrentThread(), &eventQ); + if (NS_FAILED(rv)) return rv; + + rv = channel->AsyncRead(0, -1, nsnull, eventQ, this); + NS_RELEASE(eventQ); +#endif // NECKO return rv; } @@ -1277,7 +1330,6 @@ nsresult nsDocumentBindInfo::Bind(nsIURL* aURL, nsIStreamListener* aListener) nsresult nsDocumentBindInfo::Stop(void) { nsresult rv; - nsINetService* inet; if (m_Url == nsnull) return NS_OK; #if defined(DEBUG) @@ -1296,6 +1348,8 @@ nsresult nsDocumentBindInfo::Stop(void) mStatus = NS_BINDING_ABORTED; /* Stop the URL binding process... */ +#ifndef NECKO + nsINetService* inet; rv = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&inet); @@ -1303,6 +1357,10 @@ nsresult nsDocumentBindInfo::Stop(void) rv = inet->InterruptStream(m_Url); nsServiceManager::ReleaseService(kNetServiceCID, inet); } +#else + // XXX NECKO + // need to interrupt the load; +#endif // NECKO return rv; } diff --git a/mozilla/webshell/embed/gtk/lib/GtkMozillaContainer.cpp b/mozilla/webshell/embed/gtk/lib/GtkMozillaContainer.cpp index fbdf537fd60..abfc8ad094d 100644 --- a/mozilla/webshell/embed/gtk/lib/GtkMozillaContainer.cpp +++ b/mozilla/webshell/embed/gtk/lib/GtkMozillaContainer.cpp @@ -19,6 +19,10 @@ #include "nsRepository.h" #include "nsIWebShell.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsFileSpec.h" #include "nsIDocumentLoader.h" #include "nsIContentViewer.h" @@ -403,8 +407,21 @@ GtkMozillaContainer::StartStream(const char *base_url, const char *action, nsIURL* url = nsnull; nsIContentViewer* viewer = nsnull; nsIStreamListener* listener = nsnull; - + +#ifndef NECKO rv = NS_NewURL(&url, url_str, NULL, mWebShell); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = url_str.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) { goto done; diff --git a/mozilla/webshell/embed/gtk/lib/gtkmozilla.cpp b/mozilla/webshell/embed/gtk/lib/gtkmozilla.cpp index 1a797a2e348..8196331ea36 100644 --- a/mozilla/webshell/embed/gtk/lib/gtkmozilla.cpp +++ b/mozilla/webshell/embed/gtk/lib/gtkmozilla.cpp @@ -20,7 +20,11 @@ #include "nsIServiceManager.h" #include "nsIEventQueueService.h" +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO //#include "nsXPComCIID.h" static NS_DEFINE_IID(kIEventQueueServiceIID, diff --git a/mozilla/webshell/embed/gtk/lib/nsSetupRegistry.cpp b/mozilla/webshell/embed/gtk/lib/nsSetupRegistry.cpp index 6d104140632..c243fbe5834 100644 --- a/mozilla/webshell/embed/gtk/lib/nsSetupRegistry.cpp +++ b/mozilla/webshell/embed/gtk/lib/nsSetupRegistry.cpp @@ -31,7 +31,11 @@ #include "nsParserCIID.h" #include "nsDOMCID.h" +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO #ifdef OJI #include "nsICapsManager.h" #include "nsILiveconnect.h" @@ -176,7 +180,11 @@ static NS_DEFINE_CID(kWellFormedDTDCID, NS_WELLFORMEDDTD_CID); static NS_DEFINE_IID(kLookAndFeelCID, NS_LOOKANDFEEL_CID); static NS_DEFINE_IID(kCDOMScriptObjectFactory, NS_DOM_SCRIPT_OBJECT_FACTORY_CID); static NS_DEFINE_IID(kCScriptNameSetRegistry, NS_SCRIPT_NAMESET_REGISTRY_CID); +#ifndef NECKO static NS_DEFINE_CID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO static NS_DEFINE_IID(kClipboardCID, NS_CLIPBOARD_CID); static NS_DEFINE_CID(kCTransferableCID, NS_TRANSFERABLE_CID); @@ -200,8 +208,6 @@ static NS_DEFINE_IID(kCContextMenuCID, NS_CONTEXTMENU_CID); //static NS_DEFINE_IID(kCXULCommandCID, NS_XULCOMMAND_CID); static NS_DEFINE_IID(kSoundCID, NS_SOUND_CID); - - static NS_DEFINE_IID(kUnicharUtilCID, NS_UNICHARUTIL_CID); extern "C" void @@ -245,7 +251,11 @@ NS_SetupRegistry() nsComponentManager::RegisterComponent(kCDOMScriptObjectFactory, NULL, NULL, DOM_DLL, PR_FALSE, PR_FALSE); nsComponentManager::RegisterComponent(kCScriptNameSetRegistry, NULL, NULL, DOM_DLL, PR_FALSE, PR_FALSE); +#ifndef NECKO nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO nsComponentManager::RegisterComponent(kClipboardCID, NULL, NULL, WIDGET_DLL, PR_FALSE, PR_FALSE); nsComponentManager::RegisterComponent(kCTransferableCID, NULL, NULL, WIDGET_DLL, PR_FALSE, PR_FALSE); diff --git a/mozilla/webshell/public/nsIDocumentLoader.h b/mozilla/webshell/public/nsIDocumentLoader.h index e9096bc464e..4d47ec6e9f5 100644 --- a/mozilla/webshell/public/nsIDocumentLoader.h +++ b/mozilla/webshell/public/nsIDocumentLoader.h @@ -22,7 +22,9 @@ #include "nsweb.h" #include "prtypes.h" #include "nsISupports.h" +#ifndef NECKO #include "nsILoadAttribs.h" +#endif // NECKO /* Forward declarations... */ class nsString; diff --git a/mozilla/webshell/public/nsIWebShell.h b/mozilla/webshell/public/nsIWebShell.h index 2f6e3d984a9..3329ae61ec6 100644 --- a/mozilla/webshell/public/nsIWebShell.h +++ b/mozilla/webshell/public/nsIWebShell.h @@ -23,7 +23,9 @@ #include "nsIWidget.h" #include "nsIScrollableView.h" #include "nsIContentViewerContainer.h" +#ifndef NECKO #include "nsILoadAttribs.h" +#endif // NECKO #include "nsIScrollableView.h" #include "nsIParser.h" // for nsCharsetSource only #include "nsISessionHistory.h" diff --git a/mozilla/webshell/src/nsDocLoader.cpp b/mozilla/webshell/src/nsDocLoader.cpp index d94d8a4deff..fa19755c6a4 100644 --- a/mozilla/webshell/src/nsDocLoader.cpp +++ b/mozilla/webshell/src/nsDocLoader.cpp @@ -32,10 +32,17 @@ #include "nsIDocumentLoaderObserver.h" #include "nsVoidArray.h" #include "nsIHttpURL.h" -#include "nsILoadAttribs.h" -#include "nsIURLGroup.h" #include "nsIServiceManager.h" +#ifndef NECKO +#include "nsIURLGroup.h" +#include "nsILoadAttribs.h" #include "nsINetService.h" +#else +#include "nsIURI.h" +#include "nsIEventQueueService.h" +#include "nsIIOService.h" +#include "nsIChannel.h" +#endif // NECKO #include "nsIGenericFactory.h" #include "nsIStreamLoadableDocument.h" #include "nsCOMPtr.h" @@ -69,19 +76,23 @@ static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); static NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID); static NS_DEFINE_IID(kIDocumentLoaderFactoryIID, NS_IDOCUMENTLOADERFACTORY_IID); static NS_DEFINE_IID(kDocumentBindInfoIID, NS_DOCUMENTBINDINFO_IID); -static NS_DEFINE_IID(kIURLGroupIID, NS_IURLGROUP_IID); static NS_DEFINE_IID(kRefreshURLIID, NS_IREFRESHURL_IID); static NS_DEFINE_IID(kHTTPURLIID, NS_IHTTPURL_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIDocumentIID, NS_IDOCUMENT_IID); static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID); +#ifndef NECKO +static NS_DEFINE_IID(kIURLGroupIID, NS_IURLGROUP_IID); static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); +static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); +static NS_DEFINE_IID(kIIOServiceIID, NS_IIOSERVICE_IID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO static NS_DEFINE_IID(kIContentViewerContainerIID, NS_ICONTENT_VIEWER_CONTAINER_IID); static NS_DEFINE_CID(kGenericFactoryCID, NS_GENERICFACTORY_CID); -/* Define CIDs... */ -static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); - /* Forward declarations.... */ class nsDocLoaderImpl; @@ -151,8 +162,11 @@ protected: * nsDocLoaderImpl implementation... ****************************************************************************/ -class nsDocLoaderImpl : public nsIDocumentLoader, - public nsIURLGroup +#ifndef NECKO +class nsDocLoaderImpl : public nsIDocumentLoader, public nsIURLGroup +#else +class nsDocLoaderImpl : public nsIDocumentLoader +#endif // NECKO { public: @@ -192,6 +206,7 @@ public: NS_IMETHOD GetContentViewerContainer(PRUint32 aDocumentID, nsIContentViewerContainer** aResult); +#ifndef NECKO // nsIURLGroup interface... NS_IMETHOD CreateURL(nsIURL** aInstancePtrResult, nsIURL* aBaseURL, @@ -206,6 +221,7 @@ public: NS_IMETHOD AddChildGroup(nsIURLGroup* aGroup); NS_IMETHOD RemoveChildGroup(nsIURLGroup* aGroup); +#endif // NECKO // Implementation specific methods... void FireOnStartDocumentLoad(nsIDocumentLoader* aLoadInitiator, @@ -319,7 +335,9 @@ nsDocLoaderImpl::~nsDocLoaderImpl() { Stop(); if (nsnull != mParent) { +#ifndef NECKO mParent->RemoveChildGroup(this); +#endif // NECKO NS_RELEASE(mParent); } @@ -348,11 +366,13 @@ nsDocLoaderImpl::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_ADDREF_THIS(); return NS_OK; } +#ifndef NECKO if (aIID.Equals(kIURLGroupIID)) { *aInstancePtr = (void*)(nsIURLGroup*)this; NS_ADDREF_THIS(); return NS_OK; } +#endif // NECKO return NS_NOINTERFACE; } @@ -376,7 +396,9 @@ nsDocLoaderImpl::CreateDocumentLoader(nsIDocumentLoader** anInstance) } rv = newLoader->QueryInterface(kIDocumentLoaderIID, (void**)anInstance); if (NS_SUCCEEDED(rv)) { +#ifndef NECKO AddChildGroup(newLoader); +#endif // NECKO newLoader->SetParent(this); } @@ -673,6 +695,7 @@ nsDocLoaderImpl::GetContentViewerContainer(PRUint32 aDocumentID, return rv; } +#ifndef NECKO NS_IMETHODIMP nsDocLoaderImpl::CreateURL(nsIURL** aInstancePtrResult, nsIURL* aBaseURL, @@ -800,6 +823,7 @@ nsDocLoaderImpl::RemoveChildGroup(nsIURLGroup* aGroup) } return rv; } +#endif // NECKO void nsDocLoaderImpl::FireOnStartDocumentLoad(nsIDocumentLoader* aLoadInitiator, @@ -1193,7 +1217,11 @@ nsresult nsDocumentBindInfo::Bind(const nsString& aURLSpec, * the nsISupports pointer so the backend can have access to the front * end nsIContentViewerContainer for refreshing urls. */ +#ifndef NECKO rv = m_DocLoader->CreateURL(&url, nsnull, aURLSpec, m_Container); +#else + rv = NS_ERROR_NULL_POINTER; +#endif // NECKO if (NS_FAILED(rv)) { return rv; } @@ -1239,7 +1267,6 @@ nsresult nsDocumentBindInfo::Bind(const nsString& aURLSpec, nsresult nsDocumentBindInfo::Bind(nsIURL* aURL, nsIStreamListener* aListener) { nsresult rv = NS_OK; - nsINetService *inet = nsnull; m_Url = aURL; NS_ADDREF(m_Url); @@ -1261,7 +1288,9 @@ nsresult nsDocumentBindInfo::Bind(nsIURL* aURL, nsIStreamListener* aListener) NS_ADDREF(m_NextStream); } +#ifndef NECKO /* Start the URL binding process... */ + nsINetService *inet = nsnull; rv = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&inet); @@ -1269,6 +1298,30 @@ nsresult nsDocumentBindInfo::Bind(nsIURL* aURL, nsIStreamListener* aListener) rv = inet->OpenStream(m_Url, this); nsServiceManager::ReleaseService(kNetServiceCID, inet); } +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = m_Url->QueryInterface(nsIURI::GetIID(), (void**)&uri); + if (NS_FAILED(rv)) return rv; + + nsIChannel *channel = nsnull; + // XXX NECKO verb? sinkGetter? + rv = service->NewChannelFromURI("load", uri, nsnull, &channel); + NS_RELEASE(uri); + if (NS_FAILED(rv)) return rv; + + nsIEventQueue *eventQ = nsnull; + NS_WITH_SERVICE(nsIEventQueueService, eqService, kEventQueueServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + rv = eqService->GetThreadEventQueue(PR_CurrentThread(), &eventQ); + if (NS_FAILED(rv)) return rv; + + rv = channel->AsyncRead(0, -1, nsnull, eventQ, this); + NS_RELEASE(eventQ); +#endif // NECKO return rv; } @@ -1277,7 +1330,6 @@ nsresult nsDocumentBindInfo::Bind(nsIURL* aURL, nsIStreamListener* aListener) nsresult nsDocumentBindInfo::Stop(void) { nsresult rv; - nsINetService* inet; if (m_Url == nsnull) return NS_OK; #if defined(DEBUG) @@ -1296,6 +1348,8 @@ nsresult nsDocumentBindInfo::Stop(void) mStatus = NS_BINDING_ABORTED; /* Stop the URL binding process... */ +#ifndef NECKO + nsINetService* inet; rv = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports **)&inet); @@ -1303,6 +1357,10 @@ nsresult nsDocumentBindInfo::Stop(void) rv = inet->InterruptStream(m_Url); nsServiceManager::ReleaseService(kNetServiceCID, inet); } +#else + // XXX NECKO + // need to interrupt the load; +#endif // NECKO return rv; } diff --git a/mozilla/webshell/src/nsWebShell.cpp b/mozilla/webshell/src/nsWebShell.cpp index 256965d1813..8d6852767db 100644 --- a/mozilla/webshell/src/nsWebShell.cpp +++ b/mozilla/webshell/src/nsWebShell.cpp @@ -65,6 +65,10 @@ //XXX used for nsIStreamObserver implementation. This sould be replaced by DocLoader // notifications... #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +#endif // NECKO //XXX for nsIPostData; this is wrong; we shouldn't see the nsIDocument type #include "nsIDocument.h" @@ -114,6 +118,9 @@ void nsWebShell_SetUnixEventQueue(PLEventQueue* aEventQueue) static NS_DEFINE_CID(kGlobalHistoryCID, NS_GLOBALHISTORY_CID); +#ifdef NECKO +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO //---------------------------------------------------------------------- @@ -1645,7 +1652,22 @@ nsWebShell::DoLoadURL(const nsString& aUrlSpec, // See if they're the same nsCOMPtr url; +#ifndef NECKO NS_NewURL(getter_AddRefs(url), aUrlSpec); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriSpec = aUrlSpec.GetBuffer(); + rv = service->NewURI(uriSpec, 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 if ((PRBool)docURL->Equals(url)) { // See if there's a destination anchor diff --git a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp index d8919340ccb..19a8e6cbf2b 100644 --- a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp +++ b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp @@ -95,9 +95,17 @@ #endif #ifdef CookieManagement + +#ifndef NECKO #include "nsINetService.h" static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +#else +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO + #endif #if defined(ClientWallet) || defined(SingleSignon) @@ -435,9 +443,6 @@ nsBrowserWindow::DispatchMenuItem(PRInt32 aID) { #if defined(CookieManagement) || defined(SingleSignon) || defined(ClientWallet) nsresult res; -#ifdef CookieManagement - nsINetService *netservice; -#endif #if defined(ClientWallet) || defined(SingleSignon) nsIWalletService *walletservice; #endif @@ -624,7 +629,20 @@ nsBrowserWindow::DispatchMenuItem(PRInt32 aID) (nsISupports **)&walletservice); if ((NS_OK == res) && (nsnull != walletservice)) { nsIURL * url; - if (!NS_FAILED(NS_NewURL(&url, WALLET_EDITOR_URL))) { +#ifndef NECKO + res = NS_NewURL(&url, WALLET_EDITOR_URL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &res); + if (NS_FAILED(res)) return nsEventStatus_eIgnore; + + nsIURI *uri = nsnull; + res = service->NewURI(WALLET_EDITOR_URL, nsnull, &uri); + if (NS_FAILED(res)) return nsEventStatus_eIgnore; + + res = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO + if (!NS_FAILED(res)) { // res = walletservice->WALLET_PreEdit(url); NS_RELEASE(walletservice); } @@ -638,14 +656,19 @@ nsBrowserWindow::DispatchMenuItem(PRInt32 aID) #if defined(CookieManagement) case PRVCY_DISPLAY_COOKIES: - res = nsServiceManager::GetService(kNetServiceCID, - kINetServiceIID, - (nsISupports **)&netservice); - if ((NS_OK == res) && (nsnull != netservice)) { - res = netservice->Cookie_DisplayCookieInfoAsHTML(); - NS_RELEASE(netservice); + { +#ifndef NECKO + nsINetService *netservice; + res = nsServiceManager::GetService(kNetServiceCID, + kINetServiceIID, + (nsISupports **)&netservice); + if ((NS_OK == res) && (nsnull != netservice)) { + res = netservice->Cookie_DisplayCookieInfoAsHTML(); + NS_RELEASE(netservice); + } +#endif // NECKO + break; } - break; #endif #if defined(SingleSignon) @@ -994,7 +1017,19 @@ GetTitleSuffix(void) return suffix; } nsIURL* url = nsnull; +#ifndef NECKO ret = NS_NewURL(&url, nsString(VIEWER_BUNDLE_URL)); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &ret); + if (NS_FAILED(ret)) return ret; + + nsIURI *uri = nsnull; + ret = service->NewURI(VIEWER_BUNDLE_URL, nsnull, &uri); + if (NS_FAILED(ret)) return ret; + + ret = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(ret)) { NS_RELEASE(service); return suffix; diff --git a/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp b/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp index 265fa00dc37..1ba6767c367 100644 --- a/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp +++ b/mozilla/webshell/tests/viewer/nsSetupRegistry.cpp @@ -30,7 +30,11 @@ #include "nsParserCIID.h" #include "nsDOMCID.h" +#ifndef NECKO #include "nsINetService.h" +#else +#include "nsIIOService.h" +#endif // NECKO #ifdef OJI #include "nsICapsManager.h" #include "nsILiveconnect.h" @@ -168,7 +172,11 @@ static NS_DEFINE_IID(kCDOMScriptObjectFactory, NS_DOM_SCRIPT_OBJECT_FACTORY_CID) static NS_DEFINE_IID(kCScriptNameSetRegistry, NS_SCRIPT_NAMESET_REGISTRY_CID); // NETLIB +#ifndef NECKO static NS_DEFINE_CID(kCNetServiceCID, NS_NETSERVICE_CID); +#else +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO // PLUGIN static NS_DEFINE_IID(kCPluginHostCID, NS_PLUGIN_HOST_CID); @@ -246,7 +254,11 @@ NS_SetupRegistry() nsComponentManager::RegisterComponent(kCScriptNameSetRegistry, NULL, NULL, DOM_DLL, PR_FALSE, PR_FALSE); // NETLIB +#ifndef NECKO nsComponentManager::RegisterComponent(kCNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO // PLUGIN nsComponentManager::RegisterComponent(kCPluginHostCID, NULL, NULL, PLUGIN_DLL, PR_FALSE, PR_FALSE); diff --git a/mozilla/webshell/tests/viewer/nsViewerApp.cpp b/mozilla/webshell/tests/viewer/nsViewerApp.cpp index 525aee8af97..909f3280e2c 100644 --- a/mozilla/webshell/tests/viewer/nsViewerApp.cpp +++ b/mozilla/webshell/tests/viewer/nsViewerApp.cpp @@ -27,7 +27,9 @@ #include "nsWidgetsCID.h" #include "nsIAppShell.h" #include "nsIPref.h" +#ifndef NECKO #include "nsINetService.h" +#endif // NECKO #include "nsIComponentManager.h" #include "nsIServiceManager.h" #include "nsIEventQueueService.h" @@ -160,8 +162,10 @@ nsViewerApp::Destroy() // Only shutdown if Initialize has been called... if (PR_TRUE == mIsInitialized) { +#ifndef NECKO NS_ShutdownINetService(); mIsInitialized = PR_FALSE; +#endif // NECKO } } @@ -295,10 +299,12 @@ nsViewerApp::Initialize(int argc, char** argv) #endif // Setup networking library +#ifndef NECKO rv = NS_InitINetService(); if (NS_OK != rv) { return rv; } +#endif // NECKO // Finally process our arguments rv = ProcessArguments(argc, argv); diff --git a/mozilla/webshell/tests/viewer/nsWebCrawler.cpp b/mozilla/webshell/tests/viewer/nsWebCrawler.cpp index 8ceb022acf0..ded205547c2 100644 --- a/mozilla/webshell/tests/viewer/nsWebCrawler.cpp +++ b/mozilla/webshell/tests/viewer/nsWebCrawler.cpp @@ -30,6 +30,12 @@ #include "nsIViewManager.h" #include "nsIFrame.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 "nsITimer.h" #include "nsIAtom.h" #include "nsIFrameUtil.h" @@ -514,7 +520,22 @@ nsWebCrawler::OkToLoad(const nsString& aURLSpec) PRBool ok = PR_TRUE; nsIURL* url; - nsresult rv = NS_NewURL(&url, aURLSpec); + nsresult rv; +#ifndef NECKO + rv = NS_NewURL(&url, aURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aURLSpec.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO + if (NS_OK == rv) { const char* host; rv = url->GetHost(&host); @@ -579,7 +600,30 @@ nsWebCrawler::FindURLsIn(nsIDocument* aDocument, nsIContent* aNode) } aNode->GetAttribute(kNameSpaceID_HTML, mBaseHrefAttr, base);/* XXX not public knowledge! */ nsIURL* docURL = aDocument->GetDocumentURL(); - nsresult rv = NS_MakeAbsoluteURL(docURL, base, src, absURLSpec); + nsresult rv; +#ifndef NECKO + rv = NS_MakeAbsoluteURL(docURL, base, src, absURLSpec); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *baseUri = nsnull; + + if (base.Length() > 0) { + const char *uriStr = base.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &baseUri); + } else { + rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); + } + if (NS_FAILED(rv)) return; + + char *absUrlStr = nsnull; + const char *urlSpec = src.GetBuffer(); + rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); + NS_RELEASE(baseUri); + absURLSpec = absUrlStr; + delete [] absUrlStr; +#endif // NECKO if (NS_OK == rv) { nsIAtom* urlAtom = NS_NewAtom(absURLSpec); if (0 == mVisited->Get(urlAtom)) { diff --git a/mozilla/xpcom/tests/CvtURL.cpp b/mozilla/xpcom/tests/CvtURL.cpp index 767cddd41f1..c4e64e7d165 100644 --- a/mozilla/xpcom/tests/CvtURL.cpp +++ b/mozilla/xpcom/tests/CvtURL.cpp @@ -18,6 +18,12 @@ #include #include "nsIUnicharInputStream.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 "nsCRT.h" #include "nsString.h" #include "prprf.h" @@ -45,7 +51,20 @@ int main(int argc, char** argv) // Create url object char* urlName = argv[1]; nsIURL* url; - nsresult rv = NS_NewURL(&url, urlName); + nsresult rv; +#ifndef NECKO + rv = NS_NewURL(&url, urlName); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlName, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_OK != rv) { printf("invalid URL: '%s'\n", urlName); return -1; diff --git a/mozilla/xpcom/tests/PropertiesTest.cpp b/mozilla/xpcom/tests/PropertiesTest.cpp index c3d3fef4fb0..953a42fe979 100644 --- a/mozilla/xpcom/tests/PropertiesTest.cpp +++ b/mozilla/xpcom/tests/PropertiesTest.cpp @@ -19,10 +19,18 @@ #define NS_IMPL_IDS #include "nsIEventQueueService.h" -#include "nsINetService.h" #include "nsIProperties.h" #include "nsIServiceManager.h" #include "nsIURL.h" +#ifndef NECKO +#include "nsINetService.h" +static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); +static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); +#else +#include "nsIIOService.h" +#include "nsIChannel.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIComponentManager.h" #include "nsIEnumerator.h" @@ -52,9 +60,7 @@ static NS_DEFINE_IID(kEventQueueCID, NS_EVENTQUEUE_CID); static NS_DEFINE_IID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); static NS_DEFINE_IID(kIEventQueueServiceIID, NS_IEVENTQUEUESERVICE_IID); -static NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kIPersistentPropertiesIID, NS_IPERSISTENTPROPERTIES_IID); -static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); @@ -66,7 +72,12 @@ NS_SetupRegistry() NULL /* default */); // startup netlib: - nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); + nsComponentManager::RegisterComponent(kEventQueueServiceCID, NULL, NULL, XPCOM_DLL, PR_FALSE, PR_FALSE); +#ifndef NECKO + nsComponentManager::RegisterComponent(kNetServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#else + nsComponentManager::RegisterComponent(kIOServiceCID, NULL, NULL, NETLIB_DLL, PR_FALSE, PR_FALSE); +#endif // NECKO // Create the Event Queue for this thread... nsIEventQueueService* pEventQService; @@ -96,6 +107,9 @@ main(int argc, char* argv[]) NS_SetupRegistry(); + nsIInputStream* in = nsnull; + +#ifndef NECKO nsINetService* pNetService = nsnull; ret = nsServiceManager::GetService(kNetServiceCID, kINetServiceIID, (nsISupports**) &pNetService); @@ -103,19 +117,39 @@ main(int argc, char* argv[]) printf("cannot get net service\n"); return 1; } - nsIURL* url = nsnull; + nsIURL *url = nsnull; ret = pNetService->CreateURL(&url, nsString(TEST_URL), nsnull, nsnull, nsnull); if (NS_FAILED(ret) || (!url)) { printf("cannot create URL\n"); return 1; } - nsIInputStream* in = nsnull; + ret = pNetService->OpenBlockingStream(url, nsnull, &in); if (NS_FAILED(ret) || (!in)) { printf("cannot open stream\n"); return 1; } +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &ret); + if (NS_FAILED(ret)) return ret; + + NS_WITH_SERVICE(nsIEventQueueService, eventQService, kEventQueueServiceCID, &ret); + if (NS_FAILED(ret)) return ret; + + nsIChannel *channel = nsnull; + // XXX NECKO verb? getter? + ret = service->NewChannel("load", TEST_URL, nsnull, nsnull, &channel); + if (NS_FAILED(ret)) return ret; + + nsIEventQueue *eventQ = nsnull; + ret = eventQService->GetThreadEventQueue(PR_CurrentThread(), &eventQ); + if (NS_FAILED(ret)) return ret; + + ret = channel->OpenInputStream(0, -1, &in); + if (NS_FAILED(ret)) return ret; +#endif // NECKO + nsIPersistentProperties* props = nsnull; ret = nsComponentManager::CreateInstance(kPersistentPropertiesCID, NULL, kIPersistentPropertiesIID, (void**) &props); diff --git a/mozilla/xpfe/AppCores/src/nsAppCoresManager.cpp b/mozilla/xpfe/AppCores/src/nsAppCoresManager.cpp index d39f6fd1e83..e007285814e 100644 --- a/mozilla/xpfe/AppCores/src/nsAppCoresManager.cpp +++ b/mozilla/xpfe/AppCores/src/nsAppCoresManager.cpp @@ -42,7 +42,9 @@ #include "nsIURL.h" #include "nsINetlibURL.h" +#ifndef NECKO #include "nsINetService.h" +#endif // NECKO #include "nsIInputStream.h" #include "nsIStreamListener.h" @@ -72,8 +74,11 @@ static NS_DEFINE_IID(kIScriptNameSetRegistryIID, NS_ISCRIPTNAMESETREGISTRY_IID); static NS_DEFINE_IID(kCScriptNameSetRegistryCID, NS_SCRIPT_NAMESET_REGISTRY_CID); static NS_DEFINE_IID(kIScriptExternalNameSetIID, NS_ISCRIPTEXTERNALNAMESET_IID); +#ifndef NECKO static NS_DEFINE_IID(kInetServiceIID, NS_INETSERVICE_IID); static NS_DEFINE_IID(kInetServiceCID, NS_NETSERVICE_CID); +#endif // NECKO + static NS_DEFINE_IID(kInetLibURLIID, NS_INETLIBURL_IID); static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID); diff --git a/mozilla/xpfe/AppCores/src/nsBrowserAppCore.cpp b/mozilla/xpfe/AppCores/src/nsBrowserAppCore.cpp index 59f52c1f2e0..90067905edf 100644 --- a/mozilla/xpfe/AppCores/src/nsBrowserAppCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsBrowserAppCore.cpp @@ -45,6 +45,13 @@ #include "nsIServiceManager.h" #include "nsIURL.h" +#ifndef NECKO +#include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIWidget.h" #include "plevent.h" @@ -84,9 +91,6 @@ static NS_DEFINE_IID(kWalletServiceCID, NS_WALLETSERVICE_CID); #include "nsIContent.h" #include "nsINameSpaceManager.h" #include "nsFileStream.h" -#include "nsINetService.h" -NS_DEFINE_IID(kINetServiceIID, NS_INETSERVICE_IID); -NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID); // Stuff to implement find/findnext #include "nsIFindComponent.h" @@ -167,7 +171,11 @@ nsBrowserAppCore::~nsBrowserAppCore() if (nsnull != mGHistory) { nsServiceManager::ReleaseService(kCGlobalHistoryCID, mGHistory); } + if (nsnull != mSHistory) { + nsServiceManager::ReleaseService(kCSessionHistoryCID, mSHistory); + } NS_IF_RELEASE(mSHistory); + DecInstanceCount(); } @@ -367,18 +375,13 @@ newWind(char* urlName) { char * width=nsnull, *height=nsnull; char * iconic_state=nsnull; - nsIAppShellService* appShell = nsnull; urlstr = urlName; /* * Create the Application Shell instance... */ - rv = nsServiceManager::GetService(kAppShellServiceCID, - kIAppShellServiceIID, - (nsISupports**)&appShell); - if (!NS_SUCCEEDED(rv)) { - goto done; - } + NS_WITH_SERVICE(nsIAppShellService, appShell, kAppShellServiceCID, &rv); + if (NS_FAILED(rv)) return rv; /* * Post an event to the shell instance to load the AppShell @@ -391,22 +394,26 @@ newWind(char* urlName) { nsIURL* url; nsIWebShellWindow* newWindow; +#ifndef NECKO rv = NS_NewURL(&url, urlstr); - if (NS_FAILED(rv)) { - goto done; - } +#else + nsIURI *uri = nsnull; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + rv = service->NewURI(urlstr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO + if (NS_FAILED(rv)) return rv; appShell->CreateTopLevelWindow(nsnull, url, PR_TRUE, newWindow, nsnull, nsnull, 615, 480); NS_RELEASE(url); -done: - /* Release the shell... */ - if (nsnull != appShell) { - nsServiceManager::ReleaseService(kAppShellServiceCID, appShell); - } - return NS_OK; } @@ -441,7 +448,20 @@ nsBrowserAppCore::WalletEditor(nsIDOMWindow* aWin) window = nsnull; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "resource:/res/samples/xpconnect-walleteditor.html"); + char *urlstr = "resource:/res/samples/xpconnect-walleteditor.html"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlstr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlstr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; @@ -487,7 +507,20 @@ nsBrowserAppCore::SignonViewer(nsIDOMWindow* aWin) window = nsnull; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "resource:/res/samples/xpconnect-signonviewer.html"); + char * urlstr = "resource:/res/samples/xpconnect-signonviewer.html"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlstr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlstr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; @@ -533,7 +566,20 @@ nsBrowserAppCore::CookieViewer(nsIDOMWindow* aWin) window = nsnull; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "resource:/res/samples/xpconnect-cookieviewer.html"); + char *urlstr = "resource:/res/samples/xpconnect-cookieviewer.html"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlstr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlstr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; @@ -622,7 +668,20 @@ nsBrowserAppCore::WalletPreview(nsIDOMWindow* aWin, nsIDOMWindow* aForm) window = nsnull; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "resource:/res/samples/xpconnect-walletpreview.html"); + char * urlstr = "resource:/res/samples/xpconnect-walletpreview.html"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlstr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlstr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; @@ -1334,8 +1393,6 @@ nsBrowserAppCore::NewWindow() char * urlstr = nsnull; - nsIAppShellService* appShell = nsnull; - // Default URL if one was not provided in the cmdline if (nsnull == urlstr) urlstr = "chrome://navigator/content/"; @@ -1345,12 +1402,9 @@ nsBrowserAppCore::NewWindow() /* * Create the Application Shell instance... */ - rv = nsServiceManager::GetService(kAppShellServiceCID, - kIAppShellServiceIID, - (nsISupports**)&appShell); - if (!NS_SUCCEEDED(rv)) { - goto done; - } + NS_WITH_SERVICE(nsIAppShellService, appShell, kAppShellServiceCID, &rv); + + if (!NS_SUCCEEDED(rv)) return rv; /* * Post an event to the shell instance to load the AppShell @@ -1362,22 +1416,26 @@ nsBrowserAppCore::NewWindow() ///write me... nsIURL* url; nsIWebShellWindow* newWindow; - +#ifndef NECKO rv = NS_NewURL(&url, urlstr); - if (NS_FAILED(rv)) { - goto done; - } +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlstr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO + if (NS_FAILED(rv)) return rv; appShell->CreateTopLevelWindow(nsnull, url, PR_TRUE, newWindow, nsnull, nsnull, 615, 480); NS_RELEASE(url); -done: - /* Release the shell... */ - if (nsnull != appShell) { - nsServiceManager::ReleaseService(kAppShellServiceCID, appShell); - } - return NS_OK; + return NS_OK; } //---------------------------------------------------------- @@ -1612,7 +1670,20 @@ nsBrowserAppCore::DoDialog() window = nsnull; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "resource://res/samples/Password.html"); + char * urlstr = "resource://res/samples/Password.html"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlstr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlstr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/AppCores/src/nsCookieCore.cpp b/mozilla/xpfe/AppCores/src/nsCookieCore.cpp index 7ad11d4eba1..ad493def88a 100644 --- a/mozilla/xpfe/AppCores/src/nsCookieCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsCookieCore.cpp @@ -20,6 +20,11 @@ #include "nsCookieCore.h" #include "nsINetService.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIFileLocator.h" #include "nsFileLocations.h" #include "nsFileSpec.h" @@ -121,7 +126,20 @@ NS_IMETHODIMP nsCookieCore::ShowWindow(nsIDOMWindow* aCurrentFrontWin) window = nsnull; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "resource://res/samples/CookieViewer.html"); + char * urlStr = "resource://res/samples/CookieViewer.html"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/AppCores/src/nsDOMPropsCore.cpp b/mozilla/xpfe/AppCores/src/nsDOMPropsCore.cpp index 53a05abb510..0f3047dc229 100644 --- a/mozilla/xpfe/AppCores/src/nsDOMPropsCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsDOMPropsCore.cpp @@ -27,6 +27,11 @@ #include "nsIServiceManager.h" #include "nsISupports.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIWebShell.h" #include "nsIWebShellWindow.h" #include "nsIWidget.h" @@ -56,7 +61,6 @@ static NS_DEFINE_IID(kIDOMBaseAppCoreIID, NS_IDOMBASEAPPCORE_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIDOMPropsCoreIID, NS_IDOMDOMPROPSCORE_IID); - ///////////////////////////////////////////////////////////////////////// // nsPropertiesDialog ///////////////////////////////////////////////////////////////////////// @@ -437,7 +441,20 @@ nsDOMPropsCore::ShowProperties(const nsString& aUrl, nsIDOMWindow* aParent, nsID nsIAppShellService *appShell; nsCOMPtr urlObj; +#ifndef NECKO rv = NS_NewURL(getter_AddRefs(urlObj), aUrl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aUrl.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp b/mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp index 6c0380cfbc2..242aa307ef8 100755 --- a/mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp @@ -43,6 +43,11 @@ #include "nsIServiceManager.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIWidget.h" #include "plevent.h" @@ -743,8 +748,20 @@ nsEditorAppCore::CreateWindowWithURL(const char* urlStr) nsCOMPtr url = nsnull; nsIWebShellWindow* newWindow = nsnull; - + +#ifndef NECKO rv = NS_NewURL(getter_AddRefs(url), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv) || !url) goto done; diff --git a/mozilla/xpfe/AppCores/src/nsSignonCore.cpp b/mozilla/xpfe/AppCores/src/nsSignonCore.cpp index 41af0b51ffe..3f1484fffcb 100644 --- a/mozilla/xpfe/AppCores/src/nsSignonCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsSignonCore.cpp @@ -23,6 +23,11 @@ #include "nsIWalletService.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIFileLocator.h" #include "nsFileLocations.h" #include "nsFileSpec.h" @@ -124,7 +129,21 @@ NS_IMETHODIMP nsSignonCore::ShowWindow(nsIDOMWindow* aCurrentFrontWin) window = nsnull; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "resource://res/samples/SignonViewer.html"); + char * urlStr = "resource://res/samples/SignonViewer.html"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO + if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/AppCores/src/nsToolkitCore.cpp b/mozilla/xpfe/AppCores/src/nsToolkitCore.cpp index 25eeff26631..b1fbcae8cfe 100644 --- a/mozilla/xpfe/AppCores/src/nsToolkitCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsToolkitCore.cpp @@ -28,6 +28,11 @@ #include "nsIServiceManager.h" #include "nsISupports.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIWebShell.h" #include "nsIWebShellWindow.h" #include "nsIWidget.h" @@ -50,7 +55,6 @@ static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIToolkitCoreIID, NS_IDOMTOOLKITCORE_IID); - ///////////////////////////////////////////////////////////////////////// // nsToolkitCore ///////////////////////////////////////////////////////////////////////// @@ -145,7 +149,20 @@ nsToolkitCore::ShowDialog(const nsString& aUrl, nsIDOMWindow* aParent) { window = nsnull; nsCOMPtr urlObj; +#ifndef NECKO rv = NS_NewURL(getter_AddRefs(urlObj), aUrl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aUrl.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; @@ -173,7 +190,21 @@ nsToolkitCore::ShowWindow(const nsString& aUrl, nsIDOMWindow* aParent) { window = nsnull; nsCOMPtr urlObj; + +#ifndef NECKO rv = NS_NewURL(getter_AddRefs(urlObj), aUrl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aUrl.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; @@ -284,7 +315,20 @@ nsToolkitCore::ShowWindowWithArgs(const nsString& aUrl, window = nsnull; nsCOMPtr urlObj; +#ifndef NECKO rv = NS_NewURL(getter_AddRefs(urlObj), aUrl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aUrl.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; @@ -314,7 +358,20 @@ nsToolkitCore::ShowModalDialog(const nsString& aUrl, nsIDOMWindow* aParent) { window = nsnull; nsCOMPtr urlObj; +#ifndef NECKO rv = NS_NewURL(getter_AddRefs(urlObj), aUrl); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + const char *uriStr = aUrl.GetBuffer(); + rv = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/AppCores/src/nsWalletCore.cpp b/mozilla/xpfe/AppCores/src/nsWalletCore.cpp index e44b96cf59e..de224fabb92 100644 --- a/mozilla/xpfe/AppCores/src/nsWalletCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsWalletCore.cpp @@ -23,6 +23,12 @@ #include "nsIWalletService.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 "nsIFileLocator.h" #include "nsFileLocations.h" #include "nsFileSpec.h" @@ -186,7 +192,20 @@ NS_IMETHODIMP nsWalletCore::ShowWindow(nsIDOMWindow* aCurrentFrontWin, nsIDOMWin window = nsnull; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "resource://res/samples/WalletPreview.html"); + char * urlStr = "resource://res/samples/WalletPreview.html"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/appshell/public/nsISessionHistory.h b/mozilla/xpfe/appshell/public/nsISessionHistory.h index 5c9ec620747..7b752c52047 100644 --- a/mozilla/xpfe/appshell/public/nsISessionHistory.h +++ b/mozilla/xpfe/appshell/public/nsISessionHistory.h @@ -22,7 +22,9 @@ #include "nsISupports.h" #include "nsIFactory.h" +#ifndef NECKO #include "nsILoadAttribs.h" +#endif // NECKO //Forward declarations class nsHistoryEntry; diff --git a/mozilla/xpfe/appshell/src/nsCommandLineServiceMac.cpp b/mozilla/xpfe/appshell/src/nsCommandLineServiceMac.cpp index bcec68c68d7..72527415ffa 100644 --- a/mozilla/xpfe/appshell/src/nsCommandLineServiceMac.cpp +++ b/mozilla/xpfe/appshell/src/nsCommandLineServiceMac.cpp @@ -29,6 +29,12 @@ #include "nsIAppShellService.h" #include "nsIServiceManager.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 "nsIDOMToolkitCore.h" #include "nsIWebShellWindow.h" #include "nsIWebShell.h" @@ -978,7 +984,20 @@ nsIWebShellWindow* FindWebShellWindow(nsIXULWindowCallbacks* inCallbacks) const PRInt32 windowWidth = 615; const PRInt32 windowHeight = 650; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "chrome://navigator/content"); + char * urlStr = "chrome://navigator/content"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return nsnull; rv = appShellService->CreateTopLevelWindow( diff --git a/mozilla/xpfe/appshell/src/nsNetSupportDialog.cpp b/mozilla/xpfe/appshell/src/nsNetSupportDialog.cpp index a8363359ade..06d9ad4a97c 100644 --- a/mozilla/xpfe/appshell/src/nsNetSupportDialog.cpp +++ b/mozilla/xpfe/appshell/src/nsNetSupportDialog.cpp @@ -30,6 +30,11 @@ #include "nsIServiceManager.h" #include "nsAppShellCIDs.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIDOMHTMLInputElement.h" #include "nsIWebShellWindow.h" #include "nsIDOMEventReceiver.h" @@ -431,8 +436,25 @@ nsresult nsNetSupportDialog::DoDialog( nsString& inXULURL ) return result; nsIURL* dialogURL; - if (!NS_SUCCEEDED (result = NS_NewURL(&dialogURL, inXULURL ) ) ) +#ifndef NECKO + result = NS_NewURL(&dialogURL, inXULURL ); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &result); + if (NS_FAILED(result)) return result; + + nsIURI *uri = nsnull; + const char *uriStr = inXULURL.GetBuffer(); + result = service->NewURI(uriStr, nsnull, &uri); + if (NS_FAILED(result)) return result; + + result = uri->QueryInterface(nsIURL::GetIID(), (void**)&dialogURL); + NS_RELEASE(uri); +#endif // NECKO + if (!NS_SUCCEEDED (result) ) + { + appShellService->Release(); return result; + } NS_IF_RELEASE( mWebShellWindow ); appShellService->RunModalDialog( nsnull, dialogURL, mWebShellWindow, nsnull, this, 300, 200); diff --git a/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp b/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp index 7cffbe02443..42d41d4a331 100644 --- a/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp +++ b/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp @@ -26,6 +26,11 @@ #include "nsIComponentManager.h" #include "nsIServiceManager.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIPref.h" #include "nsINameSpaceManager.h" @@ -1257,7 +1262,20 @@ nsWebShellWindow::NewWebShell(PRUint32 aChromeMask, PRBool aVisible, eQueueService->PushThreadEventQueue(); nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "chrome://navigator/content/"); + char * urlStr = "chrome://navigator/content/"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_SUCCEEDED(rv)) rv = appShell->CreateTopLevelWindow(nsnull, urlObj, PR_FALSE, *getter_AddRefs(newWindow), @@ -2266,8 +2284,21 @@ NS_IMETHODIMP nsWebShellWindow::Init(nsIAppShell* aAppShell, { nsresult rv; nsCOMPtr urlObj; + char * urlStr = "chrome://navigator/content/"; - rv = NS_NewURL(getter_AddRefs(urlObj), "chrome://navigator/content/"); +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/bootstrap/nsAppRunner.cpp b/mozilla/xpfe/bootstrap/nsAppRunner.cpp index f604f54fa43..fbe14c256f8 100644 --- a/mozilla/xpfe/bootstrap/nsAppRunner.cpp +++ b/mozilla/xpfe/bootstrap/nsAppRunner.cpp @@ -19,6 +19,12 @@ #include "nsIServiceManager.h" #include "nsIComponentManager.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 "nsIWidget.h" #include "nsIPref.h" #include "plevent.h" @@ -138,6 +144,10 @@ int main(int argc, char* argv[]) nsIDOMAppCoresManager *appCoresManager = nsnull; nsIURL* url = nsnull; nsIPref *prefs = nsnull; +#ifdef NECKO + nsIIOService* service = nsnull; + nsIURI *uri = nsnull; +#endif // NECKO // initialization for Full Circle #ifdef MOZ_FULLCIRCLE @@ -472,7 +482,21 @@ int main(int argc, char* argv[]) ///write me... nsIWebShellWindow* newWindow; +#ifndef NECKO rv = NS_NewURL(&url, urlstr); +#else + rv = nsServiceManager::GetService(kIOServiceCID, + nsIIOService::GetIID(), + (nsISupports **)&service); + if (NS_FAILED(rv)) return rv; + + rv = service->NewURI(urlstr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO + if (NS_FAILED(rv)) { goto done; } @@ -701,5 +725,10 @@ done: /* * Translate the nsresult into an appropriate platform-specific return code. */ + +#ifdef NECKO + nsServiceManager::ReleaseService(kIOServiceCID, service); +#endif // NECKO + return TranslateReturnValue(rv); } diff --git a/mozilla/xpfe/components/find/src/nsFindComponent.cpp b/mozilla/xpfe/components/find/src/nsFindComponent.cpp index d59fce88d4e..69ef03da164 100644 --- a/mozilla/xpfe/components/find/src/nsFindComponent.cpp +++ b/mozilla/xpfe/components/find/src/nsFindComponent.cpp @@ -33,6 +33,12 @@ #include "nsIDocumentViewer.h" #include "nsIContent.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 "nsFileSpec.h" #include "nsIFactory.h" #include "pratom.h" @@ -629,10 +635,24 @@ nsFindComponent::Find(nsISupports *aContext, PRBool *aDidFind) // Make url for dialog xul. nsIURL *url; - + char * urlStr = "resource:/res/samples/finddialog.xul"; + // this should be a chrome URI // chrome://navigator/dialogs/content/default/finddialog.xul or something. - rv = NS_NewURL( &url, "resource:/res/samples/finddialog.xul" ); +#ifndef NECKO + rv = NS_NewURL( &url, urlStr ); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, 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 // Create callbacks object for the find dialog. nsFindDialog *dialog = new nsFindDialog( this, context ); diff --git a/mozilla/xpfe/components/prefwindow/src/nsPrefWindow.cpp b/mozilla/xpfe/components/prefwindow/src/nsPrefWindow.cpp index 6d0f30e0a42..18bbee6b99d 100644 --- a/mozilla/xpfe/components/prefwindow/src/nsPrefWindow.cpp +++ b/mozilla/xpfe/components/prefwindow/src/nsPrefWindow.cpp @@ -22,6 +22,11 @@ #include "nsIPref.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIFileLocator.h" #include "nsFileLocations.h" #include "nsFileSpec.h" @@ -180,7 +185,21 @@ NS_IMETHODIMP nsPrefWindow::showWindow( // (code adapted from nsToolkitCore::ShowModal. yeesh.) nsIWebShellWindow* window = nsnull; nsCOMPtr urlObj; - nsresult rv = NS_NewURL(getter_AddRefs(urlObj), "chrome://pref/content/"); + char * urlStr = "chrome://pref/content/"; + nsresult rv; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/components/related/src/nsRelatedLinksHandler.cpp b/mozilla/xpfe/components/related/src/nsRelatedLinksHandler.cpp index b0986e138f5..71f26bbaad6 100644 --- a/mozilla/xpfe/components/related/src/nsRelatedLinksHandler.cpp +++ b/mozilla/xpfe/components/related/src/nsRelatedLinksHandler.cpp @@ -35,6 +35,11 @@ #include "nsIServiceManager.h" #include "nsIStreamListener.h" #include "nsIURL.h" +#ifdef NECKO +#include "nsIIOService.h" +#include "nsIURI.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsRDFCID.h" #include "nsString.h" #include "nsVoidArray.h" @@ -734,14 +739,24 @@ RelatedLinksHandlerImpl::SetURL(char* aURL) nsAutoString relatedLinksQueryURL("http://www-rl.netscape.com/wtgn?"); relatedLinksQueryURL += mRelatedLinksURL; - char *queryURL = relatedLinksQueryURL.ToNewCString(); + const char *queryURL = relatedLinksQueryURL.GetBuffer(); if (! queryURL) return NS_ERROR_OUT_OF_MEMORY; nsCOMPtr url; - rv = NS_NewURL(getter_AddRefs(url), (const char*) queryURL); +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(url), queryURL); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; - delete[] queryURL; + nsIURI *uri = nsnull; + rv = service->NewURI(queryURL, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return rv; diff --git a/mozilla/xpfe/components/startup/src/nsCommandLineServiceMac.cpp b/mozilla/xpfe/components/startup/src/nsCommandLineServiceMac.cpp index bcec68c68d7..72527415ffa 100644 --- a/mozilla/xpfe/components/startup/src/nsCommandLineServiceMac.cpp +++ b/mozilla/xpfe/components/startup/src/nsCommandLineServiceMac.cpp @@ -29,6 +29,12 @@ #include "nsIAppShellService.h" #include "nsIServiceManager.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 "nsIDOMToolkitCore.h" #include "nsIWebShellWindow.h" #include "nsIWebShell.h" @@ -978,7 +984,20 @@ nsIWebShellWindow* FindWebShellWindow(nsIXULWindowCallbacks* inCallbacks) const PRInt32 windowWidth = 615; const PRInt32 windowHeight = 650; nsCOMPtr urlObj; - rv = NS_NewURL(getter_AddRefs(urlObj), "chrome://navigator/content"); + char * urlStr = "chrome://navigator/content"; +#ifndef NECKO + rv = NS_NewURL(getter_AddRefs(urlObj), urlStr); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&urlObj); + NS_RELEASE(uri); +#endif // NECKO if (NS_FAILED(rv)) return nsnull; rv = appShellService->CreateTopLevelWindow( diff --git a/mozilla/xpfe/components/ucth/src/nsUnknownContentTypeHandler.cpp b/mozilla/xpfe/components/ucth/src/nsUnknownContentTypeHandler.cpp index b2350813755..668fe5294e5 100644 --- a/mozilla/xpfe/components/ucth/src/nsUnknownContentTypeHandler.cpp +++ b/mozilla/xpfe/components/ucth/src/nsUnknownContentTypeHandler.cpp @@ -23,6 +23,12 @@ #include "nsIDocumentObserver.h" #include "nsString.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 "nsIWebShellWindow.h" #include "nsIContent.h" #include "nsINameSpaceManager.h" @@ -200,7 +206,20 @@ nsUnknownContentTypeHandler::HandleUnknownContentType( nsIURL *aURL, // Make url for dialog xul. nsIURL *url; - rv = NS_NewURL( &url, "resource:/res/samples/unknownContent.xul" ); + char * urlStr = "resource:/res/samples/unknownContent.xul"; +#ifndef NECKO + rv = NS_NewURL( &url, urlStr ); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if ( NS_SUCCEEDED(rv) ) { // Create "save to disk" nsIXULCallbacks... diff --git a/mozilla/xpfe/components/xfer/src/nsDownloadProgressDialog.cpp b/mozilla/xpfe/components/xfer/src/nsDownloadProgressDialog.cpp index e418c6c2395..7f7cd7af104 100644 --- a/mozilla/xpfe/components/xfer/src/nsDownloadProgressDialog.cpp +++ b/mozilla/xpfe/components/xfer/src/nsDownloadProgressDialog.cpp @@ -25,10 +25,20 @@ #include "nsINameSpaceManager.h" #include "nsIContentViewer.h" #include "nsIDOMElement.h" +#ifndef NECKO #include "nsINetService.h" +static NS_DEFINE_IID( kNetServiceCID, NS_NETSERVICE_CID ); +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#include "nsIServiceManager.h" +#include "nsIChannel.h" +#include "nsIEventQueueService.h" +static NS_DEFINE_IID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO static NS_DEFINE_IID( kAppShellServiceCID, NS_APPSHELL_SERVICE_CID ); -static NS_DEFINE_IID( kNetServiceCID, NS_NETSERVICE_CID ); static nsresult setAttribute( nsIDOMXULDocument *, const char*, const char*, const nsString& ); @@ -50,6 +60,7 @@ nsDownloadProgressDialog::OnClose() { void nsDownloadProgressDialog::OnStart() { // Load source stream into file. +#ifndef NECKO nsINetService *inet = 0; nsresult rv = nsServiceManager::GetService( kNetServiceCID, nsINetService::GetIID(), @@ -61,6 +72,34 @@ nsDownloadProgressDialog::OnStart() { DEBUG_PRINTF( PR_STDOUT, "%s %d: Error getting Net Service, rv=0x%X\n", __FILE__, (int)__LINE__, (int)rv ); } +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIURI *uri = nsnull; + rv = mUrl->QueryInterface(nsIURI::GetIID(), (void**)&uri); + if (NS_FAILED(rv)) return; + + nsIChannel *channel = nsnull; + // XXX NECKO verb? getter? + rv = service->NewChannelFromURI("load", uri, nsnull, &channel); + NS_RELEASE(uri); + if (NS_FAILED(rv)) return; + + // Create the Event Queue for this thread... + NS_WITH_SERVICE(nsIEventQueueService, eventQService, kEventQueueServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIEventQueue *eventQ = nsnull; + rv = eventQService->GetThreadEventQueue(PR_CurrentThread(), &eventQ); + if (NS_FAILED(rv)) return; + + rv = channel->AsyncRead(0, -1, nsnull, eventQ, this); + NS_RELEASE(eventQ); + NS_RELEASE(channel); + if (NS_FAILED(rv)) return; +#endif // NECKO } void @@ -107,7 +146,20 @@ nsDownloadProgressDialog::Show() { if ( NS_SUCCEEDED( rv ) ) { // Open "download progress" dialog. nsIURL *url; - rv = NS_NewURL( &url, "resource:/res/samples/downloadProgress.xul" ); + char * urlStr = "resource:/res/samples/downloadProgress.xul"; +#ifndef NECKO + rv = NS_NewURL( &url, urlStr ); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if ( NS_SUCCEEDED(rv) ) { // Create "save to disk" nsIXULCallbacks... diff --git a/mozilla/xpinstall/src/nsInstallProgressDialog.cpp b/mozilla/xpinstall/src/nsInstallProgressDialog.cpp index 6cdeb620c98..056925a25bb 100644 --- a/mozilla/xpinstall/src/nsInstallProgressDialog.cpp +++ b/mozilla/xpinstall/src/nsInstallProgressDialog.cpp @@ -34,18 +34,20 @@ #include "nsINameSpaceManager.h" #include "nsIContentViewer.h" #include "nsIDOMElement.h" +#include "nsIURL.h" +#ifndef NECKO #include "nsINetService.h" - +#else +#include "nsIIOService.h" +#include "nsIURI.h" +#include "nsIServiceManager.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#endif // NECKO #include "nsIWebShell.h" #include "nsIWebShellWindow.h" static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID( kAppShellServiceCID, NS_APPSHELL_SERVICE_CID ); -static NS_DEFINE_IID( kNetServiceCID, NS_NETSERVICE_CID ); - - - - nsInstallProgressDialog::nsInstallProgressDialog() { @@ -216,7 +218,20 @@ nsInstallProgressDialog::Open() { // Open "progress" dialog. nsIURL *url; - rv = NS_NewURL( &url, "resource:/res/xpinstall/progress.xul" ); + char * urlStr = "resource:/res/xpinstall/progress.xul"; +#ifndef NECKO + rv = NS_NewURL( &url, urlStr ); +#else + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return rv; + + nsIURI *uri = nsnull; + rv = service->NewURI(urlStr, nsnull, &uri); + if (NS_FAILED(rv)) return rv; + + rv = uri->QueryInterface(nsIURL::GetIID(), (void**)&url); + NS_RELEASE(uri); +#endif // NECKO if ( NS_SUCCEEDED(rv) ) { @@ -349,11 +364,9 @@ nsresult nsInstallProgressDialog::setDlgAttribute( const char *id, } else { rv = NS_ERROR_NULL_POINTER; } - return rv; } - // Utility to get element attribute. nsresult nsInstallProgressDialog::getDlgAttribute( const char *id, const char *name, diff --git a/mozilla/xpinstall/src/nsSoftwareUpdateStream.cpp b/mozilla/xpinstall/src/nsSoftwareUpdateStream.cpp new file mode 100644 index 00000000000..a2cf0819b0f --- /dev/null +++ b/mozilla/xpinstall/src/nsSoftwareUpdateStream.cpp @@ -0,0 +1,194 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. + */ + +#include "nsSoftwareUpdateStream.h" +#include "nscore.h" +#include "nsFileSpec.h" +#include "nsVector.h" + +#include "nsISupports.h" +#include "nsIServiceManager.h" + +#include "nsIURL.h" +#include "nsINetlibURL.h" +#ifndef NECKO +#include "nsINetService.h" +#else +#include "nsIIOService.h" +#include "nsIChannel.h" +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); +#include "nsIEventQueueService.h" +static NS_DEFINE_CID(kEventQueueService, NS_EVENTQUEUESERVICE_CID); +#endif // NECKO +#include "nsIInputStream.h" +#include "nsIStreamListener.h" + +#include "nsISoftwareUpdate.h" +#include "nsSoftwareUpdateIIDs.h" + + +static NS_DEFINE_IID(kISoftwareUpdateIID, NS_ISOFTWAREUPDATE_IID); +static NS_DEFINE_IID(kSoftwareUpdateCID, NS_SoftwareUpdate_CID); + + +nsSoftwareUpdateListener::nsSoftwareUpdateListener(const nsString& fromURL, const nsString& localFile, long flags) +{ + NS_INIT_REFCNT(); + + mFromURL = fromURL; + mLocalFile = localFile; + mFlags = flags; + + mOutFileDesc = PR_Open(nsAutoCString(localFile), PR_CREATE_FILE | PR_RDWR, 0744); + + if(mOutFileDesc == NULL) + { + mResult = -1; + }; + + mResult = nsServiceManager::GetService( kSoftwareUpdateCID, + kISoftwareUpdateIID, + (nsISupports**)&mSoftwareUpdate); + + if (NS_FAILED(mResult)) + return; + + nsIURL *pURL = nsnull; +#ifndef NECKO + mResult = NS_NewURL(&pURL, fromURL); + if (NS_FAILED(mResult)) + return; + + mResult = NS_OpenURL(pURL, this); +#else + nsresult rv; + NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv); + if (NS_FAILED(rv)) return; + + nsIEventQueue *eventQ = nsnull; + NS_WITH_SERVICE(nsIEventQueueService, eventQService, kEventQueueService, &rv); + if (NS_FAILED(rv)) return; + + mResult = eventQService->GetThreadEventQueue(PR_CurrentThread(), &eventQ); + if (NS_FAILED(rv)) return; + + // XXX NECKO verb? getter? + nsIChannel *channel = nsnull; + const char *urlStr = fromURL.GetBuffer(); + rv = service->NewChannel("load", urlStr, nsnull, nsnull, &channel); + if (NS_FAILED(mResult)) return; + + rv = channel->AsyncRead(0, -1, nsnull, eventQ, this); + NS_RELEASE(eventQ); + NS_RELEASE(channel); + mResult = rv; + return; +#endif // NECKO +} + +nsSoftwareUpdateListener::~nsSoftwareUpdateListener() +{ + mSoftwareUpdate->Release(); +} + + +NS_IMPL_ISUPPORTS( nsSoftwareUpdateListener, kIStreamListenerIID ) + +NS_IMETHODIMP +nsSoftwareUpdateListener::GetBindInfo(nsIURL* aURL, nsStreamBindingInfo* info) +{ + return NS_OK; +} + +NS_IMETHODIMP +nsSoftwareUpdateListener::OnProgress( nsIURL* aURL, + PRUint32 Progress, + PRUint32 ProgressMax) +{ + return NS_OK; +} + +NS_IMETHODIMP +nsSoftwareUpdateListener::OnStatus(nsIURL* aURL, + const PRUnichar* aMsg) +{ + return NS_OK; +} + +NS_IMETHODIMP +nsSoftwareUpdateListener::OnStartBinding(nsIURL* aURL, + const char *aContentType) +{ + return NS_OK; +} + +NS_IMETHODIMP +nsSoftwareUpdateListener::OnStopBinding(nsIURL* aURL, + nsresult status, + const PRUnichar* aMsg) +{ + switch( status ) + { + + case NS_BINDING_SUCCEEDED: + PR_Close(mOutFileDesc); + mSoftwareUpdate->InstallJar(mFromURL, + mLocalFile, + mFlags ); + break; + + case NS_BINDING_FAILED: + case NS_BINDING_ABORTED: + mResult = status; + PR_Close(mOutFileDesc); + break; + + default: + mResult = NS_ERROR_ILLEGAL_VALUE; + } + + return mResult; +} + +#define BUF_SIZE 1024 + +NS_IMETHODIMP +nsSoftwareUpdateListener::OnDataAvailable(nsIURL* aURL, nsIInputStream *pIStream, PRUint32 length) +{ + PRUint32 len; + nsresult err; + char buffer[BUF_SIZE]; + + do + { + err = pIStream->Read(buffer, BUF_SIZE, &len); + + if (mResult == 0 && err == 0) + { + if ( PR_Write(mOutFileDesc, buffer, len) == -1 ) + { + /* Error */ + return -1; + } + } + + } while (len > 0 && err == NS_OK); + + return 0; +} \ No newline at end of file