diff --git a/mozilla/docshell/base/nsWebShell.cpp b/mozilla/docshell/base/nsWebShell.cpp index 92b18aea996..6eaa67c1f55 100644 --- a/mozilla/docshell/base/nsWebShell.cpp +++ b/mozilla/docshell/base/nsWebShell.cpp @@ -1147,6 +1147,10 @@ nsWebShell::DoLoadURL(nsIURI * aUri, } rv = NS_OpenURI(getter_AddRefs(pChannel), aUri, pNetService, loadGroup, requestor, aType); + if (NS_SUCCEEDED(rv)) { + // XXX wrong, but needed for now: + rv = pChannel->SetOriginalURI(referrer ? referrer.get() : aUri); + } if (NS_FAILED(rv)) { if (rv == NS_ERROR_DOM_RETVAL_UNDEFINED) // if causing the channel changed the return NS_OK; // dom and there is nothing else to do @@ -2324,7 +2328,7 @@ nsWebShell::OnEndDocumentLoad(nsIDocumentLoader* loader, if (NS_SUCCEEDED(rv)) { urlString = spec; if (nsnull != mContainer) { - rv = mContainer->EndLoadURL(this, urlString.GetUnicode(), aStatus); + rv = mContainer->EndLoadURL(this, urlString.GetUnicode(), 0); } nsCRT::free(spec); } diff --git a/mozilla/webshell/src/nsWebShell.cpp b/mozilla/webshell/src/nsWebShell.cpp index 92b18aea996..6eaa67c1f55 100644 --- a/mozilla/webshell/src/nsWebShell.cpp +++ b/mozilla/webshell/src/nsWebShell.cpp @@ -1147,6 +1147,10 @@ nsWebShell::DoLoadURL(nsIURI * aUri, } rv = NS_OpenURI(getter_AddRefs(pChannel), aUri, pNetService, loadGroup, requestor, aType); + if (NS_SUCCEEDED(rv)) { + // XXX wrong, but needed for now: + rv = pChannel->SetOriginalURI(referrer ? referrer.get() : aUri); + } if (NS_FAILED(rv)) { if (rv == NS_ERROR_DOM_RETVAL_UNDEFINED) // if causing the channel changed the return NS_OK; // dom and there is nothing else to do @@ -2324,7 +2328,7 @@ nsWebShell::OnEndDocumentLoad(nsIDocumentLoader* loader, if (NS_SUCCEEDED(rv)) { urlString = spec; if (nsnull != mContainer) { - rv = mContainer->EndLoadURL(this, urlString.GetUnicode(), aStatus); + rv = mContainer->EndLoadURL(this, urlString.GetUnicode(), 0); } nsCRT::free(spec); }