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);