diff --git a/src/pkg/html/parse_test.go b/src/pkg/html/parse_test.go
index 3805bd7e9e..1e39f3ed70 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 2c868f511d..2a57566fd4 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 a6fbcdfcfe..2a2f96bbab 100644
--- a/src/pkg/html/token.go
+++ b/src/pkg/html/token.go
@@ -405,14 +405,13 @@ func (z *Tokenizer) readStartTag() TokenType {
break
}
}
- // Any "", "", "