diff options
author | Nigel Tao <nigeltao@golang.org> | 2012-01-19 17:41:10 +1100 |
---|---|---|
committer | Nigel Tao <nigeltao@golang.org> | 2012-01-19 17:41:10 +1100 |
commit | b4829c1de6ffd8581c40932da7a57dcfdd0610fb (patch) | |
tree | 1c580baae0b0d1d5f95bfb34c0537a48f2ca6326 | |
parent | d4fe9c6a9d8232b9d925dfd1f0e11f4891a5ad27 (diff) | |
download | go-b4829c1de6ffd8581c40932da7a57dcfdd0610fb.tar.gz go-b4829c1de6ffd8581c40932da7a57dcfdd0610fb.zip |
html: in foreign content, check for HTML integration points in breakout
elements.
Pass tests10.dat, test 33:
<!DOCTYPE html><svg><desc><svg><ul>a
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <svg svg>
| <svg desc>
| <svg svg>
| <ul>
| "a"
Also pass test 34:
<!DOCTYPE html><p><svg><desc><p>
R=andybalholm, dsymonds
CC=golang-dev
https://golang.org/cl/5536048
-rw-r--r-- | src/pkg/html/parse.go | 4 | ||||
-rw-r--r-- | src/pkg/html/parse_test.go | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/pkg/html/parse.go b/src/pkg/html/parse.go index 43c04727ab..04f4ae7533 100644 --- a/src/pkg/html/parse.go +++ b/src/pkg/html/parse.go @@ -1713,8 +1713,8 @@ func parseForeignContent(p *parser) bool { } if breakout[p.tok.Data] { for i := len(p.oe) - 1; i >= 0; i-- { - // TODO: HTML, MathML integration points. - if p.oe[i].Namespace == "" { + // TODO: MathML integration points. + if p.oe[i].Namespace == "" || htmlIntegrationPoint(p.oe[i]) { p.oe = p.oe[:i+1] break } diff --git a/src/pkg/html/parse_test.go b/src/pkg/html/parse_test.go index c929c25772..1528dffaaf 100644 --- a/src/pkg/html/parse_test.go +++ b/src/pkg/html/parse_test.go @@ -184,7 +184,7 @@ func TestParser(t *testing.T) { {"tests4.dat", -1}, {"tests5.dat", -1}, {"tests6.dat", -1}, - {"tests10.dat", 33}, + {"tests10.dat", 35}, } for _, tf := range testFiles { f, err := os.Open("testdata/webkit/" + tf.filename) |