Browse Source

html: don't ignore token when current token is not <template>

Updates golang/go#23071

Change-Id: I36b0ee58f61b7de25730e0fb082eeb7ef2787594
Reviewed-on: https://go-review.googlesource.com/123920
Run-TryBot: Kunpei Sakai <namusyaka@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
Kunpei Sakai 7 years ago
parent
commit
c394268923
2 changed files with 16 additions and 3 deletions
  1. 0 3
      html/parse.go
  2. 16 0
      html/testdata/webkit/template.dat

+ 0 - 3
html/parse.go

@@ -680,9 +680,6 @@ func inHeadIM(p *parser) bool {
 				return true
 			}
 			p.generateAllImpliedEndTags()
-			if n := p.oe.top(); n.DataAtom != a.Template {
-				return true
-			}
 			p.popUntil(defaultScope, a.Template)
 			p.clearActiveFormattingElements()
 			p.templateStack.pop()

+ 16 - 0
html/testdata/webkit/template.dat

@@ -859,6 +859,22 @@
 |           <tr>
 |         <tfoot>
 
+#data
+<body><template><template><b><template></template></template>text</template>
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     <template>
+|       content
+|         <template>
+|           content
+|             <b>
+|               <template>
+|                 content
+|         "text"
+
 #data
 <body><template><col><colgroup>
 #errors