mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Update x/net (#5169)
This commit is contained in:
		
				
					committed by
					
						 techknowlogick
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							f887085ee0
						
					
				
				
					commit
					2af57c7820
				
			
							
								
								
									
										138
									
								
								vendor/golang.org/x/net/html/atom/gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										138
									
								
								vendor/golang.org/x/net/html/atom/gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,17 +4,17 @@ | ||||
|  | ||||
| // +build ignore | ||||
|  | ||||
| //go:generate go run gen.go | ||||
| //go:generate go run gen.go -test | ||||
|  | ||||
| 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 ( | ||||
| 	"bytes" | ||||
| 	"flag" | ||||
| 	"fmt" | ||||
| 	"go/format" | ||||
| 	"io/ioutil" | ||||
| 	"math/rand" | ||||
| 	"os" | ||||
| 	"sort" | ||||
| @@ -42,6 +42,18 @@ func identifier(s string) string { | ||||
|  | ||||
| var test = flag.Bool("test", false, "generate table_test.go") | ||||
|  | ||||
| func genFile(name string, buf *bytes.Buffer) { | ||||
| 	b, err := format.Source(buf.Bytes()) | ||||
| 	if err != nil { | ||||
| 		fmt.Fprintln(os.Stderr, err) | ||||
| 		os.Exit(1) | ||||
| 	} | ||||
| 	if err := ioutil.WriteFile(name, b, 0644); err != nil { | ||||
| 		fmt.Fprintln(os.Stderr, err) | ||||
| 		os.Exit(1) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func main() { | ||||
| 	flag.Parse() | ||||
|  | ||||
| @@ -52,32 +64,31 @@ func main() { | ||||
| 	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] | ||||
|  | ||||
| 	if *test { | ||||
| 		var buf bytes.Buffer | ||||
| 		fmt.Fprintln(&buf, "// Code generated by go generate gen.go; DO NOT EDIT.\n") | ||||
| 		fmt.Fprintln(&buf, "//go:generate go run gen.go -test\n") | ||||
| 		fmt.Fprintln(&buf, "package atom\n") | ||||
| 		fmt.Fprintln(&buf, "var testAtomList = []string{") | ||||
| 		for _, s := range all { | ||||
| 			fmt.Fprintf(&buf, "\t%q,\n", s) | ||||
| 		} | ||||
| 		fmt.Fprintln(&buf, "}") | ||||
|  | ||||
| 		genFile("table_test.go", &buf) | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	// Find hash that minimizes table size. | ||||
| 	var best *table | ||||
| 	for i := 0; i < 1000000; i++ { | ||||
| @@ -163,36 +174,46 @@ func main() { | ||||
| 		atom[s] = uint32(off<<8 | len(s)) | ||||
| 	} | ||||
|  | ||||
| 	var buf bytes.Buffer | ||||
| 	// Generate the Go code. | ||||
| 	fmt.Printf("// generated by go run gen.go; DO NOT EDIT\n\n") | ||||
| 	fmt.Printf("package atom\n\nconst (\n") | ||||
| 	fmt.Fprintln(&buf, "// Code generated by go generate gen.go; DO NOT EDIT.\n") | ||||
| 	fmt.Fprintln(&buf, "//go:generate go run gen.go\n") | ||||
| 	fmt.Fprintln(&buf, "package atom\n\nconst (") | ||||
|  | ||||
| 	// compute max len | ||||
| 	maxLen := 0 | ||||
| 	for _, s := range all { | ||||
| 		fmt.Printf("\t%s Atom = %#x\n", identifier(s), atom[s]) | ||||
| 		if maxLen < len(s) { | ||||
| 			maxLen = len(s) | ||||
| 		} | ||||
| 		fmt.Fprintf(&buf, "\t%s Atom = %#x\n", identifier(s), atom[s]) | ||||
| 	} | ||||
| 	fmt.Printf(")\n\n") | ||||
| 	fmt.Fprintln(&buf, ")\n") | ||||
|  | ||||
| 	fmt.Printf("const hash0 = %#x\n\n", best.h0) | ||||
| 	fmt.Printf("const maxAtomLen = %d\n\n", maxLen) | ||||
| 	fmt.Fprintf(&buf, "const hash0 = %#x\n\n", best.h0) | ||||
| 	fmt.Fprintf(&buf, "const maxAtomLen = %d\n\n", maxLen) | ||||
|  | ||||
| 	fmt.Printf("var table = [1<<%d]Atom{\n", best.k) | ||||
| 	fmt.Fprintf(&buf, "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.Fprintf(&buf, "\t%#x: %#x, // %s\n", i, atom[s], s) | ||||
| 	} | ||||
| 	fmt.Printf("}\n") | ||||
| 	fmt.Fprintf(&buf, "}\n") | ||||
| 	datasize := (1 << best.k) * 4 | ||||
|  | ||||
| 	fmt.Printf("const atomText =\n") | ||||
| 	fmt.Fprintln(&buf, "const atomText =") | ||||
| 	textsize := len(text) | ||||
| 	for len(text) > 60 { | ||||
| 		fmt.Printf("\t%q +\n", text[:60]) | ||||
| 		fmt.Fprintf(&buf, "\t%q +\n", text[:60]) | ||||
| 		text = text[60:] | ||||
| 	} | ||||
| 	fmt.Printf("\t%q\n\n", text) | ||||
| 	fmt.Fprintf(&buf, "\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) | ||||
| 	genFile("table.go", &buf) | ||||
|  | ||||
| 	fmt.Fprintf(os.Stdout, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize) | ||||
| } | ||||
|  | ||||
| type byLen []string | ||||
| @@ -285,8 +306,10 @@ func (t *table) push(i uint32, depth int) bool { | ||||
|  | ||||
| // The lists of element names and attribute keys were taken from | ||||
| // https://html.spec.whatwg.org/multipage/indices.html#index | ||||
| // as of the "HTML Living Standard - Last Updated 21 February 2015" version. | ||||
| // as of the "HTML Living Standard - Last Updated 16 April 2018" version. | ||||
|  | ||||
| // "command", "keygen" and "menuitem" have been removed from the spec, | ||||
| // but are kept here for backwards compatibility. | ||||
| var elements = []string{ | ||||
| 	"a", | ||||
| 	"abbr", | ||||
| @@ -349,6 +372,7 @@ var elements = []string{ | ||||
| 	"legend", | ||||
| 	"li", | ||||
| 	"link", | ||||
| 	"main", | ||||
| 	"map", | ||||
| 	"mark", | ||||
| 	"menu", | ||||
| @@ -364,6 +388,7 @@ var elements = []string{ | ||||
| 	"output", | ||||
| 	"p", | ||||
| 	"param", | ||||
| 	"picture", | ||||
| 	"pre", | ||||
| 	"progress", | ||||
| 	"q", | ||||
| @@ -375,6 +400,7 @@ var elements = []string{ | ||||
| 	"script", | ||||
| 	"section", | ||||
| 	"select", | ||||
| 	"slot", | ||||
| 	"small", | ||||
| 	"source", | ||||
| 	"span", | ||||
| @@ -403,14 +429,21 @@ var elements = []string{ | ||||
| } | ||||
|  | ||||
| // https://html.spec.whatwg.org/multipage/indices.html#attributes-3 | ||||
|  | ||||
| // | ||||
| // "challenge", "command", "contextmenu", "dropzone", "icon", "keytype", "mediagroup", | ||||
| // "radiogroup", "spellcheck", "scoped", "seamless", "sortable" and "sorted" have been removed from the spec, | ||||
| // but are kept here for backwards compatibility. | ||||
| var attributes = []string{ | ||||
| 	"abbr", | ||||
| 	"accept", | ||||
| 	"accept-charset", | ||||
| 	"accesskey", | ||||
| 	"action", | ||||
| 	"allowfullscreen", | ||||
| 	"allowpaymentrequest", | ||||
| 	"allowusermedia", | ||||
| 	"alt", | ||||
| 	"as", | ||||
| 	"async", | ||||
| 	"autocomplete", | ||||
| 	"autofocus", | ||||
| @@ -420,6 +453,7 @@ var attributes = []string{ | ||||
| 	"checked", | ||||
| 	"cite", | ||||
| 	"class", | ||||
| 	"color", | ||||
| 	"cols", | ||||
| 	"colspan", | ||||
| 	"command", | ||||
| @@ -457,6 +491,8 @@ var attributes = []string{ | ||||
| 	"icon", | ||||
| 	"id", | ||||
| 	"inputmode", | ||||
| 	"integrity", | ||||
| 	"is", | ||||
| 	"ismap", | ||||
| 	"itemid", | ||||
| 	"itemprop", | ||||
| @@ -481,16 +517,20 @@ var attributes = []string{ | ||||
| 	"multiple", | ||||
| 	"muted", | ||||
| 	"name", | ||||
| 	"nomodule", | ||||
| 	"nonce", | ||||
| 	"novalidate", | ||||
| 	"open", | ||||
| 	"optimum", | ||||
| 	"pattern", | ||||
| 	"ping", | ||||
| 	"placeholder", | ||||
| 	"playsinline", | ||||
| 	"poster", | ||||
| 	"preload", | ||||
| 	"radiogroup", | ||||
| 	"readonly", | ||||
| 	"referrerpolicy", | ||||
| 	"rel", | ||||
| 	"required", | ||||
| 	"reversed", | ||||
| @@ -507,10 +547,13 @@ var attributes = []string{ | ||||
| 	"sizes", | ||||
| 	"sortable", | ||||
| 	"sorted", | ||||
| 	"slot", | ||||
| 	"span", | ||||
| 	"spellcheck", | ||||
| 	"src", | ||||
| 	"srcdoc", | ||||
| 	"srclang", | ||||
| 	"srcset", | ||||
| 	"start", | ||||
| 	"step", | ||||
| 	"style", | ||||
| @@ -520,16 +563,22 @@ var attributes = []string{ | ||||
| 	"translate", | ||||
| 	"type", | ||||
| 	"typemustmatch", | ||||
| 	"updateviacache", | ||||
| 	"usemap", | ||||
| 	"value", | ||||
| 	"width", | ||||
| 	"workertype", | ||||
| 	"wrap", | ||||
| } | ||||
|  | ||||
| // "onautocomplete", "onautocompleteerror", "onmousewheel", | ||||
| // "onshow" and "onsort" have been removed from the spec, | ||||
| // but are kept here for backwards compatibility. | ||||
| var eventHandlers = []string{ | ||||
| 	"onabort", | ||||
| 	"onautocomplete", | ||||
| 	"onautocompleteerror", | ||||
| 	"onauxclick", | ||||
| 	"onafterprint", | ||||
| 	"onbeforeprint", | ||||
| 	"onbeforeunload", | ||||
| @@ -541,11 +590,14 @@ var eventHandlers = []string{ | ||||
| 	"onclick", | ||||
| 	"onclose", | ||||
| 	"oncontextmenu", | ||||
| 	"oncopy", | ||||
| 	"oncuechange", | ||||
| 	"oncut", | ||||
| 	"ondblclick", | ||||
| 	"ondrag", | ||||
| 	"ondragend", | ||||
| 	"ondragenter", | ||||
| 	"ondragexit", | ||||
| 	"ondragleave", | ||||
| 	"ondragover", | ||||
| 	"ondragstart", | ||||
| @@ -565,18 +617,24 @@ var eventHandlers = []string{ | ||||
| 	"onload", | ||||
| 	"onloadeddata", | ||||
| 	"onloadedmetadata", | ||||
| 	"onloadend", | ||||
| 	"onloadstart", | ||||
| 	"onmessage", | ||||
| 	"onmessageerror", | ||||
| 	"onmousedown", | ||||
| 	"onmouseenter", | ||||
| 	"onmouseleave", | ||||
| 	"onmousemove", | ||||
| 	"onmouseout", | ||||
| 	"onmouseover", | ||||
| 	"onmouseup", | ||||
| 	"onmousewheel", | ||||
| 	"onwheel", | ||||
| 	"onoffline", | ||||
| 	"ononline", | ||||
| 	"onpagehide", | ||||
| 	"onpageshow", | ||||
| 	"onpaste", | ||||
| 	"onpause", | ||||
| 	"onplay", | ||||
| 	"onplaying", | ||||
| @@ -585,7 +643,9 @@ var eventHandlers = []string{ | ||||
| 	"onratechange", | ||||
| 	"onreset", | ||||
| 	"onresize", | ||||
| 	"onrejectionhandled", | ||||
| 	"onscroll", | ||||
| 	"onsecuritypolicyviolation", | ||||
| 	"onseeked", | ||||
| 	"onseeking", | ||||
| 	"onselect", | ||||
| @@ -597,6 +657,7 @@ var eventHandlers = []string{ | ||||
| 	"onsuspend", | ||||
| 	"ontimeupdate", | ||||
| 	"ontoggle", | ||||
| 	"onunhandledrejection", | ||||
| 	"onunload", | ||||
| 	"onvolumechange", | ||||
| 	"onwaiting", | ||||
| @@ -604,6 +665,7 @@ var eventHandlers = []string{ | ||||
|  | ||||
| // extra are ad-hoc values not covered by any of the lists above. | ||||
| var extra = []string{ | ||||
| 	"acronym", | ||||
| 	"align", | ||||
| 	"annotation", | ||||
| 	"annotation-xml", | ||||
| @@ -639,6 +701,8 @@ var extra = []string{ | ||||
| 	"plaintext", | ||||
| 	"prompt", | ||||
| 	"public", | ||||
| 	"rb", | ||||
| 	"rtc", | ||||
| 	"spacer", | ||||
| 	"strike", | ||||
| 	"svg", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user