diff --git a/mozilla/editor/base/nsHTMLEditor.cpp b/mozilla/editor/base/nsHTMLEditor.cpp index afc7b9ba13d..32d50b9a66f 100644 --- a/mozilla/editor/base/nsHTMLEditor.cpp +++ b/mozilla/editor/base/nsHTMLEditor.cpp @@ -24,6 +24,7 @@ #include "nsIDOMNodeList.h" #include "nsIDOMNSRange.h" #include "nsIDOMDocument.h" +#include "nsIDocument.h" #include "nsIDOMEventReceiver.h" #include "nsIDOMKeyListener.h" #include "nsIDOMMouseListener.h" @@ -533,6 +534,17 @@ NS_IMETHODIMP nsHTMLEditor::OutputHTMLToString(nsString& aOutputString) if (NS_FAILED(rv)) return rv; + nsCOMPtr domdoc; + rv = GetDocument(getter_AddRefs(domdoc)); + if (NS_FAILED(rv)) + return rv; + nsCOMPtr doc = do_QueryInterface(domdoc); + nsString mimetype ("text/html"); + + rv = encoder->Init(doc, mimetype); + if (NS_FAILED(rv)) + return rv; + return encoder->EncodeToString(aOutputString); #else return nsTextEditor::OutputHTMLToString(aOutputString); diff --git a/mozilla/editor/libeditor/html/nsHTMLEditor.cpp b/mozilla/editor/libeditor/html/nsHTMLEditor.cpp index afc7b9ba13d..32d50b9a66f 100644 --- a/mozilla/editor/libeditor/html/nsHTMLEditor.cpp +++ b/mozilla/editor/libeditor/html/nsHTMLEditor.cpp @@ -24,6 +24,7 @@ #include "nsIDOMNodeList.h" #include "nsIDOMNSRange.h" #include "nsIDOMDocument.h" +#include "nsIDocument.h" #include "nsIDOMEventReceiver.h" #include "nsIDOMKeyListener.h" #include "nsIDOMMouseListener.h" @@ -533,6 +534,17 @@ NS_IMETHODIMP nsHTMLEditor::OutputHTMLToString(nsString& aOutputString) if (NS_FAILED(rv)) return rv; + nsCOMPtr domdoc; + rv = GetDocument(getter_AddRefs(domdoc)); + if (NS_FAILED(rv)) + return rv; + nsCOMPtr doc = do_QueryInterface(domdoc); + nsString mimetype ("text/html"); + + rv = encoder->Init(doc, mimetype); + if (NS_FAILED(rv)) + return rv; + return encoder->EncodeToString(aOutputString); #else return nsTextEditor::OutputHTMLToString(aOutputString);