OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / golang.org / x / net / html / const.go
diff --git a/vendor/golang.org/x/net/html/const.go b/vendor/golang.org/x/net/html/const.go
new file mode 100644 (file)
index 0000000..52f651f
--- /dev/null
@@ -0,0 +1,102 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package html
+
+// Section 12.2.3.2 of the HTML5 specification says "The following elements
+// have varying levels of special parsing rules".
+// https://html.spec.whatwg.org/multipage/syntax.html#the-stack-of-open-elements
+var isSpecialElementMap = map[string]bool{
+       "address":    true,
+       "applet":     true,
+       "area":       true,
+       "article":    true,
+       "aside":      true,
+       "base":       true,
+       "basefont":   true,
+       "bgsound":    true,
+       "blockquote": true,
+       "body":       true,
+       "br":         true,
+       "button":     true,
+       "caption":    true,
+       "center":     true,
+       "col":        true,
+       "colgroup":   true,
+       "dd":         true,
+       "details":    true,
+       "dir":        true,
+       "div":        true,
+       "dl":         true,
+       "dt":         true,
+       "embed":      true,
+       "fieldset":   true,
+       "figcaption": true,
+       "figure":     true,
+       "footer":     true,
+       "form":       true,
+       "frame":      true,
+       "frameset":   true,
+       "h1":         true,
+       "h2":         true,
+       "h3":         true,
+       "h4":         true,
+       "h5":         true,
+       "h6":         true,
+       "head":       true,
+       "header":     true,
+       "hgroup":     true,
+       "hr":         true,
+       "html":       true,
+       "iframe":     true,
+       "img":        true,
+       "input":      true,
+       "isindex":    true,
+       "li":         true,
+       "link":       true,
+       "listing":    true,
+       "marquee":    true,
+       "menu":       true,
+       "meta":       true,
+       "nav":        true,
+       "noembed":    true,
+       "noframes":   true,
+       "noscript":   true,
+       "object":     true,
+       "ol":         true,
+       "p":          true,
+       "param":      true,
+       "plaintext":  true,
+       "pre":        true,
+       "script":     true,
+       "section":    true,
+       "select":     true,
+       "source":     true,
+       "style":      true,
+       "summary":    true,
+       "table":      true,
+       "tbody":      true,
+       "td":         true,
+       "template":   true,
+       "textarea":   true,
+       "tfoot":      true,
+       "th":         true,
+       "thead":      true,
+       "title":      true,
+       "tr":         true,
+       "track":      true,
+       "ul":         true,
+       "wbr":        true,
+       "xmp":        true,
+}
+
+func isSpecialElement(element *Node) bool {
+       switch element.Namespace {
+       case "", "html":
+               return isSpecialElementMap[element.Data]
+       case "svg":
+               return element.Data == "foreignObject"
+       }
+       return false
+}