diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
| commit | c6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch) | |
| tree | 36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/golang.org/x/net/html/const.go | |
| parent | 0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff) | |
| download | jbmafp-c6cc0108ca7738023b45e0eeac0fa2390532dd93.tar.gz | |
Diffstat (limited to 'vendor/golang.org/x/net/html/const.go')
| -rw-r--r-- | vendor/golang.org/x/net/html/const.go | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/vendor/golang.org/x/net/html/const.go b/vendor/golang.org/x/net/html/const.go new file mode 100644 index 0000000..ff7acf2 --- /dev/null +++ b/vendor/golang.org/x/net/html/const.go | |||
| @@ -0,0 +1,111 @@ | |||
| 1 | // Copyright 2011 The Go Authors. All rights reserved. | ||
| 2 | // Use of this source code is governed by a BSD-style | ||
| 3 | // license that can be found in the LICENSE file. | ||
| 4 | |||
| 5 | package html | ||
| 6 | |||
| 7 | // Section 12.2.4.2 of the HTML5 specification says "The following elements | ||
| 8 | // have varying levels of special parsing rules". | ||
| 9 | // https://html.spec.whatwg.org/multipage/syntax.html#the-stack-of-open-elements | ||
| 10 | var isSpecialElementMap = map[string]bool{ | ||
| 11 | "address": true, | ||
| 12 | "applet": true, | ||
| 13 | "area": true, | ||
| 14 | "article": true, | ||
| 15 | "aside": true, | ||
| 16 | "base": true, | ||
| 17 | "basefont": true, | ||
| 18 | "bgsound": true, | ||
| 19 | "blockquote": true, | ||
| 20 | "body": true, | ||
| 21 | "br": true, | ||
| 22 | "button": true, | ||
| 23 | "caption": true, | ||
| 24 | "center": true, | ||
| 25 | "col": true, | ||
| 26 | "colgroup": true, | ||
| 27 | "dd": true, | ||
| 28 | "details": true, | ||
| 29 | "dir": true, | ||
| 30 | "div": true, | ||
| 31 | "dl": true, | ||
| 32 | "dt": true, | ||
| 33 | "embed": true, | ||
| 34 | "fieldset": true, | ||
| 35 | "figcaption": true, | ||
| 36 | "figure": true, | ||
| 37 | "footer": true, | ||
| 38 | "form": true, | ||
| 39 | "frame": true, | ||
| 40 | "frameset": true, | ||
| 41 | "h1": true, | ||
| 42 | "h2": true, | ||
| 43 | "h3": true, | ||
| 44 | "h4": true, | ||
| 45 | "h5": true, | ||
| 46 | "h6": true, | ||
| 47 | "head": true, | ||
| 48 | "header": true, | ||
| 49 | "hgroup": true, | ||
| 50 | "hr": true, | ||
| 51 | "html": true, | ||
| 52 | "iframe": true, | ||
| 53 | "img": true, | ||
| 54 | "input": true, | ||
| 55 | "keygen": true, // "keygen" has been removed from the spec, but are kept here for backwards compatibility. | ||
| 56 | "li": true, | ||
| 57 | "link": true, | ||
| 58 | "listing": true, | ||
| 59 | "main": true, | ||
| 60 | "marquee": true, | ||
| 61 | "menu": true, | ||
| 62 | "meta": true, | ||
| 63 | "nav": true, | ||
| 64 | "noembed": true, | ||
| 65 | "noframes": true, | ||
| 66 | "noscript": true, | ||
| 67 | "object": true, | ||
| 68 | "ol": true, | ||
| 69 | "p": true, | ||
| 70 | "param": true, | ||
| 71 | "plaintext": true, | ||
| 72 | "pre": true, | ||
| 73 | "script": true, | ||
| 74 | "section": true, | ||
| 75 | "select": true, | ||
| 76 | "source": true, | ||
| 77 | "style": true, | ||
| 78 | "summary": true, | ||
| 79 | "table": true, | ||
| 80 | "tbody": true, | ||
| 81 | "td": true, | ||
| 82 | "template": true, | ||
| 83 | "textarea": true, | ||
| 84 | "tfoot": true, | ||
| 85 | "th": true, | ||
| 86 | "thead": true, | ||
| 87 | "title": true, | ||
| 88 | "tr": true, | ||
| 89 | "track": true, | ||
| 90 | "ul": true, | ||
| 91 | "wbr": true, | ||
| 92 | "xmp": true, | ||
| 93 | } | ||
| 94 | |||
| 95 | func isSpecialElement(element *Node) bool { | ||
| 96 | switch element.Namespace { | ||
| 97 | case "", "html": | ||
| 98 | return isSpecialElementMap[element.Data] | ||
| 99 | case "math": | ||
| 100 | switch element.Data { | ||
| 101 | case "mi", "mo", "mn", "ms", "mtext", "annotation-xml": | ||
| 102 | return true | ||
| 103 | } | ||
| 104 | case "svg": | ||
| 105 | switch element.Data { | ||
| 106 | case "foreignObject", "desc", "title": | ||
| 107 | return true | ||
| 108 | } | ||
| 109 | } | ||
| 110 | return false | ||
| 111 | } | ||
