From b368ac9265406438ea7ecb8876d62c3aea52bf5c Mon Sep 17 00:00:00 2001 From: Roy Tam Date: Thu, 12 Jul 2018 13:43:57 +0800 Subject: [PATCH] applied bug1385272.diff --- dom/base/nsDocumentEncoder.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dom/base/nsDocumentEncoder.cpp b/dom/base/nsDocumentEncoder.cpp index 7ea49009b4..0cbcc66d56 100644 --- a/dom/base/nsDocumentEncoder.cpp +++ b/dom/base/nsDocumentEncoder.cpp @@ -1027,6 +1027,15 @@ nsDocumentEncoder::EncodeToString(nsAString& aOutputString) return EncodeToStringWithMaxLength(0, aOutputString); } +static bool ParentIsTR(nsIContent* aContent) { + mozilla::dom::Element* parent = aContent->GetParentElement(); + if (!parent) { + return false; + } + return parent->IsHTML(nsGkAtoms::tr); +} + + NS_IMETHODIMP nsDocumentEncoder::EncodeToStringWithMaxLength(uint32_t aMaxLength, nsAString& aOutputString) @@ -1093,7 +1102,7 @@ nsDocumentEncoder::EncodeToStringWithMaxLength(uint32_t aMaxLength, NS_ENSURE_SUCCESS(rv, rv); } nsCOMPtr content = do_QueryInterface(node); - if (content && content->IsHTML(nsGkAtoms::tr)) { + if (content && content->IsHTML(nsGkAtoms::tr) && !ParentIsTR(content)) { nsINode* n = content; if (!prevNode) { // Went from a non- to a