1{
2  // The mode argument is used to limit the keyword to be used only for certain
3  // CSSParserModes. Values that have the prefix -internal- are only allowed by
4  // CSSParserModes listed in allowInternalPropertyAndValue()
5
6  parameters: {
7    mode: {},
8  },
9
10  //
11  // CSS value names
12  //
13
14  data: [
15
16    "inherit",
17    "initial",
18    //
19    // outline-style
20    // border-top-style
21    // border-bottom-style
22    // border-left-style
23    // border-right-style
24    // The order here must match the order of the EBorderStyle enum in ComputedStyleConstants.h.
25    "none",
26    "hidden",
27    "inset",
28    "groove",
29    "outset",
30    "ridge",
31    "dotted",
32    "dashed",
33    "solid",
34    "double",
35
36    //
37    // font
38    //
39    "caption",
40    "icon",
41    "menu",
42    "message-box",
43    "small-caption",
44    "-webkit-mini-control",
45    "-webkit-small-control",
46    "-webkit-control",
47    "status-bar",
48
49    //
50    // font-style
51    //
52    //normal
53    "italic",
54    "oblique",
55    // The following is only allowed in @font-face:
56    "all",
57
58    // font-variant-ligatures:
59    //
60    // normal
61    "common-ligatures",
62    "no-common-ligatures",
63    "discretionary-ligatures",
64    "no-discretionary-ligatures",
65    "historical-ligatures",
66    "no-historical-ligatures",
67    "contextual",
68    "no-contextual",
69
70    // font-variant-caps:
71    //
72    // normal
73    "small-caps",
74    "all-small-caps",
75    "petite-caps",
76    "all-petite-caps",
77    "unicase",
78    "titling-caps",
79
80    // font-variant-caps:
81    //
82    // normal
83    "jis78",
84    "jis83",
85    "jis90",
86    "jis04",
87    "simplified",
88    "traditional",
89    "full-width",
90    "proportional-width",
91    "ruby",
92
93    // font-variant-numeric
94    // normal
95    "lining-nums",
96    "oldstyle-nums",
97    "proportional-nums",
98    "tabular-nums",
99    "diagonal-fractions",
100    "stacked-fractions",
101    "ordinal",
102    "slashed-zero",
103
104    //
105    // font-weigth
106    //
107    "normal",
108    "bold",
109    "bolder",
110    "lighter",
111
112    //
113    // font-stretch
114    //
115    "ultra-condensed",
116    "extra-condensed",
117    "condensed",
118    "semi-condensed",
119    "semi-expanded",
120    "expanded",
121    "extra-expanded",
122    "ultra-expanded",
123
124    //
125    // font-size
126    //
127    "xx-small",
128    "x-small",
129    "small",
130    "medium",
131    "large",
132    "x-large",
133    "xx-large",
134    "xxx-large",
135    "smaller",
136    "larger",
137    "-webkit-xxx-large",
138
139    //
140    // font-family (<generic-family> in CSS 2.1)
141    //
142    "serif",
143    "sans-serif",
144    "cursive",
145    "fantasy",
146    "monospace",
147    "-webkit-body",
148
149    //
150    // font-display
151    //
152    //auto
153    //block
154    "swap",
155    "fallback",
156    "optional",
157
158    //
159    //
160    // *-color
161    //
162    "aqua",
163    "black",
164    "blue",
165    "fuchsia",
166    "gray",
167    "green",
168    "lime",
169    "maroon",
170    "navy",
171    "olive",
172    "orange",
173    "purple",
174    "red",
175    "silver",
176    "teal",
177    "white",
178    "yellow",
179    "transparent",
180    "-webkit-link",
181    "-webkit-activelink",
182    "activeborder",
183    "activecaption",
184    "activetext",
185    "appworkspace",
186    "background",
187    "buttonface",
188    "buttonhighlight",
189    "buttonshadow",
190    "buttontext",
191    "canvas",
192    "canvastext",
193    "captiontext",
194    "field",
195    "fieldtext",
196    "graytext",
197    "highlight",
198    "highlighttext",
199    "inactiveborder",
200    "inactivecaption",
201    "inactivecaptiontext",
202    "infobackground",
203    "infotext",
204    "linktext",
205    "menutext",
206    "scrollbar",
207    "threeddarkshadow",
208    "threedface",
209    "threedhighlight",
210    "threedlightshadow",
211    "threedshadow",
212    "visitedtext",
213    "window",
214    "windowframe",
215    "windowtext",
216    "-internal-active-list-box-selection",
217    "-internal-active-list-box-selection-text",
218    "-internal-inactive-list-box-selection",
219    "-internal-inactive-list-box-selection-text",
220    {
221      name: "-webkit-focus-ring-color",
222      mode: "QuirksOrUASheet",
223    },
224    "currentcolor",
225    "grey",
226    //
227    // Value used to implement the behavior in:
228    // https://quirks.spec.whatwg.org/#the-tables-inherit-color-from-body-quirk
229    "-internal-quirk-inherit",
230    //
231    // background-repeat
232    //
233    "repeat",
234    "repeat-x",
235    "repeat-y",
236    "no-repeat",
237    // round
238    // space
239    //
240    // -webkit-mask-composite
241    //
242    "clear",
243    "copy",
244    "source-over",
245    "source-in",
246    "source-out",
247    "source-atop",
248    "destination-over",
249    "destination-in",
250    "destination-out",
251    "destination-atop",
252    "xor",
253    // highlight
254    "plus-lighter",
255    //
256    // vertical-align
257    //
258    "baseline",
259    "middle",
260    "sub",
261    "super",
262    "text-top",
263    "text-bottom",
264    "top",
265    "bottom",
266    // HTML alignment MIDDLE has no corresponding CSS alignment
267    "-webkit-baseline-middle",
268    //
269    // text-align
270    // The order of this enum must match the order found in CSSParserFastPaths::IsValidKeywordPropertyAndValue().
271    //
272    "-webkit-auto",
273    "left",
274    "right",
275    "inline-start",
276    "inline-end",
277    "center",
278    "justify",
279    "-webkit-left",
280    "-webkit-right",
281    "-webkit-center",
282    "-webkit-match-parent",
283    "-internal-center",
284    //
285    // text-justify
286    //
287    //auto
288    //none
289    "inter-word",
290    "distribute",
291    //
292    // list-style-position
293    //
294    "outside",
295    "inside",
296    //
297    // list-style-type
298    // The order of this enum must match the order found in CSSParserFastPaths::IsValidKeywordPropertyAndValue().
299    //
300    "disc",
301    "circle",
302    "square",
303    "decimal",
304    "decimal-leading-zero",
305    "arabic-indic",
306    "bengali",
307    "cambodian",
308    "khmer",
309    "devanagari",
310    "gujarati",
311    "gurmukhi",
312    "kannada",
313    "lao",
314    "malayalam",
315    "mongolian",
316    "myanmar",
317    "oriya",
318    "persian",
319    "urdu",
320    "telugu",
321    "tibetan",
322    "thai",
323    "lower-roman",
324    "upper-roman",
325    "lower-greek",
326    "lower-alpha",
327    "lower-latin",
328    "upper-alpha",
329    "upper-latin",
330    "cjk-earthly-branch",
331    "cjk-heavenly-stem",
332    "ethiopic-halehame",
333    "ethiopic-halehame-am",
334    "ethiopic-halehame-ti-er",
335    "ethiopic-halehame-ti-et",
336    "hangul",
337    "hangul-consonant",
338    "korean-hangul-formal",
339    "korean-hanja-formal",
340    "korean-hanja-informal",
341    "hebrew",
342    "armenian",
343    "lower-armenian",
344    "upper-armenian",
345    "georgian",
346    "cjk-ideographic",
347    "simp-chinese-formal",
348    "simp-chinese-informal",
349    "trad-chinese-formal",
350    "trad-chinese-informal",
351    "hiragana",
352    "katakana",
353    "hiragana-iroha",
354    "katakana-iroha",
355    //none
356    //
357    // display
358    // The order of this enum must match the order found in CSSParserFastPaths::IsValidKeywordPropertyAndValue().
359    //
360    "inline",
361    "block",
362    "flow-root",
363    "list-item",
364    "inline-block",
365    "table",
366    "inline-table",
367    "table-row-group",
368    "table-header-group",
369    "table-footer-group",
370    "table-row",
371    "table-column-group",
372    "table-column",
373    "table-cell",
374    "table-caption",
375    "-webkit-box",
376    "-webkit-inline-box",
377    "flex",
378    "inline-flex",
379    "grid",
380    "inline-grid",
381    "math",
382    "inline-math",
383    "contents",
384    //none
385    "-webkit-flex",
386    "-webkit-inline-flex",
387    "layout",
388    "inline-layout",
389    //
390    // cursor
391    // The order of this enum must match the order found in CSSPropertyParser::ConsumeCursor().
392    //
393    "auto",
394    "crosshair",
395    "default",
396    "pointer",
397    "move",
398    "vertical-text",
399    "cell",
400    "context-menu",
401    "alias",
402    // copy
403    "progress",
404    "no-drop",
405    "not-allowed",
406    "zoom-in",
407    "zoom-out",
408    "e-resize",
409    "ne-resize",
410    "nw-resize",
411    "n-resize",
412    "se-resize",
413    "sw-resize",
414    "s-resize",
415    "w-resize",
416    "ew-resize",
417    "ns-resize",
418    "nesw-resize",
419    "nwse-resize",
420    "col-resize",
421    "row-resize",
422    "text",
423    "wait",
424    "help",
425    "all-scroll",
426    "grab",
427    "grabbing",
428    "-webkit-grab",
429    "-webkit-grabbing",
430    "-webkit-zoom-in",
431    "-webkit-zoom-out",
432    // none
433    //
434    // direction
435    //
436    "ltr",
437    "rtl",
438    //
439    // text-transform
440    //
441    "capitalize",
442    "uppercase",
443    "lowercase",
444    //none
445    //
446    // visibility
447    //
448    "visible",
449    //hidden
450    "collapse",
451    //
452    // Unordered rest
453    //
454    "a3",
455    "a4",
456    "a5",
457    "above",
458    "absolute",
459    "always",
460    "avoid",
461    "b4",
462    "b5",
463    "below",
464    "bidi-override",
465    "blink",
466    "both",
467    "break-spaces",
468    "close-quote",
469    "embed",
470    "fixed",
471    "hand",
472    "hide",
473    "isolate",
474    "isolate-override",
475    "plaintext",
476    "-webkit-isolate",
477    "-webkit-isolate-override",
478    "-webkit-plaintext",
479    "jis-b5",
480    "jis-b4",
481    "landscape",
482    "ledger",
483    "legal",
484    "letter",
485    "line-through",
486    "local",
487    "no-close-quote",
488    "no-open-quote",
489    "nowrap",
490    "open-quote",
491    "overlay",
492    "overline",
493    "portrait",
494    "pre",
495    "pre-line",
496    "pre-wrap",
497    "relative",
498    "scroll",
499    "separate",
500    "show",
501    "static",
502    "thick",
503    "thin",
504    "underline",
505    "wavy",
506    "-webkit-nowrap",
507
508    //
509    // math-style
510    //
511    // inline
512    "display",
513
514    // CSS3 Values
515    // box-align
516    "stretch",
517    "start",
518    "end",
519    //center
520    //baseline
521
522    // box-decoration-break
523    "clone",
524    "slice",
525
526    // box-direction
527    // normal
528    "reverse",
529
530    // box-orient
531    "horizontal",
532    "vertical",
533    "inline-axis",
534    "block-axis",
535
536    // box-pack
537    // start
538    // end
539    // center
540    // justify
541
542    // align-content
543    // start
544    // end
545    "flex-start",
546    "flex-end",
547    // center
548    "space-between",
549    "space-around",
550    "space-evenly",
551    // stretch
552    "unsafe",
553    "safe",
554
555    // align-items / align-self
556    // flex-start
557    // flex-end
558    // center
559    // baseline
560    // last baseline,
561    // first baseline,
562    // stretch
563
564    // justify-content
565    // start
566    // end
567    // flex-start
568    // flex-end
569    // center
570    // space-between
571    // space-around
572    // space-evenly
573    // stretch
574    // unsafe
575    // safe
576
577
578    // flex-flow
579    "row",
580    "row-reverse",
581    "column",
582    "column-reverse",
583    // nowrap
584    "wrap",
585    "wrap-reverse",
586
587    // grid-auto-flow
588    "auto-flow",
589    "dense",
590
591    //
592    // -webkit-user-modify
593    //
594    "read-only",
595    "read-write",
596    "read-write-plaintext-only",
597
598    //
599    // -webkit-user-drag
600    //
601    "element",
602
603    //
604    // CSS3 intrinsic dimension keywords
605    //
606    "-webkit-min-content",
607    "-webkit-max-content",
608    "-webkit-fill-available",
609    "-webkit-fit-content",
610    "min-content",
611    "max-content",
612    "fit-content",
613
614    //
615    // text-overflow
616    //
617    "clip",
618    "ellipsis",
619
620    //
621    // text-decoration-skip-ink
622    //
623    // auto
624    // none
625
626    // text-underline-position
627    // auto
628    "from-font",
629    // under
630    // left
631    // right
632
633    //
634    // word-break
635    //
636    "break-all",
637    "keep-all",
638
639    //
640    // word-wrap
641    //
642    "break-word",
643
644    //
645    // nbsp-mode
646    //
647    "space",
648
649    //
650    // -webkit-line-break
651    //
652    // auto
653    "loose",
654    // normal
655    "strict",
656    "after-white-space",
657    "anywhere",
658
659    // hyphens
660    "manual",
661
662    // -webkit-appearance
663    // The order here must match the order in the ControlPart enum in
664    // theme_types.h.
665    // All appearance values that should be accepted by the parser should be
666    // listed between 'checkbox' and 'textarea'.
667    "checkbox",
668    "radio",
669    "push-button",
670    "square-button",
671    "button",
672    "inner-spin-button",
673    "listbox",
674    "media-slider",
675    "media-sliderthumb",
676    "media-volume-slider",
677    "media-volume-sliderthumb",
678    "-internal-media-control",
679    "menulist",
680    "menulist-button",
681    "meter",
682    "progress-bar",
683    "slider-horizontal",
684    "slider-vertical",
685    "sliderthumb-horizontal",
686    "sliderthumb-vertical",
687    "searchfield",
688    "searchfield-cancel-button",
689    "textfield",
690    "textarea",
691
692    //
693    // border-image
694    //
695    // stretch
696    // repeat
697    "round",
698
699    //
700    // background-clip/background-origin
701    //
702    // border/content/padding are deprecated and ultimately will only apply to the -webkit- form of these properties.
703    // border-box/content-box/padding-box should be used instead.
704    //
705    "border",
706    "border-box",
707    "content",
708    "content-box",
709    "padding",
710    "padding-box",
711
712    // CSS 3 SHAPES
713    "margin-box",
714
715    //
716    // background-size
717    //
718    "contain",
719    "cover",
720
721    //
722    // -webkit-rtl-ordering
723    //
724    "logical",
725    "visual",
726
727    //
728    // animation-direction
729    //
730    "alternate",
731    "alternate-reverse",
732
733    //
734    // animation-fill-mode
735    //
736    "forwards",
737    "backwards",
738    // both
739
740    //
741    // animation-iteration-count
742    "infinite",
743
744    //
745    // animation-play-state
746    //
747    "running",
748    "paused",
749
750    //
751    // transform-style
752    //
753    "flat",
754    "preserve-3d",
755
756    //
757    // transform-box
758    //
759    // border-box
760    "fill-box",
761    "view-box",
762
763    //
764    // transition-timing-function
765    // animation-timing-function
766    //
767    "ease",
768    "linear",
769    "ease-in",
770    "ease-out",
771    "ease-in-out",
772    "jump-both",
773    "jump-end",
774    "jump-none",
775    "jump-start",
776    "step-start",
777    "step-end",
778    "steps",
779    "frames",
780    "cubic-bezier",
781
782    //
783    // zoom
784    //
785    "document",
786    "reset",
787
788    //
789    // user-zoom
790    //
791    // fixed
792    "zoom",
793
794    //
795    // pointer-events
796    //
797    "visiblepainted",
798    "visiblefill",
799    "visiblestroke",
800    //visible
801    "painted",
802    "fill",
803    "stroke",
804    "bounding-box",
805    //all
806    //none
807
808    //
809    // speech
810    //
811    "spell-out",
812    "digits",
813    "literal-punctuation",
814    "no-punctuation",
815
816    //
817    // -webkit-font-smoothing
818    //
819    // auto
820    // none
821    "antialiased",
822    "subpixel-antialiased",
823
824    // text-rendering
825    //auto
826    "optimizespeed",
827    "optimizelegibility",
828    "geometricprecision",
829
830    // shape-rendering
831    //auto
832    //optimizespeed
833    //geometricprecision
834    "crispedges",
835
836    // -webkit-color-adjust
837    "economy",
838    "exact",
839
840    // -webkit-writing-mode
841    // SVG compatibility
842    "lr",
843    "rl",
844    "tb",
845    "lr-tb",
846    "rl-tb",
847    "tb-rl",
848    // Standard values from CSS3
849    "horizontal-tb",
850    "vertical-rl",
851    "vertical-lr",
852
853    // -webkit-ruby-position
854    "after",
855    "before",
856
857    // -webkit-text-emphasis-position
858    "over",
859    "under",
860    //right
861    //left
862
863    // -webkit-text-emphasis-style
864    "filled",
865    "open",
866    "dot",
867    // circle
868    "double-circle",
869    "triangle",
870    "sesame",
871
872    // -webkit-radial-gradient
873    // circle
874    "ellipse",
875    "closest-side",
876    "closest-corner",
877    "farthest-side",
878    "farthest-corner",
879    // contain
880    // cover
881
882    // text-orientation/-webkit-text-orientation
883    "mixed",
884    "sideways",
885    "sideways-right",
886    "upright",
887    "vertical-right",
888
889    // -webkit-font-feature-settings
890    "on",
891    "off",
892
893    // image-rendering
894    //auto
895    //optimizespeed
896    "optimizequality",
897    "pixelated",
898    "-webkit-optimize-contrast",
899
900    // image-orientation
901    "from-image",
902
903    // shape-outside
904    "nonzero",
905    "evenodd",
906    "at",
907    // closest-side
908    // farthest-side
909
910    "alphabetic",
911
912    // (display-mode:) media feature
913    "fullscreen",
914    "standalone",
915    "minimal-ui",
916    "browser",
917
918    // position
919    "sticky",
920
921    // (pointer:) media feature
922    // none
923    "coarse",
924    "fine",
925
926    // (hover:) media feature
927    //  none
928    "on-demand",
929    "hover",
930
931    // blend modes
932    // normal
933    "multiply",
934    "screen",
935    // overlay
936    "darken",
937    "lighten",
938    "color-dodge",
939    "color-burn",
940    "hard-light",
941    "soft-light",
942    "difference",
943    "exclusion",
944    "hue",
945    "saturation",
946    "color",
947    "luminosity",
948
949    // object-fit
950    "scale-down",
951
952    // column-fill
953    "balance",
954
955    // -webkit-app-region
956    "drag",
957    "no-drag",
958
959    // grid-{column|row}-{start|end}
960    "span",
961
962    // grid-template-{columns|rows}
963    "minmax",
964
965    // text-indent
966    "each-line",
967    //hanging   // hanging exists in SVGCSSValueKeywords.in
968
969    // (scan:) media feature
970    "progressive",
971    "interlace",
972
973    //
974    // paint-order
975    //
976    // normal
977    // fill
978    // stroke
979    "markers",
980
981    //
982    // CSS3 viewport-length keywords
983    //
984    "-internal-extend-to-zoom",
985
986    // isolation
987    // auto
988    // isolate
989
990    // touch-action
991    "pan-x",
992    "pan-y",
993    "pan-left",
994    "pan-right",
995    "pan-up",
996    "pan-down",
997    "manipulation",
998    "pinch-zoom",
999
1000    // justify-items / justify-self
1001    // auto
1002    // stretch
1003    // baseline
1004    "last-baseline",
1005    "first-baseline",
1006    "first",
1007    "last",
1008    // center
1009    // start
1010    // end
1011    "self-start",
1012    "self-end",
1013    // flex-start
1014    // flex-end
1015    // left
1016    // right
1017    // unsafe
1018    // safe
1019    "legacy",
1020
1021    // scroll-behavior
1022    // auto
1023    "smooth",
1024
1025    // will-change
1026    // auto
1027    // contents
1028    "scroll-position",
1029
1030    // all
1031    // initial
1032    // inherit
1033    "revert",
1034    "unset",
1035
1036    // background-image, etc.
1037    "linear-gradient",
1038    "radial-gradient",
1039    "conic-gradient",
1040    "repeating-linear-gradient",
1041    "repeating-radial-gradient",
1042    "repeating-conic-gradient",
1043    "paint",
1044    "-webkit-cross-fade",
1045    "-webkit-gradient",
1046    "-webkit-linear-gradient",
1047    "-webkit-radial-gradient",
1048    "-webkit-repeating-linear-gradient",
1049    "-webkit-repeating-radial-gradient",
1050    "-webkit-image-set",
1051
1052    // deprecated gradients
1053    "from",
1054    "to",
1055    "color-stop",
1056    "radial",
1057
1058    // content
1059    "attr",
1060    "counter",
1061    "counters",
1062
1063    // clip
1064    "rect",
1065
1066    // shapes
1067    "polygon",
1068
1069    // @font-face src
1070    "format",
1071
1072    // (-webkit-)filter
1073    "invert",
1074    "grayscale",
1075    "sepia",
1076    "saturate",
1077    "hue-rotate",
1078    "opacity",
1079    "brightness",
1080    "contrast",
1081    "blur",
1082    "drop-shadow",
1083    "url",
1084
1085    // colors
1086    "rgb",
1087    "rgba",
1088    "hsl",
1089    "hsla",
1090    "-internal-light-dark-color",
1091
1092    // transform
1093    "matrix",
1094    "matrix3d",
1095    "perspective",
1096    "rotate",
1097    "rotateX",
1098    "rotateY",
1099    "rotateZ",
1100    "rotate3d",
1101    "scale",
1102    "scaleX",
1103    "scaleY",
1104    "scaleZ",
1105    "scale3d",
1106    "skew",
1107    "skewX",
1108    "skewY",
1109    "translate",
1110    "translateX",
1111    "translateY",
1112    "translateZ",
1113    "translate3d",
1114
1115    // scale
1116    "x",
1117    "y",
1118    "z",
1119
1120    // offset-path
1121    "path",
1122    "ray",
1123    "sides",
1124
1125    // math functions
1126    // https://drafts.csswg.org/css-values-4/#math
1127    "calc",
1128    "-webkit-calc",
1129    "min",
1130    "max",
1131    "clamp",
1132
1133    // scroll-snap-type
1134    // none
1135    // x
1136    // y
1137    // block
1138    // inline
1139    // both
1140    "mandatory",
1141    "proximity",
1142
1143    // scroll-snap-align
1144    // none
1145    // start
1146    // end
1147    // center
1148
1149    // scroll-snap-stop
1150    // normal
1151    // always
1152
1153
1154    // containment
1155    // paint
1156    "style",
1157    // layout
1158    "size",
1159
1160    // grid auto-repeat
1161    "auto-fill",
1162    "auto-fit",
1163
1164    "var",
1165    "-internal-variable-value",
1166    "env",
1167
1168    // break-before, break-after, break-inside
1169    "avoid-page",
1170    "page",
1171    "recto",
1172    "verso",
1173    "avoid-column",
1174
1175    // shape
1176    // rect
1177    // round
1178
1179    // color-gamut
1180    // srgb
1181    "p3",
1182    "rec2020",
1183
1184    // overscroll-behavior
1185    // auto,
1186    // contain
1187    // none
1188
1189    //scroll-customization
1190    // auto
1191    // pan-x,
1192    // pan-left,
1193    // pan-right,
1194    // pan-y,
1195    // pan-up,
1196    // pan-down
1197    // none
1198
1199    // @property
1200    "true",
1201    "false",
1202
1203    // (prefers-*:) media features
1204    "no-preference",
1205
1206    // (prefers-color-scheme:) media feature
1207    "dark",
1208    "light",
1209
1210    // color-scheme
1211    "only",
1212
1213    // (prefers-reduced-motion:) media feature
1214    "reduce",
1215
1216    // (forced-colors:) media feature
1217    // none
1218    "active",
1219
1220    // (navigation-controls) media feature
1221    // none
1222    "back-button",
1223
1224    // subtree-visibility
1225    "hidden-matchable",
1226
1227    // -internal-empty-line-height
1228    // none
1229    "fabricated",
1230
1231    // @supports selector(...)
1232    // https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn
1233    "selector",
1234  ],
1235}
1236