summaryrefslogtreecommitdiffstats
path: root/libgo/go/exp/html/atom
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/exp/html/atom')
-rw-r--r--libgo/go/exp/html/atom/atom.go81
-rw-r--r--libgo/go/exp/html/atom/atom_test.go109
-rw-r--r--libgo/go/exp/html/atom/gen.go636
-rw-r--r--libgo/go/exp/html/atom/table.go694
-rw-r--r--libgo/go/exp/html/atom/table_test.go341
5 files changed, 0 insertions, 1861 deletions
diff --git a/libgo/go/exp/html/atom/atom.go b/libgo/go/exp/html/atom/atom.go
deleted file mode 100644
index 2dbd0fbf7f5..00000000000
--- a/libgo/go/exp/html/atom/atom.go
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2012 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 atom provides integer codes (also known as atoms) for a fixed set of
-// frequently occurring HTML strings: tag names and attribute keys such as "p"
-// and "id".
-//
-// Sharing an atom's name between all elements with the same tag can result in
-// fewer string allocations when tokenizing and parsing HTML. Integer
-// comparisons are also generally faster than string comparisons.
-//
-// The value of an atom's particular code is not guaranteed to stay the same
-// between versions of this package. Neither is any ordering guaranteed:
-// whether atom.H1 < atom.H2 may also change. The codes are not guaranteed to
-// be dense. The only guarantees are that e.g. looking up "div" will yield
-// atom.Div, calling atom.Div.String will return "div", and atom.Div != 0.
-//
-// TODO(rsc): When this package moves out of exp we need to freeze atom values
-// across releases.
-package atom
-
-// Atom is an integer code for a string. The zero value maps to "".
-type Atom uint32
-
-// String returns the atom's name.
-func (a Atom) String() string {
- start := uint32(a >> 8)
- n := uint32(a & 0xff)
- if start+n > uint32(len(atomText)) {
- return ""
- }
- return atomText[start : start+n]
-}
-
-func (a Atom) string() string {
- return atomText[a>>8 : a>>8+a&0xff]
-}
-
-// fnv computes the FNV hash with an arbitrary starting value h.
-func fnv(h uint32, s []byte) uint32 {
- for i := range s {
- h ^= uint32(s[i])
- h *= 16777619
- }
- return h
-}
-
-func match(s string, t []byte) bool {
- for i, c := range t {
- if s[i] != c {
- return false
- }
- }
- return true
-}
-
-// Lookup returns the atom whose name is s. It returns zero if there is no
-// such atom. The lookup is case sensitive.
-func Lookup(s []byte) Atom {
- if len(s) == 0 || len(s) > maxAtomLen {
- return 0
- }
- h := fnv(hash0, s)
- if a := table[h&uint32(len(table)-1)]; int(a&0xff) == len(s) && match(a.string(), s) {
- return a
- }
- if a := table[(h>>16)&uint32(len(table)-1)]; int(a&0xff) == len(s) && match(a.string(), s) {
- return a
- }
- return 0
-}
-
-// String returns a string whose contents are equal to s. In that sense, it is
-// equivalent to string(s) but may be more efficient.
-func String(s []byte) string {
- if a := Lookup(s); a != 0 {
- return a.String()
- }
- return string(s)
-}
diff --git a/libgo/go/exp/html/atom/atom_test.go b/libgo/go/exp/html/atom/atom_test.go
deleted file mode 100644
index 6e33704dd5e..00000000000
--- a/libgo/go/exp/html/atom/atom_test.go
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2012 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 atom
-
-import (
- "sort"
- "testing"
-)
-
-func TestKnown(t *testing.T) {
- for _, s := range testAtomList {
- if atom := Lookup([]byte(s)); atom.String() != s {
- t.Errorf("Lookup(%q) = %#x (%q)", s, uint32(atom), atom.String())
- }
- }
-}
-
-func TestHits(t *testing.T) {
- for _, a := range table {
- if a == 0 {
- continue
- }
- got := Lookup([]byte(a.String()))
- if got != a {
- t.Errorf("Lookup(%q) = %#x, want %#x", a.String(), uint32(got), uint32(a))
- }
- }
-}
-
-func TestMisses(t *testing.T) {
- testCases := []string{
- "",
- "\x00",
- "\xff",
- "A",
- "DIV",
- "Div",
- "dIV",
- "aa",
- "a\x00",
- "ab",
- "abb",
- "abbr0",
- "abbr ",
- " abbr",
- " a",
- "acceptcharset",
- "acceptCharset",
- "accept_charset",
- "h0",
- "h1h2",
- "h7",
- "onClick",
- "λ",
- // The following string has the same hash (0xa1d7fab7) as "onmouseover".
- "\x00\x00\x00\x00\x00\x50\x18\xae\x38\xd0\xb7",
- }
- for _, tc := range testCases {
- got := Lookup([]byte(tc))
- if got != 0 {
- t.Errorf("Lookup(%q): got %d, want 0", tc, got)
- }
- }
-}
-
-func TestForeignObject(t *testing.T) {
- const (
- afo = Foreignobject
- afO = ForeignObject
- sfo = "foreignobject"
- sfO = "foreignObject"
- )
- if got := Lookup([]byte(sfo)); got != afo {
- t.Errorf("Lookup(%q): got %#v, want %#v", sfo, got, afo)
- }
- if got := Lookup([]byte(sfO)); got != afO {
- t.Errorf("Lookup(%q): got %#v, want %#v", sfO, got, afO)
- }
- if got := afo.String(); got != sfo {
- t.Errorf("Atom(%#v).String(): got %q, want %q", afo, got, sfo)
- }
- if got := afO.String(); got != sfO {
- t.Errorf("Atom(%#v).String(): got %q, want %q", afO, got, sfO)
- }
-}
-
-func BenchmarkLookup(b *testing.B) {
- sortedTable := make([]string, 0, len(table))
- for _, a := range table {
- if a != 0 {
- sortedTable = append(sortedTable, a.String())
- }
- }
- sort.Strings(sortedTable)
-
- x := make([][]byte, 1000)
- for i := range x {
- x[i] = []byte(sortedTable[i%len(sortedTable)])
- }
-
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- for _, s := range x {
- Lookup(s)
- }
- }
-}
diff --git a/libgo/go/exp/html/atom/gen.go b/libgo/go/exp/html/atom/gen.go
deleted file mode 100644
index 9958a718842..00000000000
--- a/libgo/go/exp/html/atom/gen.go
+++ /dev/null
@@ -1,636 +0,0 @@
-// Copyright 2012 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.
-
-// +build ignore
-
-package main
-
-// This program generates table.go and table_test.go.
-// Invoke as
-//
-// go run gen.go |gofmt >table.go
-// go run gen.go -test |gofmt >table_test.go
-
-import (
- "flag"
- "fmt"
- "math/rand"
- "os"
- "sort"
- "strings"
-)
-
-// identifier converts s to a Go exported identifier.
-// It converts "div" to "Div" and "accept-charset" to "AcceptCharset".
-func identifier(s string) string {
- b := make([]byte, 0, len(s))
- cap := true
- for _, c := range s {
- if c == '-' {
- cap = true
- continue
- }
- if cap && 'a' <= c && c <= 'z' {
- c -= 'a' - 'A'
- }
- cap = false
- b = append(b, byte(c))
- }
- return string(b)
-}
-
-var test = flag.Bool("test", false, "generate table_test.go")
-
-func main() {
- flag.Parse()
-
- var all []string
- all = append(all, elements...)
- all = append(all, attributes...)
- all = append(all, eventHandlers...)
- all = append(all, extra...)
- sort.Strings(all)
-
- if *test {
- fmt.Printf("// generated by go run gen.go -test; DO NOT EDIT\n\n")
- fmt.Printf("package atom\n\n")
- fmt.Printf("var testAtomList = []string{\n")
- for _, s := range all {
- fmt.Printf("\t%q,\n", s)
- }
- fmt.Printf("}\n")
- return
- }
-
- // uniq - lists have dups
- // compute max len too
- maxLen := 0
- w := 0
- for _, s := range all {
- if w == 0 || all[w-1] != s {
- if maxLen < len(s) {
- maxLen = len(s)
- }
- all[w] = s
- w++
- }
- }
- all = all[:w]
-
- // Find hash that minimizes table size.
- var best *table
- for i := 0; i < 1000000; i++ {
- if best != nil && 1<<(best.k-1) < len(all) {
- break
- }
- h := rand.Uint32()
- for k := uint(0); k <= 16; k++ {
- if best != nil && k >= best.k {
- break
- }
- var t table
- if t.init(h, k, all) {
- best = &t
- break
- }
- }
- }
- if best == nil {
- fmt.Fprintf(os.Stderr, "failed to construct string table\n")
- os.Exit(1)
- }
-
- // Lay out strings, using overlaps when possible.
- layout := append([]string{}, all...)
-
- // Remove strings that are substrings of other strings
- for changed := true; changed; {
- changed = false
- for i, s := range layout {
- if s == "" {
- continue
- }
- for j, t := range layout {
- if i != j && t != "" && strings.Contains(s, t) {
- changed = true
- layout[j] = ""
- }
- }
- }
- }
-
- // Join strings where one suffix matches another prefix.
- for {
- // Find best i, j, k such that layout[i][len-k:] == layout[j][:k],
- // maximizing overlap length k.
- besti := -1
- bestj := -1
- bestk := 0
- for i, s := range layout {
- if s == "" {
- continue
- }
- for j, t := range layout {
- if i == j {
- continue
- }
- for k := bestk + 1; k <= len(s) && k <= len(t); k++ {
- if s[len(s)-k:] == t[:k] {
- besti = i
- bestj = j
- bestk = k
- }
- }
- }
- }
- if bestk > 0 {
- layout[besti] += layout[bestj][bestk:]
- layout[bestj] = ""
- continue
- }
- break
- }
-
- text := strings.Join(layout, "")
-
- atom := map[string]uint32{}
- for _, s := range all {
- off := strings.Index(text, s)
- if off < 0 {
- panic("lost string " + s)
- }
- atom[s] = uint32(off<<8 | len(s))
- }
-
- // Generate the Go code.
- fmt.Printf("// generated by go run gen.go; DO NOT EDIT\n\n")
- fmt.Printf("package atom\n\nconst (\n")
- for _, s := range all {
- fmt.Printf("\t%s Atom = %#x\n", identifier(s), atom[s])
- }
- fmt.Printf(")\n\n")
-
- fmt.Printf("const hash0 = %#x\n\n", best.h0)
- fmt.Printf("const maxAtomLen = %d\n\n", maxLen)
-
- fmt.Printf("var table = [1<<%d]Atom{\n", best.k)
- for i, s := range best.tab {
- if s == "" {
- continue
- }
- fmt.Printf("\t%#x: %#x, // %s\n", i, atom[s], s)
- }
- fmt.Printf("}\n")
- datasize := (1 << best.k) * 4
-
- fmt.Printf("const atomText =\n")
- textsize := len(text)
- for len(text) > 60 {
- fmt.Printf("\t%q +\n", text[:60])
- text = text[60:]
- }
- fmt.Printf("\t%q\n\n", text)
-
- fmt.Fprintf(os.Stderr, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize)
-}
-
-type byLen []string
-
-func (x byLen) Less(i, j int) bool { return len(x[i]) > len(x[j]) }
-func (x byLen) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
-func (x byLen) Len() int { return len(x) }
-
-// fnv computes the FNV hash with an arbitrary starting value h.
-func fnv(h uint32, s string) uint32 {
- for i := 0; i < len(s); i++ {
- h ^= uint32(s[i])
- h *= 16777619
- }
- return h
-}
-
-// A table represents an attempt at constructing the lookup table.
-// The lookup table uses cuckoo hashing, meaning that each string
-// can be found in one of two positions.
-type table struct {
- h0 uint32
- k uint
- mask uint32
- tab []string
-}
-
-// hash returns the two hashes for s.
-func (t *table) hash(s string) (h1, h2 uint32) {
- h := fnv(t.h0, s)
- h1 = h & t.mask
- h2 = (h >> 16) & t.mask
- return
-}
-
-// init initializes the table with the given parameters.
-// h0 is the initial hash value,
-// k is the number of bits of hash value to use, and
-// x is the list of strings to store in the table.
-// init returns false if the table cannot be constructed.
-func (t *table) init(h0 uint32, k uint, x []string) bool {
- t.h0 = h0
- t.k = k
- t.tab = make([]string, 1<<k)
- t.mask = 1<<k - 1
- for _, s := range x {
- if !t.insert(s) {
- return false
- }
- }
- return true
-}
-
-// insert inserts s in the table.
-func (t *table) insert(s string) bool {
- h1, h2 := t.hash(s)
- if t.tab[h1] == "" {
- t.tab[h1] = s
- return true
- }
- if t.tab[h2] == "" {
- t.tab[h2] = s
- return true
- }
- if t.push(h1, 0) {
- t.tab[h1] = s
- return true
- }
- if t.push(h2, 0) {
- t.tab[h2] = s
- return true
- }
- return false
-}
-
-// push attempts to push aside the entry in slot i.
-func (t *table) push(i uint32, depth int) bool {
- if depth > len(t.tab) {
- return false
- }
- s := t.tab[i]
- h1, h2 := t.hash(s)
- j := h1 + h2 - i
- if t.tab[j] != "" && !t.push(j, depth+1) {
- return false
- }
- t.tab[j] = s
- return true
-}
-
-// The lists of element names and attribute keys were taken from
-// http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html
-// as of the "HTML Living Standard - Last Updated 30 May 2012" version.
-
-var elements = []string{
- "a",
- "abbr",
- "address",
- "area",
- "article",
- "aside",
- "audio",
- "b",
- "base",
- "bdi",
- "bdo",
- "blockquote",
- "body",
- "br",
- "button",
- "canvas",
- "caption",
- "cite",
- "code",
- "col",
- "colgroup",
- "command",
- "data",
- "datalist",
- "dd",
- "del",
- "details",
- "dfn",
- "dialog",
- "div",
- "dl",
- "dt",
- "em",
- "embed",
- "fieldset",
- "figcaption",
- "figure",
- "footer",
- "form",
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "head",
- "header",
- "hgroup",
- "hr",
- "html",
- "i",
- "iframe",
- "img",
- "input",
- "ins",
- "kbd",
- "keygen",
- "label",
- "legend",
- "li",
- "link",
- "map",
- "mark",
- "menu",
- "meta",
- "meter",
- "nav",
- "noscript",
- "object",
- "ol",
- "optgroup",
- "option",
- "output",
- "p",
- "param",
- "pre",
- "progress",
- "q",
- "rp",
- "rt",
- "ruby",
- "s",
- "samp",
- "script",
- "section",
- "select",
- "small",
- "source",
- "span",
- "strong",
- "style",
- "sub",
- "summary",
- "sup",
- "table",
- "tbody",
- "td",
- "textarea",
- "tfoot",
- "th",
- "thead",
- "time",
- "title",
- "tr",
- "track",
- "u",
- "ul",
- "var",
- "video",
- "wbr",
-}
-
-var attributes = []string{
- "accept",
- "accept-charset",
- "accesskey",
- "action",
- "alt",
- "async",
- "autocomplete",
- "autofocus",
- "autoplay",
- "border",
- "challenge",
- "charset",
- "checked",
- "cite",
- "class",
- "cols",
- "colspan",
- "command",
- "content",
- "contenteditable",
- "contextmenu",
- "controls",
- "coords",
- "crossorigin",
- "data",
- "datetime",
- "default",
- "defer",
- "dir",
- "dirname",
- "disabled",
- "download",
- "draggable",
- "dropzone",
- "enctype",
- "for",
- "form",
- "formaction",
- "formenctype",
- "formmethod",
- "formnovalidate",
- "formtarget",
- "headers",
- "height",
- "hidden",
- "high",
- "href",
- "hreflang",
- "http-equiv",
- "icon",
- "id",
- "inert",
- "ismap",
- "itemid",
- "itemprop",
- "itemref",
- "itemscope",
- "itemtype",
- "keytype",
- "kind",
- "label",
- "lang",
- "list",
- "loop",
- "low",
- "manifest",
- "max",
- "maxlength",
- "media",
- "mediagroup",
- "method",
- "min",
- "multiple",
- "muted",
- "name",
- "novalidate",
- "open",
- "optimum",
- "pattern",
- "ping",
- "placeholder",
- "poster",
- "preload",
- "radiogroup",
- "readonly",
- "rel",
- "required",
- "reversed",
- "rows",
- "rowspan",
- "sandbox",
- "spellcheck",
- "scope",
- "scoped",
- "seamless",
- "selected",
- "shape",
- "size",
- "sizes",
- "span",
- "src",
- "srcdoc",
- "srclang",
- "start",
- "step",
- "style",
- "tabindex",
- "target",
- "title",
- "translate",
- "type",
- "typemustmatch",
- "usemap",
- "value",
- "width",
- "wrap",
-}
-
-var eventHandlers = []string{
- "onabort",
- "onafterprint",
- "onbeforeprint",
- "onbeforeunload",
- "onblur",
- "oncancel",
- "oncanplay",
- "oncanplaythrough",
- "onchange",
- "onclick",
- "onclose",
- "oncontextmenu",
- "oncuechange",
- "ondblclick",
- "ondrag",
- "ondragend",
- "ondragenter",
- "ondragleave",
- "ondragover",
- "ondragstart",
- "ondrop",
- "ondurationchange",
- "onemptied",
- "onended",
- "onerror",
- "onfocus",
- "onhashchange",
- "oninput",
- "oninvalid",
- "onkeydown",
- "onkeypress",
- "onkeyup",
- "onload",
- "onloadeddata",
- "onloadedmetadata",
- "onloadstart",
- "onmessage",
- "onmousedown",
- "onmousemove",
- "onmouseout",
- "onmouseover",
- "onmouseup",
- "onmousewheel",
- "onoffline",
- "ononline",
- "onpagehide",
- "onpageshow",
- "onpause",
- "onplay",
- "onplaying",
- "onpopstate",
- "onprogress",
- "onratechange",
- "onreset",
- "onresize",
- "onscroll",
- "onseeked",
- "onseeking",
- "onselect",
- "onshow",
- "onstalled",
- "onstorage",
- "onsubmit",
- "onsuspend",
- "ontimeupdate",
- "onunload",
- "onvolumechange",
- "onwaiting",
-}
-
-// extra are ad-hoc values not covered by any of the lists above.
-var extra = []string{
- "align",
- "annotation",
- "annotation-xml",
- "applet",
- "basefont",
- "bgsound",
- "big",
- "blink",
- "center",
- "color",
- "desc",
- "face",
- "font",
- "foreignObject", // HTML is case-insensitive, but SVG-embedded-in-HTML is case-sensitive.
- "foreignobject",
- "frame",
- "frameset",
- "image",
- "isindex",
- "listing",
- "malignmark",
- "marquee",
- "math",
- "mglyph",
- "mi",
- "mn",
- "mo",
- "ms",
- "mtext",
- "nobr",
- "noembed",
- "noframes",
- "plaintext",
- "prompt",
- "public",
- "spacer",
- "strike",
- "svg",
- "system",
- "tt",
- "xmp",
-}
diff --git a/libgo/go/exp/html/atom/table.go b/libgo/go/exp/html/atom/table.go
deleted file mode 100644
index 20b8b8a5903..00000000000
--- a/libgo/go/exp/html/atom/table.go
+++ /dev/null
@@ -1,694 +0,0 @@
-// generated by go run gen.go; DO NOT EDIT
-
-package atom
-
-const (
- A Atom = 0x1
- Abbr Atom = 0x4
- Accept Atom = 0x2106
- AcceptCharset Atom = 0x210e
- Accesskey Atom = 0x3309
- Action Atom = 0x21b06
- Address Atom = 0x5d507
- Align Atom = 0x1105
- Alt Atom = 0x4503
- Annotation Atom = 0x18d0a
- AnnotationXml Atom = 0x18d0e
- Applet Atom = 0x2d106
- Area Atom = 0x31804
- Article Atom = 0x39907
- Aside Atom = 0x4f05
- Async Atom = 0x9305
- Audio Atom = 0xaf05
- Autocomplete Atom = 0xd50c
- Autofocus Atom = 0xe109
- Autoplay Atom = 0x10c08
- B Atom = 0x101
- Base Atom = 0x11404
- Basefont Atom = 0x11408
- Bdi Atom = 0x1a03
- Bdo Atom = 0x12503
- Bgsound Atom = 0x13807
- Big Atom = 0x14403
- Blink Atom = 0x14705
- Blockquote Atom = 0x14c0a
- Body Atom = 0x2f04
- Border Atom = 0x15606
- Br Atom = 0x202
- Button Atom = 0x15c06
- Canvas Atom = 0x4b06
- Caption Atom = 0x1e007
- Center Atom = 0x2df06
- Challenge Atom = 0x23e09
- Charset Atom = 0x2807
- Checked Atom = 0x33f07
- Cite Atom = 0x9704
- Class Atom = 0x3d905
- Code Atom = 0x16f04
- Col Atom = 0x17603
- Colgroup Atom = 0x17608
- Color Atom = 0x18305
- Cols Atom = 0x18804
- Colspan Atom = 0x18807
- Command Atom = 0x19b07
- Content Atom = 0x42c07
- Contenteditable Atom = 0x42c0f
- Contextmenu Atom = 0x3480b
- Controls Atom = 0x1ae08
- Coords Atom = 0x1ba06
- Crossorigin Atom = 0x1c40b
- Data Atom = 0x44304
- Datalist Atom = 0x44308
- Datetime Atom = 0x25b08
- Dd Atom = 0x28802
- Default Atom = 0x5207
- Defer Atom = 0x17105
- Del Atom = 0x4d603
- Desc Atom = 0x4804
- Details Atom = 0x6507
- Dfn Atom = 0x8303
- Dialog Atom = 0x1b06
- Dir Atom = 0x9d03
- Dirname Atom = 0x9d07
- Disabled Atom = 0x10008
- Div Atom = 0x10703
- Dl Atom = 0x13e02
- Download Atom = 0x40908
- Draggable Atom = 0x1a109
- Dropzone Atom = 0x3a208
- Dt Atom = 0x4e402
- Em Atom = 0x7f02
- Embed Atom = 0x7f05
- Enctype Atom = 0x23007
- Face Atom = 0x2dd04
- Fieldset Atom = 0x1d508
- Figcaption Atom = 0x1dd0a
- Figure Atom = 0x1f106
- Font Atom = 0x11804
- Footer Atom = 0x5906
- For Atom = 0x1fd03
- ForeignObject Atom = 0x1fd0d
- Foreignobject Atom = 0x20a0d
- Form Atom = 0x21704
- Formaction Atom = 0x2170a
- Formenctype Atom = 0x22c0b
- Formmethod Atom = 0x2470a
- Formnovalidate Atom = 0x2510e
- Formtarget Atom = 0x2660a
- Frame Atom = 0x8705
- Frameset Atom = 0x8708
- H1 Atom = 0x13602
- H2 Atom = 0x29602
- H3 Atom = 0x2c502
- H4 Atom = 0x30e02
- H5 Atom = 0x4e602
- H6 Atom = 0x27002
- Head Atom = 0x2fa04
- Header Atom = 0x2fa06
- Headers Atom = 0x2fa07
- Height Atom = 0x27206
- Hgroup Atom = 0x27a06
- Hidden Atom = 0x28606
- High Atom = 0x29304
- Hr Atom = 0x13102
- Href Atom = 0x29804
- Hreflang Atom = 0x29808
- Html Atom = 0x27604
- HttpEquiv Atom = 0x2a00a
- I Atom = 0x601
- Icon Atom = 0x42b04
- Id Atom = 0x5102
- Iframe Atom = 0x2b406
- Image Atom = 0x2ba05
- Img Atom = 0x2bf03
- Inert Atom = 0x4c105
- Input Atom = 0x3f605
- Ins Atom = 0x1cd03
- Isindex Atom = 0x2c707
- Ismap Atom = 0x2ce05
- Itemid Atom = 0x9806
- Itemprop Atom = 0x57e08
- Itemref Atom = 0x2d707
- Itemscope Atom = 0x2e509
- Itemtype Atom = 0x2ef08
- Kbd Atom = 0x1903
- Keygen Atom = 0x3906
- Keytype Atom = 0x51207
- Kind Atom = 0xfd04
- Label Atom = 0xba05
- Lang Atom = 0x29c04
- Legend Atom = 0x1a806
- Li Atom = 0x1202
- Link Atom = 0x14804
- List Atom = 0x44704
- Listing Atom = 0x44707
- Loop Atom = 0xbe04
- Low Atom = 0x13f03
- Malignmark Atom = 0x100a
- Manifest Atom = 0x5b608
- Map Atom = 0x2d003
- Mark Atom = 0x1604
- Marquee Atom = 0x5f207
- Math Atom = 0x2f704
- Max Atom = 0x30603
- Maxlength Atom = 0x30609
- Media Atom = 0xa205
- Mediagroup Atom = 0xa20a
- Menu Atom = 0x34f04
- Meta Atom = 0x45604
- Meter Atom = 0x26105
- Method Atom = 0x24b06
- Mglyph Atom = 0x2c006
- Mi Atom = 0x9b02
- Min Atom = 0x31003
- Mn Atom = 0x25402
- Mo Atom = 0x47a02
- Ms Atom = 0x2e802
- Mtext Atom = 0x31305
- Multiple Atom = 0x32108
- Muted Atom = 0x32905
- Name Atom = 0xa004
- Nav Atom = 0x3e03
- Nobr Atom = 0x7404
- Noembed Atom = 0x7d07
- Noframes Atom = 0x8508
- Noscript Atom = 0x28b08
- Novalidate Atom = 0x2550a
- Object Atom = 0x21106
- Ol Atom = 0xcd02
- Onabort Atom = 0x16007
- Onafterprint Atom = 0x1e50c
- Onbeforeprint Atom = 0x21f0d
- Onbeforeunload Atom = 0x5c90e
- Onblur Atom = 0x3e206
- Oncancel Atom = 0xb308
- Oncanplay Atom = 0x12709
- Oncanplaythrough Atom = 0x12710
- Onchange Atom = 0x3b808
- Onclick Atom = 0x2ad07
- Onclose Atom = 0x32e07
- Oncontextmenu Atom = 0x3460d
- Oncuechange Atom = 0x3530b
- Ondblclick Atom = 0x35e0a
- Ondrag Atom = 0x36806
- Ondragend Atom = 0x36809
- Ondragenter Atom = 0x3710b
- Ondragleave Atom = 0x37c0b
- Ondragover Atom = 0x3870a
- Ondragstart Atom = 0x3910b
- Ondrop Atom = 0x3a006
- Ondurationchange Atom = 0x3b010
- Onemptied Atom = 0x3a709
- Onended Atom = 0x3c007
- Onerror Atom = 0x3c707
- Onfocus Atom = 0x3ce07
- Onhashchange Atom = 0x3e80c
- Oninput Atom = 0x3f407
- Oninvalid Atom = 0x3fb09
- Onkeydown Atom = 0x40409
- Onkeypress Atom = 0x4110a
- Onkeyup Atom = 0x42107
- Onload Atom = 0x43b06
- Onloadeddata Atom = 0x43b0c
- Onloadedmetadata Atom = 0x44e10
- Onloadstart Atom = 0x4640b
- Onmessage Atom = 0x46f09
- Onmousedown Atom = 0x4780b
- Onmousemove Atom = 0x4830b
- Onmouseout Atom = 0x48e0a
- Onmouseover Atom = 0x49b0b
- Onmouseup Atom = 0x4a609
- Onmousewheel Atom = 0x4af0c
- Onoffline Atom = 0x4bb09
- Ononline Atom = 0x4c608
- Onpagehide Atom = 0x4ce0a
- Onpageshow Atom = 0x4d90a
- Onpause Atom = 0x4e807
- Onplay Atom = 0x4f206
- Onplaying Atom = 0x4f209
- Onpopstate Atom = 0x4fb0a
- Onprogress Atom = 0x5050a
- Onratechange Atom = 0x5190c
- Onreset Atom = 0x52507
- Onresize Atom = 0x52c08
- Onscroll Atom = 0x53a08
- Onseeked Atom = 0x54208
- Onseeking Atom = 0x54a09
- Onselect Atom = 0x55308
- Onshow Atom = 0x55d06
- Onstalled Atom = 0x56609
- Onstorage Atom = 0x56f09
- Onsubmit Atom = 0x57808
- Onsuspend Atom = 0x58809
- Ontimeupdate Atom = 0x1190c
- Onunload Atom = 0x59108
- Onvolumechange Atom = 0x5990e
- Onwaiting Atom = 0x5a709
- Open Atom = 0x58404
- Optgroup Atom = 0xc008
- Optimum Atom = 0x5b007
- Option Atom = 0x5c506
- Output Atom = 0x49506
- P Atom = 0xc01
- Param Atom = 0xc05
- Pattern Atom = 0x6e07
- Ping Atom = 0xab04
- Placeholder Atom = 0xc70b
- Plaintext Atom = 0xf109
- Poster Atom = 0x17d06
- Pre Atom = 0x27f03
- Preload Atom = 0x27f07
- Progress Atom = 0x50708
- Prompt Atom = 0x5bf06
- Public Atom = 0x42706
- Q Atom = 0x15101
- Radiogroup Atom = 0x30a
- Readonly Atom = 0x31908
- Rel Atom = 0x28003
- Required Atom = 0x1f508
- Reversed Atom = 0x5e08
- Rows Atom = 0x7704
- Rowspan Atom = 0x7707
- Rp Atom = 0x1eb02
- Rt Atom = 0x16502
- Ruby Atom = 0xd104
- S Atom = 0x2c01
- Samp Atom = 0x6b04
- Sandbox Atom = 0xe907
- Scope Atom = 0x2e905
- Scoped Atom = 0x2e906
- Script Atom = 0x28d06
- Seamless Atom = 0x33308
- Section Atom = 0x3dd07
- Select Atom = 0x55506
- Selected Atom = 0x55508
- Shape Atom = 0x1b505
- Size Atom = 0x53004
- Sizes Atom = 0x53005
- Small Atom = 0x1bf05
- Source Atom = 0x1cf06
- Spacer Atom = 0x30006
- Span Atom = 0x7a04
- Spellcheck Atom = 0x33a0a
- Src Atom = 0x3d403
- Srcdoc Atom = 0x3d406
- Srclang Atom = 0x41a07
- Start Atom = 0x39705
- Step Atom = 0x5bc04
- Strike Atom = 0x50e06
- Strong Atom = 0x53406
- Style Atom = 0x5db05
- Sub Atom = 0x57a03
- Summary Atom = 0x5e007
- Sup Atom = 0x5e703
- Svg Atom = 0x5ea03
- System Atom = 0x5ed06
- Tabindex Atom = 0x45c08
- Table Atom = 0x43605
- Target Atom = 0x26a06
- Tbody Atom = 0x2e05
- Td Atom = 0x4702
- Textarea Atom = 0x31408
- Tfoot Atom = 0x5805
- Th Atom = 0x13002
- Thead Atom = 0x2f905
- Time Atom = 0x11b04
- Title Atom = 0x8e05
- Tr Atom = 0xf902
- Track Atom = 0xf905
- Translate Atom = 0x16609
- Tt Atom = 0x7002
- Type Atom = 0x23304
- Typemustmatch Atom = 0x2330d
- U Atom = 0xb01
- Ul Atom = 0x5602
- Usemap Atom = 0x4ec06
- Value Atom = 0x4005
- Var Atom = 0x10903
- Video Atom = 0x2a905
- Wbr Atom = 0x14103
- Width Atom = 0x4e205
- Wrap Atom = 0x56204
- Xmp Atom = 0xef03
-)
-
-const hash0 = 0xc17da63e
-
-const maxAtomLen = 16
-
-var table = [1 << 9]Atom{
- 0x1: 0x4830b, // onmousemove
- 0x2: 0x5a709, // onwaiting
- 0x4: 0x5bf06, // prompt
- 0x7: 0x5b007, // optimum
- 0x8: 0x1604, // mark
- 0xa: 0x2d707, // itemref
- 0xb: 0x4d90a, // onpageshow
- 0xc: 0x55506, // select
- 0xd: 0x1a109, // draggable
- 0xe: 0x3e03, // nav
- 0xf: 0x19b07, // command
- 0x11: 0xb01, // u
- 0x14: 0x2fa07, // headers
- 0x15: 0x44308, // datalist
- 0x17: 0x6b04, // samp
- 0x1a: 0x40409, // onkeydown
- 0x1b: 0x53a08, // onscroll
- 0x1c: 0x17603, // col
- 0x20: 0x57e08, // itemprop
- 0x21: 0x2a00a, // http-equiv
- 0x22: 0x5e703, // sup
- 0x24: 0x1f508, // required
- 0x2b: 0x27f07, // preload
- 0x2c: 0x21f0d, // onbeforeprint
- 0x2d: 0x3710b, // ondragenter
- 0x2e: 0x4e402, // dt
- 0x2f: 0x57808, // onsubmit
- 0x30: 0x13102, // hr
- 0x31: 0x3460d, // oncontextmenu
- 0x33: 0x2ba05, // image
- 0x34: 0x4e807, // onpause
- 0x35: 0x27a06, // hgroup
- 0x36: 0xab04, // ping
- 0x37: 0x55308, // onselect
- 0x3a: 0x10703, // div
- 0x40: 0x9b02, // mi
- 0x41: 0x33308, // seamless
- 0x42: 0x2807, // charset
- 0x43: 0x5102, // id
- 0x44: 0x4fb0a, // onpopstate
- 0x45: 0x4d603, // del
- 0x46: 0x5f207, // marquee
- 0x47: 0x3309, // accesskey
- 0x49: 0x5906, // footer
- 0x4a: 0x2d106, // applet
- 0x4b: 0x2ce05, // ismap
- 0x51: 0x34f04, // menu
- 0x52: 0x2f04, // body
- 0x55: 0x8708, // frameset
- 0x56: 0x52507, // onreset
- 0x57: 0x14705, // blink
- 0x58: 0x8e05, // title
- 0x59: 0x39907, // article
- 0x5b: 0x13002, // th
- 0x5d: 0x15101, // q
- 0x5e: 0x58404, // open
- 0x5f: 0x31804, // area
- 0x61: 0x43b06, // onload
- 0x62: 0x3f605, // input
- 0x63: 0x11404, // base
- 0x64: 0x18807, // colspan
- 0x65: 0x51207, // keytype
- 0x66: 0x13e02, // dl
- 0x68: 0x1d508, // fieldset
- 0x6a: 0x31003, // min
- 0x6b: 0x10903, // var
- 0x6f: 0x2fa06, // header
- 0x70: 0x16502, // rt
- 0x71: 0x17608, // colgroup
- 0x72: 0x25402, // mn
- 0x74: 0x16007, // onabort
- 0x75: 0x3906, // keygen
- 0x76: 0x4bb09, // onoffline
- 0x77: 0x23e09, // challenge
- 0x78: 0x2d003, // map
- 0x7a: 0x30e02, // h4
- 0x7b: 0x3c707, // onerror
- 0x7c: 0x30609, // maxlength
- 0x7d: 0x31305, // mtext
- 0x7e: 0x5805, // tfoot
- 0x7f: 0x11804, // font
- 0x80: 0x100a, // malignmark
- 0x81: 0x45604, // meta
- 0x82: 0x9305, // async
- 0x83: 0x2c502, // h3
- 0x84: 0x28802, // dd
- 0x85: 0x29804, // href
- 0x86: 0xa20a, // mediagroup
- 0x87: 0x1ba06, // coords
- 0x88: 0x41a07, // srclang
- 0x89: 0x35e0a, // ondblclick
- 0x8a: 0x4005, // value
- 0x8c: 0xb308, // oncancel
- 0x8e: 0x33a0a, // spellcheck
- 0x8f: 0x8705, // frame
- 0x91: 0x14403, // big
- 0x94: 0x21b06, // action
- 0x95: 0x9d03, // dir
- 0x97: 0x31908, // readonly
- 0x99: 0x43605, // table
- 0x9a: 0x5e007, // summary
- 0x9b: 0x14103, // wbr
- 0x9c: 0x30a, // radiogroup
- 0x9d: 0xa004, // name
- 0x9f: 0x5ed06, // system
- 0xa1: 0x18305, // color
- 0xa2: 0x4b06, // canvas
- 0xa3: 0x27604, // html
- 0xa5: 0x54a09, // onseeking
- 0xac: 0x1b505, // shape
- 0xad: 0x28003, // rel
- 0xae: 0x12710, // oncanplaythrough
- 0xaf: 0x3870a, // ondragover
- 0xb1: 0x1fd0d, // foreignObject
- 0xb3: 0x7704, // rows
- 0xb6: 0x44707, // listing
- 0xb7: 0x49506, // output
- 0xb9: 0x3480b, // contextmenu
- 0xbb: 0x13f03, // low
- 0xbc: 0x1eb02, // rp
- 0xbd: 0x58809, // onsuspend
- 0xbe: 0x15c06, // button
- 0xbf: 0x4804, // desc
- 0xc1: 0x3dd07, // section
- 0xc2: 0x5050a, // onprogress
- 0xc3: 0x56f09, // onstorage
- 0xc4: 0x2f704, // math
- 0xc5: 0x4f206, // onplay
- 0xc7: 0x5602, // ul
- 0xc8: 0x6e07, // pattern
- 0xc9: 0x4af0c, // onmousewheel
- 0xca: 0x36809, // ondragend
- 0xcb: 0xd104, // ruby
- 0xcc: 0xc01, // p
- 0xcd: 0x32e07, // onclose
- 0xce: 0x26105, // meter
- 0xcf: 0x13807, // bgsound
- 0xd2: 0x27206, // height
- 0xd4: 0x101, // b
- 0xd5: 0x2ef08, // itemtype
- 0xd8: 0x1e007, // caption
- 0xd9: 0x10008, // disabled
- 0xdc: 0x5ea03, // svg
- 0xdd: 0x1bf05, // small
- 0xde: 0x44304, // data
- 0xe0: 0x4c608, // ononline
- 0xe1: 0x2c006, // mglyph
- 0xe3: 0x7f05, // embed
- 0xe4: 0xf902, // tr
- 0xe5: 0x4640b, // onloadstart
- 0xe7: 0x3b010, // ondurationchange
- 0xed: 0x12503, // bdo
- 0xee: 0x4702, // td
- 0xef: 0x4f05, // aside
- 0xf0: 0x29602, // h2
- 0xf1: 0x50708, // progress
- 0xf2: 0x14c0a, // blockquote
- 0xf4: 0xba05, // label
- 0xf5: 0x601, // i
- 0xf7: 0x7707, // rowspan
- 0xfb: 0x4f209, // onplaying
- 0xfd: 0x2bf03, // img
- 0xfe: 0xc008, // optgroup
- 0xff: 0x42c07, // content
- 0x101: 0x5190c, // onratechange
- 0x103: 0x3e80c, // onhashchange
- 0x104: 0x6507, // details
- 0x106: 0x40908, // download
- 0x109: 0xe907, // sandbox
- 0x10b: 0x42c0f, // contenteditable
- 0x10d: 0x37c0b, // ondragleave
- 0x10e: 0x2106, // accept
- 0x10f: 0x55508, // selected
- 0x112: 0x2170a, // formaction
- 0x113: 0x2df06, // center
- 0x115: 0x44e10, // onloadedmetadata
- 0x116: 0x14804, // link
- 0x117: 0x11b04, // time
- 0x118: 0x1c40b, // crossorigin
- 0x119: 0x3ce07, // onfocus
- 0x11a: 0x56204, // wrap
- 0x11b: 0x42b04, // icon
- 0x11d: 0x2a905, // video
- 0x11e: 0x3d905, // class
- 0x121: 0x5990e, // onvolumechange
- 0x122: 0x3e206, // onblur
- 0x123: 0x2e509, // itemscope
- 0x124: 0x5db05, // style
- 0x127: 0x42706, // public
- 0x129: 0x2510e, // formnovalidate
- 0x12a: 0x55d06, // onshow
- 0x12c: 0x16609, // translate
- 0x12d: 0x9704, // cite
- 0x12e: 0x2e802, // ms
- 0x12f: 0x1190c, // ontimeupdate
- 0x130: 0xfd04, // kind
- 0x131: 0x2660a, // formtarget
- 0x135: 0x3c007, // onended
- 0x136: 0x28606, // hidden
- 0x137: 0x2c01, // s
- 0x139: 0x2470a, // formmethod
- 0x13a: 0x44704, // list
- 0x13c: 0x27002, // h6
- 0x13d: 0xcd02, // ol
- 0x13e: 0x3530b, // oncuechange
- 0x13f: 0x20a0d, // foreignobject
- 0x143: 0x5c90e, // onbeforeunload
- 0x145: 0x3a709, // onemptied
- 0x146: 0x17105, // defer
- 0x147: 0xef03, // xmp
- 0x148: 0xaf05, // audio
- 0x149: 0x1903, // kbd
- 0x14c: 0x46f09, // onmessage
- 0x14d: 0x5c506, // option
- 0x14e: 0x4503, // alt
- 0x14f: 0x33f07, // checked
- 0x150: 0x10c08, // autoplay
- 0x152: 0x202, // br
- 0x153: 0x2550a, // novalidate
- 0x156: 0x7d07, // noembed
- 0x159: 0x2ad07, // onclick
- 0x15a: 0x4780b, // onmousedown
- 0x15b: 0x3b808, // onchange
- 0x15e: 0x3fb09, // oninvalid
- 0x15f: 0x2e906, // scoped
- 0x160: 0x1ae08, // controls
- 0x161: 0x32905, // muted
- 0x163: 0x4ec06, // usemap
- 0x164: 0x1dd0a, // figcaption
- 0x165: 0x36806, // ondrag
- 0x166: 0x29304, // high
- 0x168: 0x3d403, // src
- 0x169: 0x17d06, // poster
- 0x16b: 0x18d0e, // annotation-xml
- 0x16c: 0x5bc04, // step
- 0x16d: 0x4, // abbr
- 0x16e: 0x1b06, // dialog
- 0x170: 0x1202, // li
- 0x172: 0x47a02, // mo
- 0x175: 0x1fd03, // for
- 0x176: 0x1cd03, // ins
- 0x178: 0x53004, // size
- 0x17a: 0x5207, // default
- 0x17b: 0x1a03, // bdi
- 0x17c: 0x4ce0a, // onpagehide
- 0x17d: 0x9d07, // dirname
- 0x17e: 0x23304, // type
- 0x17f: 0x21704, // form
- 0x180: 0x4c105, // inert
- 0x181: 0x12709, // oncanplay
- 0x182: 0x8303, // dfn
- 0x183: 0x45c08, // tabindex
- 0x186: 0x7f02, // em
- 0x187: 0x29c04, // lang
- 0x189: 0x3a208, // dropzone
- 0x18a: 0x4110a, // onkeypress
- 0x18b: 0x25b08, // datetime
- 0x18c: 0x18804, // cols
- 0x18d: 0x1, // a
- 0x18e: 0x43b0c, // onloadeddata
- 0x191: 0x15606, // border
- 0x192: 0x2e05, // tbody
- 0x193: 0x24b06, // method
- 0x195: 0xbe04, // loop
- 0x196: 0x2b406, // iframe
- 0x198: 0x2fa04, // head
- 0x19e: 0x5b608, // manifest
- 0x19f: 0xe109, // autofocus
- 0x1a0: 0x16f04, // code
- 0x1a1: 0x53406, // strong
- 0x1a2: 0x32108, // multiple
- 0x1a3: 0xc05, // param
- 0x1a6: 0x23007, // enctype
- 0x1a7: 0x2dd04, // face
- 0x1a8: 0xf109, // plaintext
- 0x1a9: 0x13602, // h1
- 0x1aa: 0x56609, // onstalled
- 0x1ad: 0x28d06, // script
- 0x1ae: 0x30006, // spacer
- 0x1af: 0x52c08, // onresize
- 0x1b0: 0x49b0b, // onmouseover
- 0x1b1: 0x59108, // onunload
- 0x1b2: 0x54208, // onseeked
- 0x1b4: 0x2330d, // typemustmatch
- 0x1b5: 0x1f106, // figure
- 0x1b6: 0x48e0a, // onmouseout
- 0x1b7: 0x27f03, // pre
- 0x1b8: 0x4e205, // width
- 0x1bb: 0x7404, // nobr
- 0x1be: 0x7002, // tt
- 0x1bf: 0x1105, // align
- 0x1c0: 0x3f407, // oninput
- 0x1c3: 0x42107, // onkeyup
- 0x1c6: 0x1e50c, // onafterprint
- 0x1c7: 0x210e, // accept-charset
- 0x1c8: 0x9806, // itemid
- 0x1cb: 0x50e06, // strike
- 0x1cc: 0x57a03, // sub
- 0x1cd: 0xf905, // track
- 0x1ce: 0x39705, // start
- 0x1d0: 0x11408, // basefont
- 0x1d6: 0x1cf06, // source
- 0x1d7: 0x1a806, // legend
- 0x1d8: 0x2f905, // thead
- 0x1da: 0x2e905, // scope
- 0x1dd: 0x21106, // object
- 0x1de: 0xa205, // media
- 0x1df: 0x18d0a, // annotation
- 0x1e0: 0x22c0b, // formenctype
- 0x1e2: 0x28b08, // noscript
- 0x1e4: 0x53005, // sizes
- 0x1e5: 0xd50c, // autocomplete
- 0x1e6: 0x7a04, // span
- 0x1e7: 0x8508, // noframes
- 0x1e8: 0x26a06, // target
- 0x1e9: 0x3a006, // ondrop
- 0x1ea: 0x3d406, // srcdoc
- 0x1ec: 0x5e08, // reversed
- 0x1f0: 0x2c707, // isindex
- 0x1f3: 0x29808, // hreflang
- 0x1f5: 0x4e602, // h5
- 0x1f6: 0x5d507, // address
- 0x1fa: 0x30603, // max
- 0x1fb: 0xc70b, // placeholder
- 0x1fc: 0x31408, // textarea
- 0x1fe: 0x4a609, // onmouseup
- 0x1ff: 0x3910b, // ondragstart
-}
-
-const atomText = "abbradiogrouparamalignmarkbdialogaccept-charsetbodyaccesskey" +
- "genavaluealtdescanvasidefaultfootereversedetailsampatternobr" +
- "owspanoembedfnoframesetitleasyncitemidirnamediagroupingaudio" +
- "ncancelabelooptgrouplaceholderubyautocompleteautofocusandbox" +
- "mplaintextrackindisabledivarautoplaybasefontimeupdatebdoncan" +
- "playthrough1bgsoundlowbrbigblinkblockquoteborderbuttonabortr" +
- "anslatecodefercolgroupostercolorcolspannotation-xmlcommandra" +
- "ggablegendcontrolshapecoordsmallcrossoriginsourcefieldsetfig" +
- "captionafterprintfigurequiredforeignObjectforeignobjectforma" +
- "ctionbeforeprintformenctypemustmatchallengeformmethodformnov" +
- "alidatetimeterformtargeth6heightmlhgroupreloadhiddenoscripth" +
- "igh2hreflanghttp-equivideonclickiframeimageimglyph3isindexis" +
- "mappletitemrefacenteritemscopeditemtypematheaderspacermaxlen" +
- "gth4minmtextareadonlymultiplemutedoncloseamlesspellcheckedon" +
- "contextmenuoncuechangeondblclickondragendondragenterondragle" +
- "aveondragoverondragstarticleondropzonemptiedondurationchange" +
- "onendedonerroronfocusrcdoclassectionbluronhashchangeoninputo" +
- "ninvalidonkeydownloadonkeypressrclangonkeyupublicontentedita" +
- "bleonloadeddatalistingonloadedmetadatabindexonloadstartonmes" +
- "sageonmousedownonmousemoveonmouseoutputonmouseoveronmouseupo" +
- "nmousewheelonofflinertononlineonpagehidelonpageshowidth5onpa" +
- "usemaponplayingonpopstateonprogresstrikeytypeonratechangeonr" +
- "esetonresizestrongonscrollonseekedonseekingonselectedonshowr" +
- "aponstalledonstorageonsubmitempropenonsuspendonunloadonvolum" +
- "echangeonwaitingoptimumanifestepromptoptionbeforeunloaddress" +
- "tylesummarysupsvgsystemarquee"
diff --git a/libgo/go/exp/html/atom/table_test.go b/libgo/go/exp/html/atom/table_test.go
deleted file mode 100644
index db016a1c01c..00000000000
--- a/libgo/go/exp/html/atom/table_test.go
+++ /dev/null
@@ -1,341 +0,0 @@
-// generated by go run gen.go -test; DO NOT EDIT
-
-package atom
-
-var testAtomList = []string{
- "a",
- "abbr",
- "accept",
- "accept-charset",
- "accesskey",
- "action",
- "address",
- "align",
- "alt",
- "annotation",
- "annotation-xml",
- "applet",
- "area",
- "article",
- "aside",
- "async",
- "audio",
- "autocomplete",
- "autofocus",
- "autoplay",
- "b",
- "base",
- "basefont",
- "bdi",
- "bdo",
- "bgsound",
- "big",
- "blink",
- "blockquote",
- "body",
- "border",
- "br",
- "button",
- "canvas",
- "caption",
- "center",
- "challenge",
- "charset",
- "checked",
- "cite",
- "cite",
- "class",
- "code",
- "col",
- "colgroup",
- "color",
- "cols",
- "colspan",
- "command",
- "command",
- "content",
- "contenteditable",
- "contextmenu",
- "controls",
- "coords",
- "crossorigin",
- "data",
- "data",
- "datalist",
- "datetime",
- "dd",
- "default",
- "defer",
- "del",
- "desc",
- "details",
- "dfn",
- "dialog",
- "dir",
- "dirname",
- "disabled",
- "div",
- "dl",
- "download",
- "draggable",
- "dropzone",
- "dt",
- "em",
- "embed",
- "enctype",
- "face",
- "fieldset",
- "figcaption",
- "figure",
- "font",
- "footer",
- "for",
- "foreignObject",
- "foreignobject",
- "form",
- "form",
- "formaction",
- "formenctype",
- "formmethod",
- "formnovalidate",
- "formtarget",
- "frame",
- "frameset",
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "head",
- "header",
- "headers",
- "height",
- "hgroup",
- "hidden",
- "high",
- "hr",
- "href",
- "hreflang",
- "html",
- "http-equiv",
- "i",
- "icon",
- "id",
- "iframe",
- "image",
- "img",
- "inert",
- "input",
- "ins",
- "isindex",
- "ismap",
- "itemid",
- "itemprop",
- "itemref",
- "itemscope",
- "itemtype",
- "kbd",
- "keygen",
- "keytype",
- "kind",
- "label",
- "label",
- "lang",
- "legend",
- "li",
- "link",
- "list",
- "listing",
- "loop",
- "low",
- "malignmark",
- "manifest",
- "map",
- "mark",
- "marquee",
- "math",
- "max",
- "maxlength",
- "media",
- "mediagroup",
- "menu",
- "meta",
- "meter",
- "method",
- "mglyph",
- "mi",
- "min",
- "mn",
- "mo",
- "ms",
- "mtext",
- "multiple",
- "muted",
- "name",
- "nav",
- "nobr",
- "noembed",
- "noframes",
- "noscript",
- "novalidate",
- "object",
- "ol",
- "onabort",
- "onafterprint",
- "onbeforeprint",
- "onbeforeunload",
- "onblur",
- "oncancel",
- "oncanplay",
- "oncanplaythrough",
- "onchange",
- "onclick",
- "onclose",
- "oncontextmenu",
- "oncuechange",
- "ondblclick",
- "ondrag",
- "ondragend",
- "ondragenter",
- "ondragleave",
- "ondragover",
- "ondragstart",
- "ondrop",
- "ondurationchange",
- "onemptied",
- "onended",
- "onerror",
- "onfocus",
- "onhashchange",
- "oninput",
- "oninvalid",
- "onkeydown",
- "onkeypress",
- "onkeyup",
- "onload",
- "onloadeddata",
- "onloadedmetadata",
- "onloadstart",
- "onmessage",
- "onmousedown",
- "onmousemove",
- "onmouseout",
- "onmouseover",
- "onmouseup",
- "onmousewheel",
- "onoffline",
- "ononline",
- "onpagehide",
- "onpageshow",
- "onpause",
- "onplay",
- "onplaying",
- "onpopstate",
- "onprogress",
- "onratechange",
- "onreset",
- "onresize",
- "onscroll",
- "onseeked",
- "onseeking",
- "onselect",
- "onshow",
- "onstalled",
- "onstorage",
- "onsubmit",
- "onsuspend",
- "ontimeupdate",
- "onunload",
- "onvolumechange",
- "onwaiting",
- "open",
- "optgroup",
- "optimum",
- "option",
- "output",
- "p",
- "param",
- "pattern",
- "ping",
- "placeholder",
- "plaintext",
- "poster",
- "pre",
- "preload",
- "progress",
- "prompt",
- "public",
- "q",
- "radiogroup",
- "readonly",
- "rel",
- "required",
- "reversed",
- "rows",
- "rowspan",
- "rp",
- "rt",
- "ruby",
- "s",
- "samp",
- "sandbox",
- "scope",
- "scoped",
- "script",
- "seamless",
- "section",
- "select",
- "selected",
- "shape",
- "size",
- "sizes",
- "small",
- "source",
- "spacer",
- "span",
- "span",
- "spellcheck",
- "src",
- "srcdoc",
- "srclang",
- "start",
- "step",
- "strike",
- "strong",
- "style",
- "style",
- "sub",
- "summary",
- "sup",
- "svg",
- "system",
- "tabindex",
- "table",
- "target",
- "tbody",
- "td",
- "textarea",
- "tfoot",
- "th",
- "thead",
- "time",
- "title",
- "title",
- "tr",
- "track",
- "translate",
- "tt",
- "type",
- "typemustmatch",
- "u",
- "ul",
- "usemap",
- "value",
- "var",
- "video",
- "wbr",
- "width",
- "wrap",
- "xmp",
-}
OpenPOWER on IntegriCloud