diff --git a/mozilla/layout/printing/nsPrintEngine.cpp b/mozilla/layout/printing/nsPrintEngine.cpp index c466211cffc..f94edefd2c5 100644 --- a/mozilla/layout/printing/nsPrintEngine.cpp +++ b/mozilla/layout/printing/nsPrintEngine.cpp @@ -169,6 +169,9 @@ static const char kPrintingPromptService[] = "@mozilla.org/embedcomp/printingpro #include "nsPIDOMWindow.h" #include "nsIFocusController.h" +#include "nsCDefaultURIFixup.h" +#include "nsIURIFixup.h" + //----------------------------------------------------- // PR LOGGING #ifdef MOZ_LOGGING @@ -1822,9 +1825,17 @@ nsPrintEngine::GetDocumentTitleAndURL(nsIDocument* aDoc, nsIURI* url = aDoc->GetDocumentURI(); if (!url) return; + nsCOMPtr urifixup(do_GetService(NS_URIFIXUP_CONTRACTID)); + if (!urifixup) return; + + nsCOMPtr exposableURI; + urifixup->CreateExposableURI(url, getter_AddRefs(exposableURI)); + + if (!exposableURI) return; + nsCAutoString urlCStr; - url->GetSpec(urlCStr); - *aURLStr = ToNewUnicode(NS_ConvertUTF8toUCS2(urlCStr)); + exposableURI->GetSpec(urlCStr); + *aURLStr = UTF8ToNewUnicode(urlCStr); } //---------------------------------------------------------------------