diff --git a/mozilla/embedding/qa/testembed/QaUtils.cpp b/mozilla/embedding/qa/testembed/QaUtils.cpp index 3387740ec21..ce30ec832b8 100644 --- a/mozilla/embedding/qa/testembed/QaUtils.cpp +++ b/mozilla/embedding/qa/testembed/QaUtils.cpp @@ -309,12 +309,16 @@ nsIDOMWindow * GetTheDOMWindow(nsIWebBrowser *webBrowser) return (theDOMWindow); } -nsCAutoString GetTheUri(nsIURI *theUri, int displayMethod) +nsCAutoString GetTheUri(nsIURI *theURI, int displayMethod) { nsresult rv; nsCAutoString uriString; - rv = theUri->GetSpec(uriString); + if (!theURI) { + QAOutput("nsIURI object is null. return failure."); + return nsnull; + } + rv = theURI->GetSpec(uriString); RvTestResult(rv, "nsIURI::GetSpec() test", displayMethod); FormatAndPrintOutput("the uri = ", uriString, displayMethod); diff --git a/mozilla/embedding/qa/testembed/Tests.cpp b/mozilla/embedding/qa/testembed/Tests.cpp index 8a6ab55c4e8..69226851cde 100644 --- a/mozilla/embedding/qa/testembed/Tests.cpp +++ b/mozilla/embedding/qa/testembed/Tests.cpp @@ -541,6 +541,7 @@ void CTests::OnTestsAddUriContentListenerByOpenUri() theStr = myDialog.m_urlfield; rv = NS_NewURI(getter_AddRefs(theURI), theStr); RvTestResult(rv, "For OpenURI(): NS_NewURI() test", 1); + FormatAndPrintOutput("theStr = ", theStr, 1); GetTheUri(theURI, 1); rv = NS_NewChannel(getter_AddRefs(theChannel), theURI, nsnull, nsnull); RvTestResult(rv, "For OpenURI(): NS_NewChannel() test", 1); @@ -573,11 +574,18 @@ void CTests::OnTestsNSNewChannelAndAsyncOpen() rv = NS_NewChannel(getter_AddRefs(theChannel), theURI, nsnull, nsnull); RvTestResult(rv, "NS_NewChannel() test", 2); + if (!theChannel) + { + QAOutput("We didn't get the Channel for AsyncOpen(). Test failed.", 1); + return; + } QAOutput("AynchOpen() test.", 2); nsCOMPtr listener(NS_STATIC_CAST(nsIStreamListener*, qaBrowserImpl)); nsCOMPtr thisListener(dont_AddRef(NS_GetWeakReference(listener))); qaWebBrowser->AddWebBrowserListener(thisListener, NS_GET_IID(nsIStreamListener)); + if (!listener) + QAOutput("listener object is null for AsyncOpen().", 1); // this calls nsIStreamListener::OnDataAvailable() rv = theChannel->AsyncOpen(listener, nsnull); RvTestResult(rv, "AsyncOpen()", 2); @@ -720,6 +728,11 @@ void CTests::OnToolsRemoveAllGH() void CTests::OnToolsTestYourMethod() { // place your test code here + if (myDialog.DoModal() == IDOK) + { + rv = qaWebNav->GetCurrentURI(getter_AddRefs(theURI)); + GetTheUri(theURI, 1); + } } // *********************************************************************** diff --git a/mozilla/embedding/qa/testembed/nsirequest.cpp b/mozilla/embedding/qa/testembed/nsirequest.cpp index 2b13e1dd1c1..5402a2b48cf 100644 --- a/mozilla/embedding/qa/testembed/nsirequest.cpp +++ b/mozilla/embedding/qa/testembed/nsirequest.cpp @@ -229,7 +229,7 @@ nsIChannel * CNsIRequest::GetTheChannel(int i, nsILoadGroup *theLoadGroup) if (!theURI) { QAOutput("We didn't get the URI. Test failed.", 1); - return NULL; + return nsnull; } else { retURI = GetTheUri(theURI, 1); @@ -246,7 +246,7 @@ nsIChannel * CNsIRequest::GetTheChannel(int i, nsILoadGroup *theLoadGroup) if (!theChannel) { QAOutput("We didn't get the Channel. Test failed.", 1); - return NULL; + return nsnull; } else { RvTestResult(rv, "NS_NewChannel", 1); @@ -257,6 +257,10 @@ nsIChannel * CNsIRequest::GetTheChannel(int i, nsILoadGroup *theLoadGroup) nsCOMPtr thisListener(dont_AddRef(NS_GetWeakReference(listener))); qaWebBrowser->AddWebBrowserListener(thisListener, NS_GET_IID(nsIStreamListener)); + if (!listener) { + QAOutput("We didn't get the listener for AsyncOpen(). Test failed.", 1); + return nsnull; + } // this calls nsIStreamListener::OnDataAvailable() rv = theChannel->AsyncOpen(listener, nsnull); RvTestResult(rv, "AsyncOpen()", 1);