From e4ae6faa38e3452a639961dbb834adcb2d104d2c Mon Sep 17 00:00:00 2001 From: Jonathan Hedley Date: Mon, 27 Sep 2021 13:43:05 +1000 Subject: [PATCH] Per spec, only foster incoming nodes if current node is a table foster target --- src/main/java/org/jsoup/parser/HtmlTreeBuilder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jsoup/parser/HtmlTreeBuilder.java b/src/main/java/org/jsoup/parser/HtmlTreeBuilder.java index 8a06312b6d..aaf16dbf55 100644 --- a/src/main/java/org/jsoup/parser/HtmlTreeBuilder.java +++ b/src/main/java/org/jsoup/parser/HtmlTreeBuilder.java @@ -10,7 +10,6 @@ import org.jsoup.nodes.FormElement; import org.jsoup.nodes.Node; import org.jsoup.nodes.TextNode; -import org.jsoup.select.Elements; import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; @@ -20,6 +19,7 @@ import java.util.List; import static org.jsoup.internal.StringUtil.inSorted; +import static org.jsoup.parser.HtmlTreeBuilderState.Constants.InTableFoster; /** * HTML Tree Builder; creates a DOM from Tokens. @@ -315,7 +315,7 @@ private void insertNode(Node node) { // if the stack hasn't been set up yet, elements (doctype, comments) go into the doc if (stack.isEmpty()) doc.appendChild(node); - else if (isFosterInserts()) + else if (isFosterInserts() && StringUtil.inSorted(currentElement().normalName(), InTableFoster)) insertInFosterParent(node); else currentElement().appendChild(node);