tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nsHtml5AttributeName.h (29104B)


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