1 /* 2 * Copyright (c) 2008-2017 Mozilla Foundation 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included in 12 * all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20 * DEALINGS IN THE SOFTWARE. 21 */ 22 23 /* 24 * THIS IS A GENERATED FILE. PLEASE DO NOT EDIT. 25 * Please edit AttributeName.java instead and regenerate. 26 */ 27 28 #ifndef nsHtml5AttributeName_h 29 #define nsHtml5AttributeName_h 30 31 #include "nsAtom.h" 32 #include "nsHtml5AtomTable.h" 33 #include "nsHtml5String.h" 34 #include "nsNameSpaceManager.h" 35 #include "nsIContent.h" 36 #include "nsTraceRefcnt.h" 37 #include "jArray.h" 38 #include "nsHtml5ArrayCopy.h" 39 #include "nsAHtml5TreeBuilderState.h" 40 #include "nsGkAtoms.h" 41 #include "nsHtml5ByteReadable.h" 42 #include "nsHtml5Macros.h" 43 #include "nsIContentHandle.h" 44 #include "nsHtml5Portability.h" 45 #include "nsHtml5ContentCreatorFunction.h" 46 47 class nsHtml5StreamParser; 48 49 class nsHtml5ElementName; 50 class nsHtml5Tokenizer; 51 class nsHtml5TreeBuilder; 52 class nsHtml5MetaScanner; 53 class nsHtml5UTF16Buffer; 54 class nsHtml5StateSnapshot; 55 class nsHtml5Portability; 56 57 class nsHtml5AttributeName { 58 public: 59 static int32_t* ALL_NO_NS; 60 61 private: 62 static int32_t* XMLNS_NS; 63 static int32_t* XML_NS; 64 static int32_t* XLINK_NS; 65 66 public: 67 static nsStaticAtom** ALL_NO_PREFIX; 68 69 private: 70 static nsStaticAtom** XMLNS_PREFIX; 71 static nsStaticAtom** XLINK_PREFIX; 72 static nsStaticAtom** XML_PREFIX; 73 static RefPtr<nsAtom>* SVG_DIFFERENT(nsAtom* name, nsAtom* camel); 74 static RefPtr<nsAtom>* MATH_DIFFERENT(nsAtom* name, nsAtom* camel); 75 static RefPtr<nsAtom>* COLONIFIED_LOCAL(nsAtom* name, nsAtom* suffix); 76 77 public: 78 static RefPtr<nsAtom>* SAME_LOCAL(nsAtom* name); levelOrderBinarySearch(jArray<int32_t,int32_t> data,int32_t key)79 inline static int32_t levelOrderBinarySearch(jArray<int32_t, int32_t> data, 80 int32_t key) { 81 int32_t n = data.length; 82 int32_t i = 0; 83 while (i < n) { 84 int32_t val = data[i]; 85 if (val < key) { 86 i = 2 * i + 2; 87 } else if (val > key) { 88 i = 2 * i + 1; 89 } else { 90 return i; 91 } 92 } 93 return -1; 94 } 95 nameByBuffer(char16_t * buf,int32_t length,nsHtml5AtomTable * interner)96 inline static nsHtml5AttributeName* nameByBuffer(char16_t* buf, 97 int32_t length, 98 nsHtml5AtomTable* interner) { 99 uint32_t hash = nsHtml5AttributeName::bufToHash(buf, length); 100 jArray<int32_t, int32_t> hashes; 101 hashes = nsHtml5AttributeName::ATTRIBUTE_HASHES; 102 int32_t index = levelOrderBinarySearch(hashes, hash); 103 if (index < 0) { 104 return nullptr; 105 } 106 nsHtml5AttributeName* attributeName = 107 nsHtml5AttributeName::ATTRIBUTE_NAMES[index]; 108 nsAtom* name = attributeName->getLocal(0); 109 if (!nsHtml5Portability::localEqualsBuffer(name, buf, length)) { 110 return nullptr; 111 } 112 return attributeName; 113 } 114 115 private: bufToHash(char16_t * buf,int32_t length)116 inline static uint32_t bufToHash(char16_t* buf, int32_t length) { 117 uint32_t len = length; 118 uint32_t first = buf[0]; 119 first <<= 19; 120 uint32_t second = 1 << 23; 121 uint32_t third = 0; 122 uint32_t fourth = 0; 123 uint32_t fifth = 0; 124 uint32_t sixth = 0; 125 if (length >= 4) { 126 second = buf[length - 4]; 127 second <<= 4; 128 third = buf[1]; 129 third <<= 9; 130 fourth = buf[length - 2]; 131 fourth <<= 14; 132 fifth = buf[3]; 133 fifth <<= 24; 134 sixth = buf[length - 1]; 135 sixth <<= 11; 136 } else if (length == 3) { 137 second = buf[1]; 138 second <<= 4; 139 third = buf[2]; 140 third <<= 9; 141 } else if (length == 2) { 142 second = buf[1]; 143 second <<= 24; 144 } 145 return len + first + second + third + fourth + fifth + sixth; 146 } 147 148 public: 149 static const int32_t HTML = 0; 150 151 static const int32_t MATHML = 1; 152 153 static const int32_t SVG = 2; 154 155 private: 156 int32_t* uri; 157 RefPtr<nsAtom>* local; 158 nsStaticAtom** prefix; 159 bool custom; 160 nsHtml5AttributeName(int32_t* uri, RefPtr<nsAtom>* local, 161 nsStaticAtom** prefix); 162 163 public: 164 nsHtml5AttributeName(); isInterned()165 inline bool isInterned() { return !custom; } 166 setNameForNonInterned(nsAtom * name)167 inline void setNameForNonInterned(nsAtom* name) { 168 MOZ_ASSERT(custom); 169 local[0] = name; 170 local[1] = name; 171 local[2] = name; 172 } 173 174 static nsHtml5AttributeName* createAttributeName(nsAtom* name); 175 ~nsHtml5AttributeName(); 176 int32_t getUri(int32_t mode); 177 nsAtom* getLocal(int32_t mode); 178 nsStaticAtom* getPrefix(int32_t mode); 179 bool equalsAnother(nsHtml5AttributeName* another); 180 static nsHtml5AttributeName* ATTR_ALT; 181 static nsHtml5AttributeName* ATTR_DIR; 182 static nsHtml5AttributeName* ATTR_DUR; 183 static nsHtml5AttributeName* ATTR_END; 184 static nsHtml5AttributeName* ATTR_FOR; 185 static nsHtml5AttributeName* ATTR_IN2; 186 static nsHtml5AttributeName* ATTR_LOW; 187 static nsHtml5AttributeName* ATTR_MIN; 188 static nsHtml5AttributeName* ATTR_MAX; 189 static nsHtml5AttributeName* ATTR_REL; 190 static nsHtml5AttributeName* ATTR_REV; 191 static nsHtml5AttributeName* ATTR_SRC; 192 static nsHtml5AttributeName* ATTR_D; 193 static nsHtml5AttributeName* ATTR_R; 194 static nsHtml5AttributeName* ATTR_X; 195 static nsHtml5AttributeName* ATTR_Y; 196 static nsHtml5AttributeName* ATTR_Z; 197 static nsHtml5AttributeName* ATTR_K1; 198 static nsHtml5AttributeName* ATTR_X1; 199 static nsHtml5AttributeName* ATTR_Y1; 200 static nsHtml5AttributeName* ATTR_K2; 201 static nsHtml5AttributeName* ATTR_X2; 202 static nsHtml5AttributeName* ATTR_Y2; 203 static nsHtml5AttributeName* ATTR_K3; 204 static nsHtml5AttributeName* ATTR_K4; 205 static nsHtml5AttributeName* ATTR_XML_SPACE; 206 static nsHtml5AttributeName* ATTR_XML_LANG; 207 static nsHtml5AttributeName* ATTR_ARIA_GRAB; 208 static nsHtml5AttributeName* ATTR_ARIA_VALUEMAX; 209 static nsHtml5AttributeName* ATTR_ARIA_LABELLEDBY; 210 static nsHtml5AttributeName* ATTR_ARIA_DESCRIBEDBY; 211 static nsHtml5AttributeName* ATTR_ARIA_DISABLED; 212 static nsHtml5AttributeName* ATTR_ARIA_CHECKED; 213 static nsHtml5AttributeName* ATTR_ARIA_SELECTED; 214 static nsHtml5AttributeName* ATTR_ARIA_DROPEFFECT; 215 static nsHtml5AttributeName* ATTR_ARIA_REQUIRED; 216 static nsHtml5AttributeName* ATTR_ARIA_EXPANDED; 217 static nsHtml5AttributeName* ATTR_ARIA_PRESSED; 218 static nsHtml5AttributeName* ATTR_ARIA_LEVEL; 219 static nsHtml5AttributeName* ATTR_ARIA_CHANNEL; 220 static nsHtml5AttributeName* ATTR_ARIA_HIDDEN; 221 static nsHtml5AttributeName* ATTR_ARIA_SECRET; 222 static nsHtml5AttributeName* ATTR_ARIA_POSINSET; 223 static nsHtml5AttributeName* ATTR_ARIA_ATOMIC; 224 static nsHtml5AttributeName* ATTR_ARIA_INVALID; 225 static nsHtml5AttributeName* ATTR_ARIA_TEMPLATEID; 226 static nsHtml5AttributeName* ATTR_ARIA_VALUEMIN; 227 static nsHtml5AttributeName* ATTR_ARIA_MULTISELECTABLE; 228 static nsHtml5AttributeName* ATTR_ARIA_CONTROLS; 229 static nsHtml5AttributeName* ATTR_ARIA_MULTILINE; 230 static nsHtml5AttributeName* ATTR_ARIA_READONLY; 231 static nsHtml5AttributeName* ATTR_ARIA_OWNS; 232 static nsHtml5AttributeName* ATTR_ARIA_ACTIVEDESCENDANT; 233 static nsHtml5AttributeName* ATTR_ARIA_RELEVANT; 234 static nsHtml5AttributeName* ATTR_ARIA_DATATYPE; 235 static nsHtml5AttributeName* ATTR_ARIA_VALUENOW; 236 static nsHtml5AttributeName* ATTR_ARIA_SORT; 237 static nsHtml5AttributeName* ATTR_ARIA_AUTOCOMPLETE; 238 static nsHtml5AttributeName* ATTR_ARIA_FLOWTO; 239 static nsHtml5AttributeName* ATTR_ARIA_BUSY; 240 static nsHtml5AttributeName* ATTR_ARIA_LIVE; 241 static nsHtml5AttributeName* ATTR_ARIA_HASPOPUP; 242 static nsHtml5AttributeName* ATTR_ARIA_SETSIZE; 243 static nsHtml5AttributeName* ATTR_CLEAR; 244 static nsHtml5AttributeName* ATTR_DISABLED; 245 static nsHtml5AttributeName* ATTR_DEFAULT; 246 static nsHtml5AttributeName* ATTR_DATA; 247 static nsHtml5AttributeName* ATTR_EQUALCOLUMNS; 248 static nsHtml5AttributeName* ATTR_EQUALROWS; 249 static nsHtml5AttributeName* ATTR_HSPACE; 250 static nsHtml5AttributeName* ATTR_ISMAP; 251 static nsHtml5AttributeName* ATTR_LOCAL; 252 static nsHtml5AttributeName* ATTR_LSPACE; 253 static nsHtml5AttributeName* ATTR_MOVABLELIMITS; 254 static nsHtml5AttributeName* ATTR_NOTATION; 255 static nsHtml5AttributeName* ATTR_ONDATAAVAILABLE; 256 static nsHtml5AttributeName* ATTR_ONPASTE; 257 static nsHtml5AttributeName* ATTR_RSPACE; 258 static nsHtml5AttributeName* ATTR_ROWALIGN; 259 static nsHtml5AttributeName* ATTR_ROTATE; 260 static nsHtml5AttributeName* ATTR_SEPARATOR; 261 static nsHtml5AttributeName* ATTR_SEPARATORS; 262 static nsHtml5AttributeName* ATTR_VSPACE; 263 static nsHtml5AttributeName* ATTR_XCHANNELSELECTOR; 264 static nsHtml5AttributeName* ATTR_YCHANNELSELECTOR; 265 static nsHtml5AttributeName* ATTR_ENABLE_BACKGROUND; 266 static nsHtml5AttributeName* ATTR_ONDBLCLICK; 267 static nsHtml5AttributeName* ATTR_ONABORT; 268 static nsHtml5AttributeName* ATTR_CALCMODE; 269 static nsHtml5AttributeName* ATTR_CHECKED; 270 static nsHtml5AttributeName* ATTR_FENCE; 271 static nsHtml5AttributeName* ATTR_ONSCROLL; 272 static nsHtml5AttributeName* ATTR_ONACTIVATE; 273 static nsHtml5AttributeName* ATTR_OPACITY; 274 static nsHtml5AttributeName* ATTR_SPACING; 275 static nsHtml5AttributeName* ATTR_SPECULAREXPONENT; 276 static nsHtml5AttributeName* ATTR_SPECULARCONSTANT; 277 static nsHtml5AttributeName* ATTR_BORDER; 278 static nsHtml5AttributeName* ATTR_ID; 279 static nsHtml5AttributeName* ATTR_GRADIENTTRANSFORM; 280 static nsHtml5AttributeName* ATTR_GRADIENTUNITS; 281 static nsHtml5AttributeName* ATTR_HIDDEN; 282 static nsHtml5AttributeName* ATTR_HEADERS; 283 static nsHtml5AttributeName* ATTR_LOADING; 284 static nsHtml5AttributeName* ATTR_READONLY; 285 static nsHtml5AttributeName* ATTR_RENDERING_INTENT; 286 static nsHtml5AttributeName* ATTR_SEED; 287 static nsHtml5AttributeName* ATTR_SRCDOC; 288 static nsHtml5AttributeName* ATTR_STDDEVIATION; 289 static nsHtml5AttributeName* ATTR_SANDBOX; 290 static nsHtml5AttributeName* ATTR_WORD_SPACING; 291 static nsHtml5AttributeName* ATTR_ACCENTUNDER; 292 static nsHtml5AttributeName* ATTR_ACCEPT_CHARSET; 293 static nsHtml5AttributeName* ATTR_ACCESSKEY; 294 static nsHtml5AttributeName* ATTR_ACCENT; 295 static nsHtml5AttributeName* ATTR_ACCEPT; 296 static nsHtml5AttributeName* ATTR_BEVELLED; 297 static nsHtml5AttributeName* ATTR_BASEFREQUENCY; 298 static nsHtml5AttributeName* ATTR_BASELINE_SHIFT; 299 static nsHtml5AttributeName* ATTR_BASEPROFILE; 300 static nsHtml5AttributeName* ATTR_BASELINE; 301 static nsHtml5AttributeName* ATTR_BASE; 302 static nsHtml5AttributeName* ATTR_CODE; 303 static nsHtml5AttributeName* ATTR_CODETYPE; 304 static nsHtml5AttributeName* ATTR_CODEBASE; 305 static nsHtml5AttributeName* ATTR_CITE; 306 static nsHtml5AttributeName* ATTR_DEFER; 307 static nsHtml5AttributeName* ATTR_DATETIME; 308 static nsHtml5AttributeName* ATTR_DIRECTION; 309 static nsHtml5AttributeName* ATTR_EDGEMODE; 310 static nsHtml5AttributeName* ATTR_EDGE; 311 static nsHtml5AttributeName* ATTR_ENTERKEYHINT; 312 static nsHtml5AttributeName* ATTR_FACE; 313 static nsHtml5AttributeName* ATTR_INDEX; 314 static nsHtml5AttributeName* ATTR_INTERCEPT; 315 static nsHtml5AttributeName* ATTR_INTEGRITY; 316 static nsHtml5AttributeName* ATTR_LINEBREAK; 317 static nsHtml5AttributeName* ATTR_LABEL; 318 static nsHtml5AttributeName* ATTR_LINETHICKNESS; 319 static nsHtml5AttributeName* ATTR_MODE; 320 static nsHtml5AttributeName* ATTR_NAME; 321 static nsHtml5AttributeName* ATTR_NORESIZE; 322 static nsHtml5AttributeName* ATTR_ONBEFOREUNLOAD; 323 static nsHtml5AttributeName* ATTR_ONREPEAT; 324 static nsHtml5AttributeName* ATTR_OBJECT; 325 static nsHtml5AttributeName* ATTR_ONSELECT; 326 static nsHtml5AttributeName* ATTR_ORDER; 327 static nsHtml5AttributeName* ATTR_OTHER; 328 static nsHtml5AttributeName* ATTR_ONRESET; 329 static nsHtml5AttributeName* ATTR_ONREADYSTATECHANGE; 330 static nsHtml5AttributeName* ATTR_ONMESSAGE; 331 static nsHtml5AttributeName* ATTR_ONBEGIN; 332 static nsHtml5AttributeName* ATTR_ONBEFOREPRINT; 333 static nsHtml5AttributeName* ATTR_ORIENT; 334 static nsHtml5AttributeName* ATTR_ORIENTATION; 335 static nsHtml5AttributeName* ATTR_ONBEFORECOPY; 336 static nsHtml5AttributeName* ATTR_ONSELECTSTART; 337 static nsHtml5AttributeName* ATTR_ONBEFOREPASTE; 338 static nsHtml5AttributeName* ATTR_ONKEYPRESS; 339 static nsHtml5AttributeName* ATTR_ONKEYUP; 340 static nsHtml5AttributeName* ATTR_ONBEFORECUT; 341 static nsHtml5AttributeName* ATTR_ONKEYDOWN; 342 static nsHtml5AttributeName* ATTR_ONRESIZE; 343 static nsHtml5AttributeName* ATTR_REPEAT; 344 static nsHtml5AttributeName* ATTR_REFERRERPOLICY; 345 static nsHtml5AttributeName* ATTR_RULES; 346 static nsHtml5AttributeName* ATTR_ROLE; 347 static nsHtml5AttributeName* ATTR_REPEATCOUNT; 348 static nsHtml5AttributeName* ATTR_REPEATDUR; 349 static nsHtml5AttributeName* ATTR_SELECTED; 350 static nsHtml5AttributeName* ATTR_SIZES; 351 static nsHtml5AttributeName* ATTR_SUPERSCRIPTSHIFT; 352 static nsHtml5AttributeName* ATTR_STRETCHY; 353 static nsHtml5AttributeName* ATTR_SCHEME; 354 static nsHtml5AttributeName* ATTR_SPREADMETHOD; 355 static nsHtml5AttributeName* ATTR_SELECTION; 356 static nsHtml5AttributeName* ATTR_SIZE; 357 static nsHtml5AttributeName* ATTR_TYPE; 358 static nsHtml5AttributeName* ATTR_DIFFUSECONSTANT; 359 static nsHtml5AttributeName* ATTR_HREF; 360 static nsHtml5AttributeName* ATTR_HREFLANG; 361 static nsHtml5AttributeName* ATTR_ONAFTERPRINT; 362 static nsHtml5AttributeName* ATTR_PROFILE; 363 static nsHtml5AttributeName* ATTR_SURFACESCALE; 364 static nsHtml5AttributeName* ATTR_XREF; 365 static nsHtml5AttributeName* ATTR_ALIGN; 366 static nsHtml5AttributeName* ATTR_ALIGNMENT_BASELINE; 367 static nsHtml5AttributeName* ATTR_ALIGNMENTSCOPE; 368 static nsHtml5AttributeName* ATTR_DRAGGABLE; 369 static nsHtml5AttributeName* ATTR_HEIGHT; 370 static nsHtml5AttributeName* ATTR_IMAGESIZES; 371 static nsHtml5AttributeName* ATTR_IMAGESRCSET; 372 static nsHtml5AttributeName* ATTR_IMAGE_RENDERING; 373 static nsHtml5AttributeName* ATTR_LANGUAGE; 374 static nsHtml5AttributeName* ATTR_LANG; 375 static nsHtml5AttributeName* ATTR_LARGEOP; 376 static nsHtml5AttributeName* ATTR_LONGDESC; 377 static nsHtml5AttributeName* ATTR_LENGTHADJUST; 378 static nsHtml5AttributeName* ATTR_MARGINHEIGHT; 379 static nsHtml5AttributeName* ATTR_MARGINWIDTH; 380 static nsHtml5AttributeName* ATTR_ORIGIN; 381 static nsHtml5AttributeName* ATTR_PING; 382 static nsHtml5AttributeName* ATTR_TARGET; 383 static nsHtml5AttributeName* ATTR_TARGETX; 384 static nsHtml5AttributeName* ATTR_TARGETY; 385 static nsHtml5AttributeName* ATTR_ARCHIVE; 386 static nsHtml5AttributeName* ATTR_HIGH; 387 static nsHtml5AttributeName* ATTR_LIGHTING_COLOR; 388 static nsHtml5AttributeName* ATTR_MATHBACKGROUND; 389 static nsHtml5AttributeName* ATTR_METHOD; 390 static nsHtml5AttributeName* ATTR_MATHVARIANT; 391 static nsHtml5AttributeName* ATTR_MATHCOLOR; 392 static nsHtml5AttributeName* ATTR_MATHSIZE; 393 static nsHtml5AttributeName* ATTR_NOSHADE; 394 static nsHtml5AttributeName* ATTR_ONCHANGE; 395 static nsHtml5AttributeName* ATTR_PATHLENGTH; 396 static nsHtml5AttributeName* ATTR_PATH; 397 static nsHtml5AttributeName* ATTR_ALTIMG; 398 static nsHtml5AttributeName* ATTR_ACTIONTYPE; 399 static nsHtml5AttributeName* ATTR_ACTION; 400 static nsHtml5AttributeName* ATTR_ACTIVE; 401 static nsHtml5AttributeName* ATTR_ADDITIVE; 402 static nsHtml5AttributeName* ATTR_BEGIN; 403 static nsHtml5AttributeName* ATTR_DOMINANT_BASELINE; 404 static nsHtml5AttributeName* ATTR_DIVISOR; 405 static nsHtml5AttributeName* ATTR_DEFINITIONURL; 406 static nsHtml5AttributeName* ATTR_LIMITINGCONEANGLE; 407 static nsHtml5AttributeName* ATTR_MEDIA; 408 static nsHtml5AttributeName* ATTR_MANIFEST; 409 static nsHtml5AttributeName* ATTR_ONFINISH; 410 static nsHtml5AttributeName* ATTR_OPTIMUM; 411 static nsHtml5AttributeName* ATTR_RADIOGROUP; 412 static nsHtml5AttributeName* ATTR_RADIUS; 413 static nsHtml5AttributeName* ATTR_SCRIPTLEVEL; 414 static nsHtml5AttributeName* ATTR_SCRIPTSIZEMULTIPLIER; 415 static nsHtml5AttributeName* ATTR_SCRIPTMINSIZE; 416 static nsHtml5AttributeName* ATTR_TABINDEX; 417 static nsHtml5AttributeName* ATTR_VALIGN; 418 static nsHtml5AttributeName* ATTR_VISIBILITY; 419 static nsHtml5AttributeName* ATTR_BACKGROUND; 420 static nsHtml5AttributeName* ATTR_LINK; 421 static nsHtml5AttributeName* ATTR_MARKER_MID; 422 static nsHtml5AttributeName* ATTR_MARKERHEIGHT; 423 static nsHtml5AttributeName* ATTR_MARKER_END; 424 static nsHtml5AttributeName* ATTR_MASK; 425 static nsHtml5AttributeName* ATTR_MARKER_START; 426 static nsHtml5AttributeName* ATTR_MARKERWIDTH; 427 static nsHtml5AttributeName* ATTR_MASKUNITS; 428 static nsHtml5AttributeName* ATTR_MARKERUNITS; 429 static nsHtml5AttributeName* ATTR_MASKCONTENTUNITS; 430 static nsHtml5AttributeName* ATTR_AMPLITUDE; 431 static nsHtml5AttributeName* ATTR_CELLSPACING; 432 static nsHtml5AttributeName* ATTR_CELLPADDING; 433 static nsHtml5AttributeName* ATTR_DECLARE; 434 static nsHtml5AttributeName* ATTR_FILL_RULE; 435 static nsHtml5AttributeName* ATTR_FILL; 436 static nsHtml5AttributeName* ATTR_FILL_OPACITY; 437 static nsHtml5AttributeName* ATTR_MAXLENGTH; 438 static nsHtml5AttributeName* ATTR_ONCLICK; 439 static nsHtml5AttributeName* ATTR_ONBLUR; 440 static nsHtml5AttributeName* ATTR_REPLACE; 441 static nsHtml5AttributeName* ATTR_ROWLINES; 442 static nsHtml5AttributeName* ATTR_SCALE; 443 static nsHtml5AttributeName* ATTR_STYLE; 444 static nsHtml5AttributeName* ATTR_TABLEVALUES; 445 static nsHtml5AttributeName* ATTR_TITLE; 446 static nsHtml5AttributeName* ATTR_AZIMUTH; 447 static nsHtml5AttributeName* ATTR_FORMAT; 448 static nsHtml5AttributeName* ATTR_FRAMEBORDER; 449 static nsHtml5AttributeName* ATTR_FRAME; 450 static nsHtml5AttributeName* ATTR_FRAMESPACING; 451 static nsHtml5AttributeName* ATTR_FROM; 452 static nsHtml5AttributeName* ATTR_FORM; 453 static nsHtml5AttributeName* ATTR_PROMPT; 454 static nsHtml5AttributeName* ATTR_PRIMITIVEUNITS; 455 static nsHtml5AttributeName* ATTR_SYMMETRIC; 456 static nsHtml5AttributeName* ATTR_SUMMARY; 457 static nsHtml5AttributeName* ATTR_USEMAP; 458 static nsHtml5AttributeName* ATTR_ZOOMANDPAN; 459 static nsHtml5AttributeName* ATTR_ASYNC; 460 static nsHtml5AttributeName* ATTR_ALINK; 461 static nsHtml5AttributeName* ATTR_IN; 462 static nsHtml5AttributeName* ATTR_ICON; 463 static nsHtml5AttributeName* ATTR_KERNELMATRIX; 464 static nsHtml5AttributeName* ATTR_KERNING; 465 static nsHtml5AttributeName* ATTR_KERNELUNITLENGTH; 466 static nsHtml5AttributeName* ATTR_ONUNLOAD; 467 static nsHtml5AttributeName* ATTR_OPEN; 468 static nsHtml5AttributeName* ATTR_ONINVALID; 469 static nsHtml5AttributeName* ATTR_ONEND; 470 static nsHtml5AttributeName* ATTR_ONINPUT; 471 static nsHtml5AttributeName* ATTR_POINTER_EVENTS; 472 static nsHtml5AttributeName* ATTR_POINTS; 473 static nsHtml5AttributeName* ATTR_POINTSATX; 474 static nsHtml5AttributeName* ATTR_POINTSATY; 475 static nsHtml5AttributeName* ATTR_POINTSATZ; 476 static nsHtml5AttributeName* ATTR_SPAN; 477 static nsHtml5AttributeName* ATTR_STANDBY; 478 static nsHtml5AttributeName* ATTR_TRANSFORM_ORIGIN; 479 static nsHtml5AttributeName* ATTR_TRANSFORM; 480 static nsHtml5AttributeName* ATTR_VLINK; 481 static nsHtml5AttributeName* ATTR_WHEN; 482 static nsHtml5AttributeName* ATTR_XLINK_HREF; 483 static nsHtml5AttributeName* ATTR_XLINK_TITLE; 484 static nsHtml5AttributeName* ATTR_XLINK_ROLE; 485 static nsHtml5AttributeName* ATTR_XLINK_ARCROLE; 486 static nsHtml5AttributeName* ATTR_XMLNS_XLINK; 487 static nsHtml5AttributeName* ATTR_XMLNS; 488 static nsHtml5AttributeName* ATTR_XLINK_TYPE; 489 static nsHtml5AttributeName* ATTR_XLINK_SHOW; 490 static nsHtml5AttributeName* ATTR_XLINK_ACTUATE; 491 static nsHtml5AttributeName* ATTR_AUTOPLAY; 492 static nsHtml5AttributeName* ATTR_AUTOCOMPLETE; 493 static nsHtml5AttributeName* ATTR_AUTOFOCUS; 494 static nsHtml5AttributeName* ATTR_AUTOCAPITALIZE; 495 static nsHtml5AttributeName* ATTR_BGCOLOR; 496 static nsHtml5AttributeName* ATTR_COLOR_PROFILE; 497 static nsHtml5AttributeName* ATTR_COLOR_RENDERING; 498 static nsHtml5AttributeName* ATTR_COLOR_INTERPOLATION; 499 static nsHtml5AttributeName* ATTR_COLOR; 500 static nsHtml5AttributeName* ATTR_COLOR_INTERPOLATION_FILTERS; 501 static nsHtml5AttributeName* ATTR_ENCODING; 502 static nsHtml5AttributeName* ATTR_EXPONENT; 503 static nsHtml5AttributeName* ATTR_FLOOD_COLOR; 504 static nsHtml5AttributeName* ATTR_FLOOD_OPACITY; 505 static nsHtml5AttributeName* ATTR_LQUOTE; 506 static nsHtml5AttributeName* ATTR_NUMOCTAVES; 507 static nsHtml5AttributeName* ATTR_NOMODULE; 508 static nsHtml5AttributeName* ATTR_ONLOAD; 509 static nsHtml5AttributeName* ATTR_ONMOUSEWHEEL; 510 static nsHtml5AttributeName* ATTR_ONMOUSEENTER; 511 static nsHtml5AttributeName* ATTR_ONMOUSEOVER; 512 static nsHtml5AttributeName* ATTR_ONFOCUSIN; 513 static nsHtml5AttributeName* ATTR_ONCONTEXTMENU; 514 static nsHtml5AttributeName* ATTR_ONZOOM; 515 static nsHtml5AttributeName* ATTR_ONCOPY; 516 static nsHtml5AttributeName* ATTR_ONMOUSELEAVE; 517 static nsHtml5AttributeName* ATTR_ONMOUSEMOVE; 518 static nsHtml5AttributeName* ATTR_ONMOUSEUP; 519 static nsHtml5AttributeName* ATTR_ONFOCUS; 520 static nsHtml5AttributeName* ATTR_ONMOUSEOUT; 521 static nsHtml5AttributeName* ATTR_ONFOCUSOUT; 522 static nsHtml5AttributeName* ATTR_ONMOUSEDOWN; 523 static nsHtml5AttributeName* ATTR_TO; 524 static nsHtml5AttributeName* ATTR_RQUOTE; 525 static nsHtml5AttributeName* ATTR_STROKE_LINECAP; 526 static nsHtml5AttributeName* ATTR_STROKE_DASHARRAY; 527 static nsHtml5AttributeName* ATTR_STROKE_DASHOFFSET; 528 static nsHtml5AttributeName* ATTR_STROKE_LINEJOIN; 529 static nsHtml5AttributeName* ATTR_STROKE_MITERLIMIT; 530 static nsHtml5AttributeName* ATTR_STROKE; 531 static nsHtml5AttributeName* ATTR_SCROLLING; 532 static nsHtml5AttributeName* ATTR_STROKE_WIDTH; 533 static nsHtml5AttributeName* ATTR_STROKE_OPACITY; 534 static nsHtml5AttributeName* ATTR_COMPACT; 535 static nsHtml5AttributeName* ATTR_CLIP; 536 static nsHtml5AttributeName* ATTR_CLIP_RULE; 537 static nsHtml5AttributeName* ATTR_CLIP_PATH; 538 static nsHtml5AttributeName* ATTR_CLIPPATHUNITS; 539 static nsHtml5AttributeName* ATTR_DISPLAY; 540 static nsHtml5AttributeName* ATTR_DISPLAYSTYLE; 541 static nsHtml5AttributeName* ATTR_GLYPH_ORIENTATION_VERTICAL; 542 static nsHtml5AttributeName* ATTR_GLYPH_ORIENTATION_HORIZONTAL; 543 static nsHtml5AttributeName* ATTR_GLYPHREF; 544 static nsHtml5AttributeName* ATTR_HTTP_EQUIV; 545 static nsHtml5AttributeName* ATTR_KEYPOINTS; 546 static nsHtml5AttributeName* ATTR_LOOP; 547 static nsHtml5AttributeName* ATTR_PROPERTY; 548 static nsHtml5AttributeName* ATTR_SCOPED; 549 static nsHtml5AttributeName* ATTR_STEP; 550 static nsHtml5AttributeName* ATTR_SHAPE_RENDERING; 551 static nsHtml5AttributeName* ATTR_SCOPE; 552 static nsHtml5AttributeName* ATTR_SHAPE; 553 static nsHtml5AttributeName* ATTR_SLOPE; 554 static nsHtml5AttributeName* ATTR_STOP_COLOR; 555 static nsHtml5AttributeName* ATTR_STOP_OPACITY; 556 static nsHtml5AttributeName* ATTR_TEMPLATE; 557 static nsHtml5AttributeName* ATTR_WRAP; 558 static nsHtml5AttributeName* ATTR_ABBR; 559 static nsHtml5AttributeName* ATTR_ATTRIBUTENAME; 560 static nsHtml5AttributeName* ATTR_ATTRIBUTETYPE; 561 static nsHtml5AttributeName* ATTR_CHAR; 562 static nsHtml5AttributeName* ATTR_COORDS; 563 static nsHtml5AttributeName* ATTR_CHAROFF; 564 static nsHtml5AttributeName* ATTR_CHARSET; 565 static nsHtml5AttributeName* ATTR_NOWRAP; 566 static nsHtml5AttributeName* ATTR_NOHREF; 567 static nsHtml5AttributeName* ATTR_ONDRAG; 568 static nsHtml5AttributeName* ATTR_ONDRAGENTER; 569 static nsHtml5AttributeName* ATTR_ONDRAGOVER; 570 static nsHtml5AttributeName* ATTR_ONDRAGEND; 571 static nsHtml5AttributeName* ATTR_ONDROP; 572 static nsHtml5AttributeName* ATTR_ONDRAGDROP; 573 static nsHtml5AttributeName* ATTR_ONERROR; 574 static nsHtml5AttributeName* ATTR_OPERATOR; 575 static nsHtml5AttributeName* ATTR_OVERFLOW; 576 static nsHtml5AttributeName* ATTR_ONDRAGSTART; 577 static nsHtml5AttributeName* ATTR_ONDRAGLEAVE; 578 static nsHtml5AttributeName* ATTR_STARTOFFSET; 579 static nsHtml5AttributeName* ATTR_START; 580 static nsHtml5AttributeName* ATTR_AS; 581 static nsHtml5AttributeName* ATTR_AXIS; 582 static nsHtml5AttributeName* ATTR_BIAS; 583 static nsHtml5AttributeName* ATTR_COLSPAN; 584 static nsHtml5AttributeName* ATTR_CLASSID; 585 static nsHtml5AttributeName* ATTR_CROSSORIGIN; 586 static nsHtml5AttributeName* ATTR_COLS; 587 static nsHtml5AttributeName* ATTR_CURSOR; 588 static nsHtml5AttributeName* ATTR_CLOSURE; 589 static nsHtml5AttributeName* ATTR_CLOSE; 590 static nsHtml5AttributeName* ATTR_CLASS; 591 static nsHtml5AttributeName* ATTR_IS; 592 static nsHtml5AttributeName* ATTR_KEYSYSTEM; 593 static nsHtml5AttributeName* ATTR_KEYSPLINES; 594 static nsHtml5AttributeName* ATTR_LOWSRC; 595 static nsHtml5AttributeName* ATTR_MAXSIZE; 596 static nsHtml5AttributeName* ATTR_MINSIZE; 597 static nsHtml5AttributeName* ATTR_OFFSET; 598 static nsHtml5AttributeName* ATTR_PRESERVEALPHA; 599 static nsHtml5AttributeName* ATTR_PRESERVEASPECTRATIO; 600 static nsHtml5AttributeName* ATTR_ROWSPAN; 601 static nsHtml5AttributeName* ATTR_ROWSPACING; 602 static nsHtml5AttributeName* ATTR_ROWS; 603 static nsHtml5AttributeName* ATTR_SRCSET; 604 static nsHtml5AttributeName* ATTR_SUBSCRIPTSHIFT; 605 static nsHtml5AttributeName* ATTR_VERSION; 606 static nsHtml5AttributeName* ATTR_ALTTEXT; 607 static nsHtml5AttributeName* ATTR_CONTENTEDITABLE; 608 static nsHtml5AttributeName* ATTR_CONTROLS; 609 static nsHtml5AttributeName* ATTR_CONTENT; 610 static nsHtml5AttributeName* ATTR_CONTEXTMENU; 611 static nsHtml5AttributeName* ATTR_DEPTH; 612 static nsHtml5AttributeName* ATTR_ENCTYPE; 613 static nsHtml5AttributeName* ATTR_FONT_STRETCH; 614 static nsHtml5AttributeName* ATTR_FILTER; 615 static nsHtml5AttributeName* ATTR_FONTWEIGHT; 616 static nsHtml5AttributeName* ATTR_FONT_WEIGHT; 617 static nsHtml5AttributeName* ATTR_FONTSTYLE; 618 static nsHtml5AttributeName* ATTR_FONT_STYLE; 619 static nsHtml5AttributeName* ATTR_FONTFAMILY; 620 static nsHtml5AttributeName* ATTR_FONT_FAMILY; 621 static nsHtml5AttributeName* ATTR_FONT_VARIANT; 622 static nsHtml5AttributeName* ATTR_FONT_SIZE_ADJUST; 623 static nsHtml5AttributeName* ATTR_FILTERUNITS; 624 static nsHtml5AttributeName* ATTR_FONTSIZE; 625 static nsHtml5AttributeName* ATTR_FONT_SIZE; 626 static nsHtml5AttributeName* ATTR_KEYTIMES; 627 static nsHtml5AttributeName* ATTR_LETTER_SPACING; 628 static nsHtml5AttributeName* ATTR_LIST; 629 static nsHtml5AttributeName* ATTR_MULTIPLE; 630 static nsHtml5AttributeName* ATTR_RT; 631 static nsHtml5AttributeName* ATTR_ONSTOP; 632 static nsHtml5AttributeName* ATTR_ONSTART; 633 static nsHtml5AttributeName* ATTR_POSTER; 634 static nsHtml5AttributeName* ATTR_PATTERNTRANSFORM; 635 static nsHtml5AttributeName* ATTR_PATTERN; 636 static nsHtml5AttributeName* ATTR_PATTERNUNITS; 637 static nsHtml5AttributeName* ATTR_PATTERNCONTENTUNITS; 638 static nsHtml5AttributeName* ATTR_RESTART; 639 static nsHtml5AttributeName* ATTR_STITCHTILES; 640 static nsHtml5AttributeName* ATTR_SYSTEMLANGUAGE; 641 static nsHtml5AttributeName* ATTR_TEXT_RENDERING; 642 static nsHtml5AttributeName* ATTR_TEXT_DECORATION; 643 static nsHtml5AttributeName* ATTR_TEXT_ANCHOR; 644 static nsHtml5AttributeName* ATTR_TEXTLENGTH; 645 static nsHtml5AttributeName* ATTR_TEXT; 646 static nsHtml5AttributeName* ATTR_WRITING_MODE; 647 static nsHtml5AttributeName* ATTR_WIDTH; 648 static nsHtml5AttributeName* ATTR_ACCUMULATE; 649 static nsHtml5AttributeName* ATTR_COLUMNSPAN; 650 static nsHtml5AttributeName* ATTR_COLUMNLINES; 651 static nsHtml5AttributeName* ATTR_COLUMNALIGN; 652 static nsHtml5AttributeName* ATTR_COLUMNSPACING; 653 static nsHtml5AttributeName* ATTR_COLUMNWIDTH; 654 static nsHtml5AttributeName* ATTR_GROUPALIGN; 655 static nsHtml5AttributeName* ATTR_INPUTMODE; 656 static nsHtml5AttributeName* ATTR_ONSUBMIT; 657 static nsHtml5AttributeName* ATTR_ONCUT; 658 static nsHtml5AttributeName* ATTR_REQUIRED; 659 static nsHtml5AttributeName* ATTR_REQUIREDFEATURES; 660 static nsHtml5AttributeName* ATTR_RESULT; 661 static nsHtml5AttributeName* ATTR_REQUIREDEXTENSIONS; 662 static nsHtml5AttributeName* ATTR_VALUES; 663 static nsHtml5AttributeName* ATTR_VALUETYPE; 664 static nsHtml5AttributeName* ATTR_VALUE; 665 static nsHtml5AttributeName* ATTR_ELEVATION; 666 static nsHtml5AttributeName* ATTR_VIEWTARGET; 667 static nsHtml5AttributeName* ATTR_VIEWBOX; 668 static nsHtml5AttributeName* ATTR_CX; 669 static nsHtml5AttributeName* ATTR_DX; 670 static nsHtml5AttributeName* ATTR_FX; 671 static nsHtml5AttributeName* ATTR_RX; 672 static nsHtml5AttributeName* ATTR_REFX; 673 static nsHtml5AttributeName* ATTR_BY; 674 static nsHtml5AttributeName* ATTR_CY; 675 static nsHtml5AttributeName* ATTR_DY; 676 static nsHtml5AttributeName* ATTR_FY; 677 static nsHtml5AttributeName* ATTR_RY; 678 static nsHtml5AttributeName* ATTR_REFY; 679 680 private: 681 static nsHtml5AttributeName** ATTRIBUTE_NAMES; 682 static staticJArray<int32_t, int32_t> ATTRIBUTE_HASHES; 683 684 public: 685 static void initializeStatics(); 686 static void releaseStatics(); 687 }; 688 689 #endif 690