Coverage Report

Created: 2018-09-25 14:53

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