diff --git a/src/pkg/html/parse_test.go b/src/pkg/html/parse_test.go
index 3805bd7e9e9..1e39f3ed70b 100644
--- a/src/pkg/html/parse_test.go
+++ b/src/pkg/html/parse_test.go
@@ -153,6 +153,8 @@ func TestParser(t *testing.T) {
{"tests1.dat", -1},
{"tests2.dat", -1},
{"tests3.dat", -1},
+ // tests4.dat is fragment cases.
+ {"tests5.dat", 10},
}
for _, tf := range testFiles {
f, err := os.Open("testdata/webkit/" + tf.filename)
diff --git a/src/pkg/html/render.go b/src/pkg/html/render.go
index 2c868f511d7..2a57566fd43 100644
--- a/src/pkg/html/render.go
+++ b/src/pkg/html/render.go
@@ -185,7 +185,7 @@ func render1(w writer, n *Node) error {
// Render any child nodes.
switch n.Data {
- case "noembed", "noframes", "noscript", "plaintext", "script", "style":
+ case "iframe", "noembed", "noframes", "noscript", "plaintext", "script", "style":
for _, c := range n.Child {
if c.Type != TextNode {
return fmt.Errorf("html: raw text element <%s> has non-text child node", n.Data)
diff --git a/src/pkg/html/token.go b/src/pkg/html/token.go
index a6fbcdfcfe5..2a2f96bbab6 100644
--- a/src/pkg/html/token.go
+++ b/src/pkg/html/token.go
@@ -405,14 +405,13 @@ func (z *Tokenizer) readStartTag() TokenType {
break
}
}
- // Any "", "", "