[webkit-changes] cvs commit: WebCore/khtml/misc htmlattrs.c htmlattrs.h htmltags.c

Timothy thatcher at opensource.apple.com
Mon Nov 28 14:01:57 PST 2005


thatcher    05/11/28 14:01:57

  Modified:    khtml/ecma Tag: Safari-1-3-branch kjs_events.cpp
               khtml/misc Tag: Safari-1-3-branch htmlattrs.c htmlattrs.h
                        htmltags.c
  Log:
  Build fix and new generated files.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.42.6.3  +13 -11    WebCore/khtml/ecma/kjs_events.cpp
  
  Index: kjs_events.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/ecma/kjs_events.cpp,v
  retrieving revision 1.42.6.2
  retrieving revision 1.42.6.3
  diff -u -r1.42.6.2 -r1.42.6.3
  --- kjs_events.cpp	28 Nov 2005 18:49:17 -0000	1.42.6.2
  +++ kjs_events.cpp	28 Nov 2005 22:01:54 -0000	1.42.6.3
  @@ -93,23 +93,24 @@
   
       window->setCurrentEvent( 0 );
       interpreter->setCurrentEvent( 0 );
  -#if APPLE_CHANGES
  -    if ( exec->hadException() ) {
  -        KJS::Interpreter::lock();
  +
  +    if (exec->hadException()) {
           char *message = exec->exception().toObject(exec).get(exec, messagePropertyName).toString(exec).ascii();
           int lineNumber =  exec->exception().toObject(exec).get(exec, "line").toInt32(exec);
  -        UString sourceURL = exec->exception().toObject(exec).get(exec, "sourceURL").toString(exec);
  -        KJS::Interpreter::unlock();
  +        QString sourceURL;
  +        {
  +          // put this in a block to make sure UString is deallocated inside the lock
  +          UString uSourceURL = exec->exception().toObject(exec).get(exec, "sourceURL").toString(exec);
  +          sourceURL = uSourceURL.qstring();
  +        }
           if (Interpreter::shouldPrintExceptions()) {
   	    printf("(event handler):%s\n", message);
   	}
  -        KWQ(part)->addMessageToConsole(message, lineNumber, sourceURL.qstring());
  -        exec->clearException();
  -    }
  -#else
  -    if ( exec->hadException() )
  +        KWQ(part)->addMessageToConsole(message, lineNumber, sourceURL);
  +
  +        if (Interpreter::shouldPrintExceptions())
  +            printf("(event handler):%s\n", message);
           exec->clearException();
  -#endif
         } else {
               if (!retval.isA(UndefinedType) && !retval.isA(NullType) && evt.handle()->storesResultAsString())
                   evt.handle()->storeResult(retval.toString(exec).string());
  @@ -119,6 +120,7 @@
                       evt.preventDefault();
               }
       }
  +
       DOM::DocumentImpl::updateDocumentsRendering();
       deref();
     }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.26.6.1  +357 -483  WebCore/khtml/misc/Attic/htmlattrs.c
  
  Index: htmlattrs.c
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/misc/Attic/htmlattrs.c,v
  retrieving revision 1.26
  retrieving revision 1.26.6.1
  diff -u -r1.26 -r1.26.6.1
  --- htmlattrs.c	14 Jan 2005 23:55:37 -0000	1.26
  +++ htmlattrs.c	28 Nov 2005 22:01:56 -0000	1.26.6.1
  @@ -1,45 +1,14 @@
  -/* ANSI-C code produced by gperf version 3.0.1 */
  +/* ANSI-C code produced by gperf version 2.7.2 */
   /* Command-line: gperf -c -a -L ANSI-C -D -E -C -o -t -k '*' -NfindAttr -Hhash_attr -Wwordlist_attr -s 2 htmlattrs.gperf  */
  -
  -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
  -      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
  -      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
  -      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
  -      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
  -      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
  -      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
  -      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
  -      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
  -      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
  -      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
  -      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
  -      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
  -      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
  -      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
  -      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
  -      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
  -      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
  -      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
  -      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
  -      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
  -      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
  -      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
  -/* The character set is not based on ISO-646.  */
  -#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
  -#endif
  -
  -#line 1 "htmlattrs.gperf"
  -
   /* This file is automatically generated from
   #htmlattrs.in by makeattrs, do not edit */
   /* Copyright 1999 Lars Knoll */
   #include "htmlattrs.h"
  -#line 7 "htmlattrs.gperf"
   struct attrs {
       const char *name;
       int id;
   };
  -/* maximum key range = 705, duplicates = 0 */
  +/* maximum key range = 1224, duplicates = 1 */
   
   #ifdef __GNUC__
   __inline
  @@ -53,79 +22,66 @@
   {
     static const unsigned short asso_values[] =
       {
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708,  10,  10, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708,  10,  25,   5,
  -        0,   5,  60,  40, 140,  30, 135, 210,  15,  35,
  -       90,   0,   0,   0,   0,   0,   0,  85, 150, 225,
  -       70,  10,  20, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
  -      708, 708, 708, 708, 708, 708, 708
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238,    0, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238,   40,  120,   10,
  +        20,    0,  110,   30,  100,    0,    0,   15,   35,  300,
  +         0,    0,  130,    0,  200,   50,    0,  115,   65,    0,
  +        20,  225,   15, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
  +      1238, 1238, 1238, 1238, 1238, 1238
       };
     register int hval = len;
   
     switch (hval)
       {
         default:
  +      case 15:
           hval += asso_values[(unsigned char)str[14]];
  -      /*FALLTHROUGH*/
         case 14:
           hval += asso_values[(unsigned char)str[13]];
  -      /*FALLTHROUGH*/
         case 13:
           hval += asso_values[(unsigned char)str[12]];
  -      /*FALLTHROUGH*/
         case 12:
           hval += asso_values[(unsigned char)str[11]];
  -      /*FALLTHROUGH*/
         case 11:
           hval += asso_values[(unsigned char)str[10]];
  -      /*FALLTHROUGH*/
         case 10:
           hval += asso_values[(unsigned char)str[9]];
  -      /*FALLTHROUGH*/
         case 9:
           hval += asso_values[(unsigned char)str[8]];
  -      /*FALLTHROUGH*/
         case 8:
           hval += asso_values[(unsigned char)str[7]];
  -      /*FALLTHROUGH*/
         case 7:
           hval += asso_values[(unsigned char)str[6]];
  -      /*FALLTHROUGH*/
         case 6:
           hval += asso_values[(unsigned char)str[5]];
  -      /*FALLTHROUGH*/
         case 5:
           hval += asso_values[(unsigned char)str[4]];
  -      /*FALLTHROUGH*/
         case 4:
           hval += asso_values[(unsigned char)str[3]];
  -      /*FALLTHROUGH*/
         case 3:
           hval += asso_values[(unsigned char)str[2]];
  -      /*FALLTHROUGH*/
         case 2:
  -        hval += asso_values[(unsigned char)str[1]+1];
  -      /*FALLTHROUGH*/
  +        hval += asso_values[(unsigned char)str[1]];
         case 1:
           hval += asso_values[(unsigned char)str[0]];
           break;
  @@ -141,452 +97,356 @@
   {
     enum
       {
  -      TOTAL_KEYWORDS = 181,
  +      TOTAL_KEYWORDS = 182,
         MIN_WORD_LENGTH = 2,
         MAX_WORD_LENGTH = 15,
  -      MIN_HASH_VALUE = 3,
  -      MAX_HASH_VALUE = 707
  +      MIN_HASH_VALUE = 14,
  +      MAX_HASH_VALUE = 1237
       };
   
     static const struct attrs wordlist_attr[] =
       {
  -#line 177 "htmlattrs.gperf"
  -      {"top", ATTR_TOP},
  -#line 118 "htmlattrs.gperf"
  -      {"ondrop", ATTR_ONDROP},
  -#line 167 "htmlattrs.gperf"
  -      {"src", ATTR_SRC},
  -#line 159 "htmlattrs.gperf"
  -      {"scope", ATTR_SCOPE},
  -#line 52 "htmlattrs.gperf"
  -      {"coords", ATTR_COORDS},
  -#line 119 "htmlattrs.gperf"
  -      {"onerror", ATTR_ONERROR},
  -#line 42 "htmlattrs.gperf"
  +      {"cite", ATTR_CITE},
  +      {"content", ATTR_CONTENT},
  +      {"id", ATTR_ID},
  +      {"text", ATTR_TEXT},
         {"code", ATTR_CODE},
  -#line 132 "htmlattrs.gperf"
  -      {"onreset", ATTR_ONRESET},
  -#line 84 "htmlattrs.gperf"
  -      {"loop", ATTR_LOOP},
  -#line 109 "htmlattrs.gperf"
  -      {"oncopy", ATTR_ONCOPY},
  -#line 131 "htmlattrs.gperf"
  -      {"onpaste", ATTR_ONPASTE},
  -#line 46 "htmlattrs.gperf"
  +      {"title", ATTR_TITLE},
  +      {"link", ATTR_LINK},
  +      {"action", ATTR_ACTION},
  +      {"z-index", ATTR_Z_INDEX},
  +      {"size", ATTR_SIZE},
  +      {"onclick", ATTR_ONCLICK},
  +      {"alt", ATTR_ALT},
  +      {"alink", ATTR_ALINK},
         {"cols", ATTR_COLS},
  -#line 45 "htmlattrs.gperf"
  -      {"color", ATTR_COLOR},
  -#line 14 "htmlattrs.gperf"
  -      {"accept", ATTR_ACCEPT},
  -#line 180 "htmlattrs.gperf"
  -      {"type", ATTR_TYPE},
  -#line 125 "htmlattrs.gperf"
         {"onload", ATTR_ONLOAD},
  -#line 60 "htmlattrs.gperf"
  -      {"enctype", ATTR_ENCTYPE},
  -#line 44 "htmlattrs.gperf"
  -      {"codetype", ATTR_CODETYPE},
  -#line 28 "htmlattrs.gperf"
  -      {"border", ATTR_BORDER},
  -#line 73 "htmlattrs.gperf"
  -      {"id", ATTR_ID},
  -#line 136 "htmlattrs.gperf"
         {"onselect", ATTR_ONSELECT},
  -#line 53 "htmlattrs.gperf"
         {"data", ATTR_DATA},
  -#line 150 "htmlattrs.gperf"
  -      {"prompt", ATTR_PROMPT},
  -#line 101 "htmlattrs.gperf"
  -      {"onabort", ATTR_ONABORT},
  -#line 134 "htmlattrs.gperf"
  -      {"onscroll", ATTR_ONSCROLL},
  -#line 12 "htmlattrs.gperf"
  -      {"abbr", ATTR_ABBR},
  -#line 19 "htmlattrs.gperf"
  -      {"alt", ATTR_ALT},
  -#line 32 "htmlattrs.gperf"
  -      {"char", ATTR_CHAR},
  -#line 164 "htmlattrs.gperf"
  -      {"shape", ATTR_SHAPE},
  -#line 137 "htmlattrs.gperf"
  -      {"onselectstart", ATTR_ONSELECTSTART},
  -#line 23 "htmlattrs.gperf"
  +      {"lang", ATTR_LANG},
  +      {"align", ATTR_ALIGN},
         {"axis", ATTR_AXIS},
  -#line 39 "htmlattrs.gperf"
  +      {"vlink", ATTR_VLINK},
  +      {"selected", ATTR_SELECTED},
  +      {"width", ATTR_WIDTH},
  +      {"oncut", ATTR_ONCUT},
  +      {"top", ATTR_TOP},
  +      {"object", ATTR_OBJECT},
  +      {"unknown", ATTR_UNKNOWN},
  +      {"hidden", ATTR_HIDDEN},
  +      {"left", ATTR_LEFT},
  +      {"longdesc", ATTR_LONGDESC},
  +      {"nosave", ATTR_NOSAVE},
  +      {"checked", ATTR_CHECKED},
  +      {"face", ATTR_FACE},
  +      {"loop", ATTR_LOOP},
  +      {"valign", ATTR_VALIGN},
  +      {"onchange", ATTR_ONCHANGE},
         {"class", ATTR_CLASS},
  -#line 112 "htmlattrs.gperf"
  -      {"ondrag", ATTR_ONDRAG},
  -#line 35 "htmlattrs.gperf"
  -      {"charset", ATTR_CHARSET},
  -#line 43 "htmlattrs.gperf"
  +      {"scope", ATTR_SCOPE},
  +      {"accept", ATTR_ACCEPT},
  +      {"tabindex", ATTR_TABINDEX},
  +      {"plain", ATTR_PLAIN},
  +      {"classid", ATTR_CLASSID},
  +      {"noshade", ATTR_NOSHADE},
  +      {"onunload", ATTR_ONUNLOAD},
  +      {"dir", ATTR_DIR},
  +      {"span", ATTR_SPAN},
  +      {"pagex", ATTR_PAGEX},
  +      {"onpaste", ATTR_ONPASTE},
  +      {"label", ATTR_LABEL},
  +      {"height", ATTR_HEIGHT},
  +      {"rel", ATTR_REL},
  +      {"direction", ATTR_DIRECTION},
  +      {"contenteditable", ATTR_CONTENTEDITABLE},
         {"codebase", ATTR_CODEBASE},
  -#line 41 "htmlattrs.gperf"
  -      {"clear", ATTR_CLEAR},
  -#line 29 "htmlattrs.gperf"
  -      {"bordercolor", ATTR_BORDERCOLOR},
  -#line 48 "htmlattrs.gperf"
  -      {"compact", ATTR_COMPACT},
  -#line 62 "htmlattrs.gperf"
  -      {"for", ATTR_FOR},
  -#line 133 "htmlattrs.gperf"
  +      {"color", ATTR_COLOR},
  +      {"oninput", ATTR_ONINPUT},
  +      {"rows", ATTR_ROWS},
  +      {"ondblclick", ATTR_ONDBLCLICK},
  +      {"onreset", ATTR_ONRESET},
  +      {"challenge", ATTR_CHALLENGE},
  +      {"value", ATTR_VALUE},
  +      {"src", ATTR_SRC},
  +      {"rev", ATTR_REV},
  +      {"onkeydown", ATTR_ONKEYDOWN},
  +      {"colspan", ATTR_COLSPAN},
  +      {"noresize", ATTR_NORESIZE},
         {"onresize", ATTR_ONRESIZE},
  -#line 117 "htmlattrs.gperf"
  -      {"ondragstart", ATTR_ONDRAGSTART},
  -#line 174 "htmlattrs.gperf"
         {"target", ATTR_TARGET},
  -#line 152 "htmlattrs.gperf"
  -      {"rel", ATTR_REL},
  -#line 75 "htmlattrs.gperf"
  -      {"ismap", ATTR_ISMAP},
  -#line 161 "htmlattrs.gperf"
  -      {"scrolldelay", ATTR_SCROLLDELAY},
  -#line 49 "htmlattrs.gperf"
  -      {"composite", ATTR_COMPOSITE},
  -#line 142 "htmlattrs.gperf"
  -      {"pagey", ATTR_PAGEY},
  -#line 40 "htmlattrs.gperf"
  -      {"classid", ATTR_CLASSID},
  -#line 77 "htmlattrs.gperf"
  -      {"label", ATTR_LABEL},
  -#line 110 "htmlattrs.gperf"
  -      {"oncut", ATTR_ONCUT},
  -#line 163 "htmlattrs.gperf"
  -      {"selected", ATTR_SELECTED},
  -#line 61 "htmlattrs.gperf"
  -      {"face", ATTR_FACE},
  -#line 169 "htmlattrs.gperf"
  +      {"coords", ATTR_COORDS},
  +      {"clear", ATTR_CLEAR},
  +      {"onfocus", ATTR_ONFOCUS},
  +      {"disabled", ATTR_DISABLED},
         {"start", ATTR_START},
  -#line 55 "htmlattrs.gperf"
  +      {"ondrag", ATTR_ONDRAG},
  +      {"language", ATTR_LANGUAGE},
  +      {"vspace", ATTR_VSPACE},
  +      {"min", ATTR_MIN},
         {"declare", ATTR_DECLARE},
  -#line 166 "htmlattrs.gperf"
  -      {"span", ATTR_SPAN},
  -#line 54 "htmlattrs.gperf"
  -      {"datetime", ATTR_DATETIME},
  -#line 179 "htmlattrs.gperf"
  -      {"truespeed", ATTR_TRUESPEED},
  -#line 173 "htmlattrs.gperf"
  -      {"tableborder", ATTR_TABLEBORDER},
  -#line 89 "htmlattrs.gperf"
  -      {"mayscript", ATTR_MAYSCRIPT},
  -#line 63 "htmlattrs.gperf"
  -      {"frame", ATTR_FRAME},
  -#line 149 "htmlattrs.gperf"
  -      {"profile", ATTR_PROFILE},
  -#line 170 "htmlattrs.gperf"
  +      {"for", ATTR_FOR},
         {"style", ATTR_STYLE},
  -#line 102 "htmlattrs.gperf"
  -      {"onbeforecopy", ATTR_ONBEFORECOPY},
  -#line 104 "htmlattrs.gperf"
  -      {"onbeforepaste", ATTR_ONBEFOREPASTE},
  -#line 47 "htmlattrs.gperf"
  -      {"colspan", ATTR_COLSPAN},
  -#line 56 "htmlattrs.gperf"
  +      {"autosave", ATTR_AUTOSAVE},
  +      {"ondragend", ATTR_ONDRAGEND},
  +      {"version", ATTR_VERSION},
  +      {"shape", ATTR_SHAPE},
  +      {"cellpadding", ATTR_CELLPADDING},
         {"defer", ATTR_DEFER},
  -#line 105 "htmlattrs.gperf"
  -      {"onblur", ATTR_ONBLUR},
  -#line 87 "htmlattrs.gperf"
  +      {"hspace", ATTR_HSPACE},
  +      {"onscroll", ATTR_ONSCROLL},
  +      {"name", ATTR_NAME},
  +      {"cellspacing", ATTR_CELLSPACING},
  +      {"char", ATTR_CHAR},
  +      {"ondrop", ATTR_ONDROP},
  +      {"type", ATTR_TYPE},
         {"max", ATTR_MAX},
  -#line 175 "htmlattrs.gperf"
  -      {"text", ATTR_TEXT},
  -#line 37 "htmlattrs.gperf"
  -      {"cellborder", ATTR_CELLBORDER},
  -#line 16 "htmlattrs.gperf"
  -      {"action", ATTR_ACTION},
  -#line 57 "htmlattrs.gperf"
  -      {"dir", ATTR_DIR},
  -#line 80 "htmlattrs.gperf"
  -      {"left", ATTR_LEFT},
  -#line 90 "htmlattrs.gperf"
         {"media", ATTR_MEDIA},
  -#line 182 "htmlattrs.gperf"
  -      {"usemap", ATTR_USEMAP},
  -#line 141 "htmlattrs.gperf"
  -      {"pagex", ATTR_PAGEX},
  -#line 38 "htmlattrs.gperf"
  -      {"cite", ATTR_CITE},
  -#line 64 "htmlattrs.gperf"
  -      {"frameborder", ATTR_FRAMEBORDER},
  -#line 113 "htmlattrs.gperf"
  -      {"ondragend", ATTR_ONDRAGEND},
  -#line 100 "htmlattrs.gperf"
  -      {"object", ATTR_OBJECT},
  -#line 120 "htmlattrs.gperf"
  -      {"onfocus", ATTR_ONFOCUS},
  -#line 96 "htmlattrs.gperf"
  -      {"noresize", ATTR_NORESIZE},
  -#line 94 "htmlattrs.gperf"
  -      {"name", ATTR_NAME},
  -#line 176 "htmlattrs.gperf"
  -      {"title", ATTR_TITLE},
  -#line 114 "htmlattrs.gperf"
  -      {"ondragenter", ATTR_ONDRAGENTER},
  -#line 83 "htmlattrs.gperf"
  -      {"longdesc", ATTR_LONGDESC},
  -#line 165 "htmlattrs.gperf"
  -      {"size", ATTR_SIZE},
  -#line 70 "htmlattrs.gperf"
  -      {"hspace", ATTR_HSPACE},
  -#line 153 "htmlattrs.gperf"
  -      {"results", ATTR_RESULTS},
  -#line 135 "htmlattrs.gperf"
  -      {"onsearch", ATTR_ONSEARCH},
  -#line 148 "htmlattrs.gperf"
  +      {"onabort", ATTR_ONABORT},
  +      {"datetime", ATTR_DATETIME},
  +      {"scrolling", ATTR_SCROLLING},
  +      {"oncopy", ATTR_ONCOPY},
  +      {"enctype", ATTR_ENCTYPE},
  +      {"wrap", ATTR_WRAP},
  +      {"nowrap", ATTR_NOWRAP},
  +      {"codetype", ATTR_CODETYPE},
  +      {"onselectstart", ATTR_ONSELECTSTART},
         {"precision", ATTR_PRECISION},
  -#line 144 "htmlattrs.gperf"
  -      {"plain", ATTR_PLAIN},
  -#line 34 "htmlattrs.gperf"
  -      {"charoff", ATTR_CHAROFF},
  -#line 78 "htmlattrs.gperf"
  -      {"lang", ATTR_LANG},
  -#line 157 "htmlattrs.gperf"
  -      {"rules", ATTR_RULES},
  -#line 189 "htmlattrs.gperf"
  -      {"vspace", ATTR_VSPACE},
  -#line 138 "htmlattrs.gperf"
  -      {"onsubmit", ATTR_ONSUBMIT},
  -#line 158 "htmlattrs.gperf"
  -      {"scheme", ATTR_SCHEME},
  -#line 26 "htmlattrs.gperf"
         {"bgcolor", ATTR_BGCOLOR},
  -#line 151 "htmlattrs.gperf"
  -      {"readonly", ATTR_READONLY},
  -#line 103 "htmlattrs.gperf"
  -      {"onbeforecut", ATTR_ONBEFORECUT},
  -#line 50 "htmlattrs.gperf"
  -      {"content", ATTR_CONTENT},
  -#line 59 "htmlattrs.gperf"
  -      {"disabled", ATTR_DISABLED},
  -#line 162 "htmlattrs.gperf"
  -      {"scrolling", ATTR_SCROLLING},
  -#line 13 "htmlattrs.gperf"
  -      {"accept-charset", ATTR_ACCEPT_CHARSET},
  -#line 74 "htmlattrs.gperf"
  -      {"incremental", ATTR_INCREMENTAL},
  -#line 139 "htmlattrs.gperf"
  -      {"onunload", ATTR_ONUNLOAD},
  -#line 68 "htmlattrs.gperf"
  +      {"rules", ATTR_RULES},
  +      {"charset", ATTR_CHARSET},
  +      {"onsearch", ATTR_ONSEARCH},
  +      {"accesskey", ATTR_ACCESSKEY},
         {"href", ATTR_HREF},
  -#line 17 "htmlattrs.gperf"
  -      {"align", ATTR_ALIGN},
  -#line 121 "htmlattrs.gperf"
  -      {"oninput", ATTR_ONINPUT},
  -#line 154 "htmlattrs.gperf"
  -      {"rev", ATTR_REV},
  -#line 178 "htmlattrs.gperf"
  -      {"topmargin", ATTR_TOPMARGIN},
  -#line 116 "htmlattrs.gperf"
  -      {"ondragover", ATTR_ONDRAGOVER},
  -#line 27 "htmlattrs.gperf"
  -      {"bgproperties", ATTR_BGPROPERTIES},
  -#line 130 "htmlattrs.gperf"
  -      {"onmouseup", ATTR_ONMOUSEUP},
  -#line 128 "htmlattrs.gperf"
  -      {"onmouseout", ATTR_ONMOUSEOUT},
  -#line 65 "htmlattrs.gperf"
  +      {"nohref", ATTR_NOHREF},
         {"headers", ATTR_HEADERS},
  -#line 33 "htmlattrs.gperf"
  -      {"challenge", ATTR_CHALLENGE},
  -#line 143 "htmlattrs.gperf"
  -      {"placeholder", ATTR_PLACEHOLDER},
  -#line 168 "htmlattrs.gperf"
  -      {"standby", ATTR_STANDBY},
  -#line 155 "htmlattrs.gperf"
  -      {"rows", ATTR_ROWS},
  -#line 192 "htmlattrs.gperf"
  -      {"z-index", ATTR_Z_INDEX},
  -#line 21 "htmlattrs.gperf"
  -      {"autocomplete", ATTR_AUTOCOMPLETE},
  -#line 191 "htmlattrs.gperf"
  -      {"wrap", ATTR_WRAP},
  -#line 123 "htmlattrs.gperf"
  -      {"onkeypress", ATTR_ONKEYPRESS},
  -#line 91 "htmlattrs.gperf"
  +      {"http-equiv", ATTR_HTTP_EQUIV},
  +      {"archive", ATTR_ARCHIVE},
         {"method", ATTR_METHOD},
  -#line 140 "htmlattrs.gperf"
  -      {"oversrc", ATTR_OVERSRC},
  -#line 115 "htmlattrs.gperf"
  -      {"ondragleave", ATTR_ONDRAGLEAVE},
  -#line 171 "htmlattrs.gperf"
  -      {"summary", ATTR_SUMMARY},
  -#line 98 "htmlattrs.gperf"
  -      {"noshade", ATTR_NOSHADE},
  -#line 172 "htmlattrs.gperf"
  -      {"tabindex", ATTR_TABINDEX},
  -#line 15 "htmlattrs.gperf"
  -      {"accesskey", ATTR_ACCESSKEY},
  -#line 93 "htmlattrs.gperf"
  -      {"multiple", ATTR_MULTIPLE},
  -#line 97 "htmlattrs.gperf"
  -      {"nosave", ATTR_NOSAVE},
  -#line 160 "htmlattrs.gperf"
  -      {"scrollamount", ATTR_SCROLLAMOUNT},
  -#line 92 "htmlattrs.gperf"
  -      {"min", ATTR_MIN},
  -#line 36 "htmlattrs.gperf"
  -      {"checked", ATTR_CHECKED},
  -#line 107 "htmlattrs.gperf"
  -      {"onclick", ATTR_ONCLICK},
  -#line 58 "htmlattrs.gperf"
  -      {"direction", ATTR_DIRECTION},
  -#line 30 "htmlattrs.gperf"
  -      {"cellpadding", ATTR_CELLPADDING},
  -#line 71 "htmlattrs.gperf"
  +      {"rowspan", ATTR_ROWSPAN},
  +      {"pagey", ATTR_PAGEY},
         {"html", ATTR_HTML},
  -#line 31 "htmlattrs.gperf"
  -      {"cellspacing", ATTR_CELLSPACING},
  -#line 184 "htmlattrs.gperf"
  -      {"value", ATTR_VALUE},
  -#line 129 "htmlattrs.gperf"
  -      {"onmouseover", ATTR_ONMOUSEOVER},
  -#line 51 "htmlattrs.gperf"
  -      {"contenteditable", ATTR_CONTENTEDITABLE},
  -#line 106 "htmlattrs.gperf"
  -      {"onchange", ATTR_ONCHANGE},
  -#line 95 "htmlattrs.gperf"
  -      {"nohref", ATTR_NOHREF},
  -#line 76 "htmlattrs.gperf"
  -      {"keytype", ATTR_KEYTYPE},
  -#line 185 "htmlattrs.gperf"
  -      {"valuetype", ATTR_VALUETYPE},
  -#line 111 "htmlattrs.gperf"
  -      {"ondblclick", ATTR_ONDBLCLICK},
  -#line 124 "htmlattrs.gperf"
  +      {"ondragleave", ATTR_ONDRAGLEAVE},
  +      {"results", ATTR_RESULTS},
  +      {"oncontextmenu", ATTR_ONCONTEXTMENU},
  +      {"standby", ATTR_STANDBY},
  +      {"scheme", ATTR_SCHEME},
  +      {"onblur", ATTR_ONBLUR},
  +      {"profile", ATTR_PROFILE},
  +      {"abbr", ATTR_ABBR},
         {"onkeyup", ATTR_ONKEYUP},
  -#line 79 "htmlattrs.gperf"
  -      {"language", ATTR_LANGUAGE},
  -#line 127 "htmlattrs.gperf"
  -      {"onmousemove", ATTR_ONMOUSEMOVE},
  -#line 99 "htmlattrs.gperf"
  -      {"nowrap", ATTR_NOWRAP},
  -#line 156 "htmlattrs.gperf"
  -      {"rowspan", ATTR_ROWSPAN},
  -#line 22 "htmlattrs.gperf"
  -      {"autosave", ATTR_AUTOSAVE},
  -#line 186 "htmlattrs.gperf"
  -      {"version", ATTR_VERSION},
  -#line 145 "htmlattrs.gperf"
  +      {"onmousedown", ATTR_ONMOUSEDOWN},
  +      {"compact", ATTR_COMPACT},
  +      {"composite", ATTR_COMPOSITE},
  +      {"ondragenter", ATTR_ONDRAGENTER},
  +      {"visibility", ATTR_VISIBILITY},
         {"pluginpage", ATTR_PLUGINPAGE},
  -#line 146 "htmlattrs.gperf"
  -      {"pluginspage", ATTR_PLUGINSPAGE},
  -#line 20 "htmlattrs.gperf"
  -      {"archive", ATTR_ARCHIVE},
  -#line 81 "htmlattrs.gperf"
  -      {"leftmargin", ATTR_LEFTMARGIN},
  -#line 183 "htmlattrs.gperf"
  -      {"valign", ATTR_VALIGN},
  -#line 69 "htmlattrs.gperf"
         {"hreflang", ATTR_HREFLANG},
  -#line 67 "htmlattrs.gperf"
  -      {"hidden", ATTR_HIDDEN},
  -#line 18 "htmlattrs.gperf"
  -      {"alink", ATTR_ALINK},
  -#line 147 "htmlattrs.gperf"
  -      {"pluginurl", ATTR_PLUGINURL},
  -#line 108 "htmlattrs.gperf"
  -      {"oncontextmenu", ATTR_ONCONTEXTMENU},
  -#line 66 "htmlattrs.gperf"
  -      {"height", ATTR_HEIGHT},
  -#line 25 "htmlattrs.gperf"
  +      {"truespeed", ATTR_TRUESPEED},
  +      {"ismap", ATTR_ISMAP},
  +      {"readonly", ATTR_READONLY},
  +      {"oversrc", ATTR_OVERSRC},
         {"behavior", ATTR_BEHAVIOR},
  -#line 88 "htmlattrs.gperf"
         {"maxlength", ATTR_MAXLENGTH},
  -#line 187 "htmlattrs.gperf"
  -      {"visibility", ATTR_VISIBILITY},
  -#line 126 "htmlattrs.gperf"
  -      {"onmousedown", ATTR_ONMOUSEDOWN},
  -#line 82 "htmlattrs.gperf"
  -      {"link", ATTR_LINK},
  -#line 24 "htmlattrs.gperf"
  +      {"border", ATTR_BORDER},
         {"background", ATTR_BACKGROUND},
  -#line 190 "htmlattrs.gperf"
  -      {"width", ATTR_WIDTH},
  -#line 72 "htmlattrs.gperf"
  -      {"http-equiv", ATTR_HTTP_EQUIV},
  -#line 188 "htmlattrs.gperf"
  -      {"vlink", ATTR_VLINK},
  -#line 122 "htmlattrs.gperf"
  -      {"onkeydown", ATTR_ONKEYDOWN},
  -#line 85 "htmlattrs.gperf"
  -      {"marginheight", ATTR_MARGINHEIGHT},
  -#line 86 "htmlattrs.gperf"
  +      {"ondragover", ATTR_ONDRAGOVER},
  +      {"onbeforecut", ATTR_ONBEFORECUT},
  +      {"pluginspage", ATTR_PLUGINSPAGE},
  +      {"charoff", ATTR_CHAROFF},
  +      {"placeholder", ATTR_PLACEHOLDER},
  +      {"onmouseout", ATTR_ONMOUSEOUT},
  +      {"ondragstart", ATTR_ONDRAGSTART},
  +      {"onsubmit", ATTR_ONSUBMIT},
  +      {"incremental", ATTR_INCREMENTAL},
  +      {"keytype", ATTR_KEYTYPE},
  +      {"accept-charset", ATTR_ACCEPT_CHARSET},
  +      {"onerror", ATTR_ONERROR},
  +      {"valuetype", ATTR_VALUETYPE},
  +      {"multiple", ATTR_MULTIPLE},
  +      {"cellborder", ATTR_CELLBORDER},
  +      {"usemap", ATTR_USEMAP},
  +      {"autocomplete", ATTR_AUTOCOMPLETE},
  +      {"onbeforeunload", ATTR_ONBEFOREUNLOAD},
  +      {"frame", ATTR_FRAME},
  +      {"scrolldelay", ATTR_SCROLLDELAY},
  +      {"onbeforepaste", ATTR_ONBEFOREPASTE},
  +      {"pluginurl", ATTR_PLUGINURL},
  +      {"onkeypress", ATTR_ONKEYPRESS},
         {"marginwidth", ATTR_MARGINWIDTH},
  -#line 181 "htmlattrs.gperf"
  -      {"unknown", ATTR_UNKNOWN}
  +      {"topmargin", ATTR_TOPMARGIN},
  +      {"onmouseup", ATTR_ONMOUSEUP},
  +      {"leftmargin", ATTR_LEFTMARGIN},
  +      {"onmouseover", ATTR_ONMOUSEOVER},
  +      {"tableborder", ATTR_TABLEBORDER},
  +      {"prompt", ATTR_PROMPT},
  +      {"bordercolor", ATTR_BORDERCOLOR},
  +      {"scrollamount", ATTR_SCROLLAMOUNT},
  +      {"onbeforecopy", ATTR_ONBEFORECOPY},
  +      {"marginheight", ATTR_MARGINHEIGHT},
  +      {"onmousemove", ATTR_ONMOUSEMOVE},
  +      {"bgproperties", ATTR_BGPROPERTIES},
  +      {"mayscript", ATTR_MAYSCRIPT},
  +      {"frameborder", ATTR_FRAMEBORDER},
  +      {"summary", ATTR_SUMMARY}
       };
   
     static const short lookup[] =
       {
  -       -1,  -1,  -1,   0,  -1,  -1,   1,  -1,   2,  -1,
  -        3,   4,   5,  -1,   6,  -1,  -1,   7,  -1,   8,
  -       -1,   9,  10,  -1,  11,  12,  13,  -1,  -1,  14,
  -       -1,  15,  16,  17,  -1,  -1,  18,  19,  20,  21,
  -       -1,  22,  23,  24,  25,  -1,  -1,  -1,  26,  27,
  -       28,  -1,  -1,  29,  30,  31,  32,  33,  34,  -1,
  -       35,  36,  37,  38,  -1,  -1,  -1,  -1,  39,  -1,
  -       -1,  40,  -1,  -1,  -1,  -1,  41,  -1,  42,  -1,
  -       43,  44,  -1,  -1,  45,  46,  -1,  47,  -1,  -1,
  -       48,  -1,  -1,  -1,  -1,  49,  -1,  -1,  50,  51,
  -       52,  -1,  53,  -1,  54,  -1,  -1,  -1,  55,  56,
  -       -1,  57,  -1,  -1,  58,  59,  -1,  60,  -1,  -1,
  -       61,  -1,  62,  63,  -1,  -1,  -1,  64,  -1,  -1,
  -       65,  66,  -1,  67,  68,  69,  70,  -1,  71,  72,
  -       73,  74,  -1,  -1,  -1,  75,  -1,  -1,  -1,  76,
  -       -1,  77,  -1,  -1,  78,  -1,  79,  80,  81,  82,
  -       83,  84,  -1,  85,  86,  -1,  87,  88,  89,  90,
  -       91,  -1,  92,  -1,  93,  94,  95,  -1,  -1,  -1,
  -       -1,  -1,  -1,  96,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  97,  98,  99,  -1,  -1, 100, 101, 102, 103,
  -       -1,  -1,  -1,  -1, 104,  -1, 105,  -1, 106, 107,
  -      108,  -1, 109, 110, 111, 112,  -1, 113,  -1, 114,
  -      115,  -1, 116,  -1, 117,  -1, 118, 119,  -1, 120,
  -       -1,  -1, 121,  -1,  -1,  -1,  -1, 122,  -1, 123,
  -      124, 125, 126,  -1,  -1,  -1, 127, 128,  -1,  -1,
  -       -1,  -1, 129, 130, 131,  -1,  -1,  -1, 132,  -1,
  -       -1, 133, 134, 135,  -1,  -1,  -1, 136,  -1,  -1,
  -       -1,  -1, 137,  -1, 138,  -1, 139,  -1,  -1, 140,
  -       -1, 141,  -1,  -1,  -1, 142,  -1,  -1,  -1,  -1,
  -       -1, 143,  -1,  -1,  -1, 144,  -1,  -1, 145,  -1,
  -       -1, 146, 147,  -1, 148,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1, 149,  -1, 150, 151,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1, 152,  -1,  -1,  -1,
  -       -1, 153, 154, 155,  -1,  -1,  -1, 156,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1, 157, 158, 159,  -1,  -1,
  -      160,  -1,  -1,  -1,  -1,  -1, 161,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 162,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1, 163,  -1,  -1,  -1,
  -      164,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 165,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 166,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1, 167,  -1,  -1,  -1,
  -       -1,  -1,  -1, 168,  -1,  -1,  -1,  -1,  -1, 169,
  -       -1,  -1,  -1,  -1,  -1, 170,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1, 171,  -1,  -1, 172,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -      173,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1, 174,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1, 175,  -1,  -1,  -1,  -1,
  -      176,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 177,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1, 178,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1, 179,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1, 180
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,
  +        -1,    1,   -1,   -1,   -1,   -1,    2,   -1,
  +         3,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,    4,   -1,   -1,   -1,   -1,   -1,
  +         5,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,    6,   -1,
  +         7,   -1,   -1,   -1,   -1,   -1,    8,   -1,
  +        -1,   -1,   -1,   -1,   -1,    9,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   10,   11,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   12,
  +        -1,   -1,   -1,   13,   -1,   14,   -1,   15,
  +        16,   -1,   -1,   -1,   -1,   17,   18,   -1,
  +        -1,   -1,   19,   -1,   -1,   -1,   -1,   -1,
  +        20,   -1,   -1,   21,   -1,   22,   -1,   -1,
  +        -1,   -1,   23,   -1,   -1,   24,   -1,   -1,
  +        25,   26,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   27,   -1,   -1,   28,   -1,   -1,
  +        -1,   29,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   30,   31,   -1,   32,   -1,   -1,   -1,
  +        -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,
  +        34,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   35,   -1,   36,   -1,
  +        -1,   -1,   -1,   37,   38,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        39,   -1,   40,   -1,   41,   -1,   -1,   -1,
  +        -1,   42,   43,   -1,   -1,   -1,   -1,   44,
  +        45,   46,   -1,   47,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   48,   49,   -1,   50,   51,
  +        52,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        53,   -1,   54,   -1,   55,   -1,   56,   57,
  +        -1,   58,   -1,   59,   60,   -1,   -1,   61,
  +        -1,   -1,   -1,   -1,   62,   63,   -1,   -1,
  +        64, -457, -117,   -2,   67,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   68,   -1,
  +        -1,   -1,   69,   -1,   70,   71,   -1,   72,
  +        73,   -1,   74,   -1,   -1,   75,   -1,   76,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        77,   78,   -1,   79,   -1,   -1,   80,   81,
  +        -1,   -1,   82,   -1,   -1,   83,   -1,   -1,
  +        -1,   -1,   -1,   84,   -1,   -1,   -1,   85,
  +        86,   -1,   87,   -1,   -1,   -1,   -1,   -1,
  +        88,   -1,   -1,   -1,   -1,   -1,   -1,   89,
  +        -1,   -1,   90,   -1,   91,   -1,   -1,   92,
  +        -1,   -1,   -1,   93,   -1,   94,   -1,   95,
  +        96,   97,   -1,   98,   99,   -1,  100,   -1,
  +       101,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,  102,   -1,   -1,   -1,   -1,  103,  104,
  +        -1,   -1,  105,   -1,   -1,  106,   -1,  107,
  +       108,  109,   -1,   -1,   -1,   -1,  110,   -1,
  +       111,  112,   -1,   -1,  113,   -1,  114,   -1,
  +        -1,   -1,  115,  116,   -1,   -1,  117,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,  118,
  +        -1,  119,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,  120,  121,   -1,   -1,   -1,  122,   -1,
  +        -1,   -1,  123,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,
  +        -1,   -1,  125,   -1,  126,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,  127,   -1,   -1,   -1,
  +       128,  129,   -1,  130,   -1,  131,   -1,   -1,
  +        -1,  132,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +       133,   -1,   -1,  134,  135,  136,   -1,   -1,
  +       137,   -1,   -1,   -1,  138,  139,  140,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,  141,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +       142,   -1,   -1,   -1,   -1,  143,  144,   -1,
  +        -1,   -1,   -1,  145,   -1,   -1,   -1,   -1,
  +        -1,  146,   -1,   -1,   -1,  147,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,  148,  149,
  +        -1,  150,   -1,   -1,  151,   -1,   -1,   -1,
  +        -1,   -1,  152,   -1,  153,   -1,   -1,  154,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,  155,   -1,   -1,   -1,  156,
  +        -1,   -1,   -1,   -1,   -1,   -1,  157,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,  158,  159,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,  160,  161,
  +        -1,   -1,   -1,   -1,   -1,  162,   -1,  163,
  +        -1,   -1,   -1,   -1,   -1,  164,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +       165,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,  166,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,  167,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,  168,
  +        -1,   -1,   -1,   -1,   -1,  169,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,  170,   -1,   -1,
  +        -1,   -1,  171,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,  172,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,  173,  174,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,  175,
  +        -1,   -1,   -1,   -1,  176,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,  177,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +       178,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,  179,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,  180,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,  181
       };
   
     if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
  @@ -604,12 +464,25 @@
                 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
                   return &wordlist_attr[index];
               }
  +          else if (index < -TOTAL_KEYWORDS)
  +            {
  +              register int offset = - 1 - TOTAL_KEYWORDS - index;
  +              register const struct attrs *wordptr = &wordlist_attr[TOTAL_KEYWORDS + lookup[offset]];
  +              register const struct attrs *wordendptr = wordptr + -lookup[offset + 1];
  +
  +              while (wordptr < wordendptr)
  +                {
  +                  register const char *s = wordptr->name;
  +
  +                  if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
  +                    return wordptr;
  +                  wordptr++;
  +                }
  +            }
           }
       }
     return 0;
   }
  -#line 193 "htmlattrs.gperf"
  -
   
   
   static const char * const attrList[] = {
  @@ -741,6 +614,7 @@
       "ONSELECTSTART",
       "ONSUBMIT",
       "ONUNLOAD",
  +    "ONBEFOREUNLOAD",
       "OVERSRC",
       "PAGEX",
       "PAGEY",
  
  
  
  1.18.14.1 +55 -54    WebCore/khtml/misc/Attic/htmlattrs.h
  
  Index: htmlattrs.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/misc/Attic/htmlattrs.h,v
  retrieving revision 1.18
  retrieving revision 1.18.14.1
  diff -u -r1.18 -r1.18.14.1
  --- htmlattrs.h	15 Jun 2004 09:44:45 -0000	1.18
  +++ htmlattrs.h	28 Nov 2005 22:01:56 -0000	1.18.14.1
  @@ -135,60 +135,61 @@
   #define ATTR_ONSELECTSTART 126
   #define ATTR_ONSUBMIT 127
   #define ATTR_ONUNLOAD 128
  -#define ATTR_OVERSRC 129
  -#define ATTR_PAGEX 130
  -#define ATTR_PAGEY 131
  -#define ATTR_PLACEHOLDER 132
  -#define ATTR_PLAIN 133
  -#define ATTR_PLUGINPAGE 134
  -#define ATTR_PLUGINSPAGE 135
  -#define ATTR_PLUGINURL 136
  -#define ATTR_PRECISION 137
  -#define ATTR_PROFILE 138
  -#define ATTR_PROMPT 139
  -#define ATTR_READONLY 140
  -#define ATTR_REL 141
  -#define ATTR_RESULTS 142
  -#define ATTR_REV 143
  -#define ATTR_ROWS 144
  -#define ATTR_ROWSPAN 145
  -#define ATTR_RULES 146
  -#define ATTR_SCHEME 147
  -#define ATTR_SCOPE 148
  -#define ATTR_SCROLLAMOUNT 149
  -#define ATTR_SCROLLDELAY 150
  -#define ATTR_SCROLLING 151
  -#define ATTR_SELECTED 152
  -#define ATTR_SHAPE 153
  -#define ATTR_SIZE 154
  -#define ATTR_SPAN 155
  -#define ATTR_SRC 156
  -#define ATTR_STANDBY 157
  -#define ATTR_START 158
  -#define ATTR_STYLE 159
  -#define ATTR_SUMMARY 160
  -#define ATTR_TABINDEX 161
  -#define ATTR_TABLEBORDER 162
  -#define ATTR_TARGET 163
  -#define ATTR_TEXT 164
  -#define ATTR_TITLE 165
  -#define ATTR_TOP 166
  -#define ATTR_TOPMARGIN 167
  -#define ATTR_TRUESPEED 168
  -#define ATTR_TYPE 169
  -#define ATTR_UNKNOWN 170
  -#define ATTR_USEMAP 171
  -#define ATTR_VALIGN 172
  -#define ATTR_VALUE 173
  -#define ATTR_VALUETYPE 174
  -#define ATTR_VERSION 175
  -#define ATTR_VISIBILITY 176
  -#define ATTR_VLINK 177
  -#define ATTR_VSPACE 178
  -#define ATTR_WIDTH 179
  -#define ATTR_WRAP 180
  -#define ATTR_Z_INDEX 181
  -#define ATTR_LAST_ATTR 181
  +#define ATTR_ONBEFOREUNLOAD 129
  +#define ATTR_OVERSRC 130
  +#define ATTR_PAGEX 131
  +#define ATTR_PAGEY 132
  +#define ATTR_PLACEHOLDER 133
  +#define ATTR_PLAIN 134
  +#define ATTR_PLUGINPAGE 135
  +#define ATTR_PLUGINSPAGE 136
  +#define ATTR_PLUGINURL 137
  +#define ATTR_PRECISION 138
  +#define ATTR_PROFILE 139
  +#define ATTR_PROMPT 140
  +#define ATTR_READONLY 141
  +#define ATTR_REL 142
  +#define ATTR_RESULTS 143
  +#define ATTR_REV 144
  +#define ATTR_ROWS 145
  +#define ATTR_ROWSPAN 146
  +#define ATTR_RULES 147
  +#define ATTR_SCHEME 148
  +#define ATTR_SCOPE 149
  +#define ATTR_SCROLLAMOUNT 150
  +#define ATTR_SCROLLDELAY 151
  +#define ATTR_SCROLLING 152
  +#define ATTR_SELECTED 153
  +#define ATTR_SHAPE 154
  +#define ATTR_SIZE 155
  +#define ATTR_SPAN 156
  +#define ATTR_SRC 157
  +#define ATTR_STANDBY 158
  +#define ATTR_START 159
  +#define ATTR_STYLE 160
  +#define ATTR_SUMMARY 161
  +#define ATTR_TABINDEX 162
  +#define ATTR_TABLEBORDER 163
  +#define ATTR_TARGET 164
  +#define ATTR_TEXT 165
  +#define ATTR_TITLE 166
  +#define ATTR_TOP 167
  +#define ATTR_TOPMARGIN 168
  +#define ATTR_TRUESPEED 169
  +#define ATTR_TYPE 170
  +#define ATTR_UNKNOWN 171
  +#define ATTR_USEMAP 172
  +#define ATTR_VALIGN 173
  +#define ATTR_VALUE 174
  +#define ATTR_VALUETYPE 175
  +#define ATTR_VERSION 176
  +#define ATTR_VISIBILITY 177
  +#define ATTR_VLINK 178
  +#define ATTR_VSPACE 179
  +#define ATTR_WIDTH 180
  +#define ATTR_WRAP 181
  +#define ATTR_Z_INDEX 182
  +#define ATTR_LAST_ATTR 182
   DOM::DOMString getAttrName(unsigned short id);
   
   #endif
  
  
  
  1.21.6.1  +188 -312  WebCore/khtml/misc/Attic/htmltags.c
  
  Index: htmltags.c
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/misc/Attic/htmltags.c,v
  retrieving revision 1.21
  retrieving revision 1.21.6.1
  diff -u -r1.21 -r1.21.6.1
  --- htmltags.c	14 Jan 2005 23:55:37 -0000	1.21
  +++ htmltags.c	28 Nov 2005 22:01:56 -0000	1.21.6.1
  @@ -1,44 +1,13 @@
  -/* ANSI-C code produced by gperf version 3.0.1 */
  +/* ANSI-C code produced by gperf version 2.7.2 */
   /* Command-line: gperf -a -L ANSI-C -D -E -C -l -o -t -k '*' -NfindTag -Hhash_tag -Wwordlist_tag htmltags.gperf  */
  -
  -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
  -      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
  -      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
  -      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
  -      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
  -      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
  -      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
  -      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
  -      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
  -      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
  -      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
  -      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
  -      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
  -      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
  -      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
  -      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
  -      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
  -      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
  -      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
  -      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
  -      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
  -      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
  -      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
  -/* The character set is not based on ISO-646.  */
  -#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
  -#endif
  -
  -#line 1 "htmltags.gperf"
  -
   /* This file is automatically generated from htmltags.in by maketags, do not edit */
   /* Copyright 1999 Lars Knoll */
   #include "htmltags.h"
  -#line 6 "htmltags.gperf"
   struct tags {
       const char *name;
       int id;
   };
  -/* maximum key range = 365, duplicates = 0 */
  +/* maximum key range = 305, duplicates = 1 */
   
   #ifdef __GNUC__
   __inline
  @@ -52,64 +21,56 @@
   {
     static const unsigned short asso_values[] =
       {
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -       60,  55,  50,  45,  40,   5, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366,  15,  10,  35,
  -       10,   5,  10,  10,  50,  40, 115,  30,   5,  15,
  -       30,  55,   5,  85,  20,   0,   0,  65,  55,  35,
  -       95,  70, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
  -      366, 366, 366, 366, 366, 366, 366
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306,  30,
  +       35,  40,  15,  25,  10, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306,   0,   5,  30,
  +       35,   0, 105,   5,  47,  10,   0,  25,  45,  30,
  +       15,   0, 100,  25,   5,  30,   0,  87,  90,   0,
  +       20, 115, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
  +      306, 306, 306, 306, 306, 306
       };
     register int hval = len;
   
     switch (hval)
       {
         default:
  +      case 10:
           hval += asso_values[(unsigned char)str[9]];
  -      /*FALLTHROUGH*/
         case 9:
           hval += asso_values[(unsigned char)str[8]];
  -      /*FALLTHROUGH*/
         case 8:
           hval += asso_values[(unsigned char)str[7]];
  -      /*FALLTHROUGH*/
         case 7:
           hval += asso_values[(unsigned char)str[6]];
  -      /*FALLTHROUGH*/
         case 6:
           hval += asso_values[(unsigned char)str[5]];
  -      /*FALLTHROUGH*/
         case 5:
           hval += asso_values[(unsigned char)str[4]];
  -      /*FALLTHROUGH*/
         case 4:
           hval += asso_values[(unsigned char)str[3]];
  -      /*FALLTHROUGH*/
         case 3:
           hval += asso_values[(unsigned char)str[2]];
  -      /*FALLTHROUGH*/
         case 2:
  -        hval += asso_values[(unsigned char)str[1]+1];
  -      /*FALLTHROUGH*/
  +        hval += asso_values[(unsigned char)str[1]];
         case 1:
           hval += asso_values[(unsigned char)str[0]];
           break;
  @@ -129,273 +90,170 @@
         MIN_WORD_LENGTH = 1,
         MAX_WORD_LENGTH = 10,
         MIN_HASH_VALUE = 1,
  -      MAX_HASH_VALUE = 365
  +      MAX_HASH_VALUE = 305
       };
   
     static const unsigned char lengthtable[] =
       {
  -       1,  2,  1,  2,  1,  2,  3,  1,  2,  2,  3,  4,  3,  4,
  -       5,  2,  4,  5,  1,  2,  4,  3,  4,  5,  2,  3,  4,  2,
  -       8,  4,  5,  6,  7,  3,  5,  1,  2,  3,  4,  5,  2,  3,
  -       5,  6,  2,  3,  6,  2,  3,  4,  1,  7,  3,  4,  2,  3,
  -       2,  3,  4,  2,  5,  6,  2,  8,  6,  2,  5,  6,  2,  4,
  -       5,  8,  5,  3,  4,  3,  4,  8,  3,  5,  6,  6,  7,  8,
  -       4,  6,  6,  8,  5,  5,  7,  3,  4,  6,  7,  8,  7,  9,
  -       7,  7,  6,  6,  6,  8, 10
  +       1,  2,  1,  2,  4,  1,  2,  3,  4,  3,  1,  4,  1,  2,
  +       8,  4,  2,  2,  4,  6,  3,  4,  2,  3,  2,  5,  3,  2,
  +       5,  6,  2,  3,  2,  5,  6,  2,  3,  4,  2,  2,  5,  6,
  +       3,  2,  2,  3,  2,  4,  5,  1,  2,  7,  3,  4,  5,  1,
  +       6,  6,  3,  5,  6,  6,  7,  4,  3,  4,  7,  6,  3,  2,
  +       4,  3,  5,  7,  4,  5,  4,  3,  7,  5,  6,  3,  4,  5,
  +       7,  8,  4,  6,  5,  6,  8,  6,  7,  8,  5,  8,  9,  7,
  +       5,  3, 10,  8,  6,  8,  8
       };
     static const struct tags wordlist_tag[] =
       {
  -#line 87 "htmltags.gperf"
  -      {"s", ID_S},
  -#line 106 "htmltags.gperf"
  -      {"tr", ID_TR},
  -#line 82 "htmltags.gperf"
  -      {"p", ID_P},
  -#line 100 "htmltags.gperf"
  -      {"td", ID_TD},
  -#line 17 "htmltags.gperf"
  -      {"b", ID_B},
  -#line 24 "htmltags.gperf"
  -      {"br", ID_BR},
  -#line 85 "htmltags.gperf"
  -      {"pre", ID_PRE},
  -#line 11 "htmltags.gperf"
         {"a", ID_A},
  -#line 33 "htmltags.gperf"
  -      {"dd", ID_DD},
  -#line 38 "htmltags.gperf"
  -      {"dl", ID_DL},
  -#line 34 "htmltags.gperf"
  -      {"del", ID_DEL},
  -#line 18 "htmltags.gperf"
  -      {"base", ID_BASE},
  -#line 69 "htmltags.gperf"
  -      {"map", ID_MAP},
  -#line 88 "htmltags.gperf"
  -      {"samp", ID_SAMP},
  -#line 98 "htmltags.gperf"
  -      {"table", ID_TABLE},
  -#line 40 "htmltags.gperf"
  -      {"em", ID_EM},
  -#line 16 "htmltags.gperf"
  +      {"tt", ID_TT},
  +      {"b", ID_B},
  +      {"tr", ID_TR},
         {"area", ID_AREA},
  -#line 64 "htmltags.gperf"
  -      {"label", ID_LABEL},
  -#line 56 "htmltags.gperf"
         {"i", ID_I},
  -#line 103 "htmltags.gperf"
  -      {"th", ID_TH},
  -#line 72 "htmltags.gperf"
  +      {"br", ID_BR},
  +      {"wbr", ID_WBR},
  +      {"abbr", ID_ABBR},
  +      {"big", ID_BIG},
  +      {"q", ID_Q},
  +      {"nobr", ID_NOBR},
  +      {"s", ID_S},
  +      {"em", ID_EM},
  +      {"textarea", ID_TEXTAREA},
         {"meta", ID_META},
  -#line 31 "htmltags.gperf"
  -      {"col", ID_COL},
  -#line 43 "htmltags.gperf"
  -      {"font", ID_FONT},
  -#line 45 "htmltags.gperf"
  -      {"frame", ID_FRAME},
  -#line 54 "htmltags.gperf"
  +      {"dt", ID_DT},
  +      {"td", ID_TD},
  +      {"base", ID_BASE},
  +      {"object", ID_OBJECT},
  +      {"bdo", ID_BDO},
  +      {"cite", ID_CITE},
  +      {"ol", ID_OL},
  +      {"img", ID_IMG},
  +      {"th", ID_TH},
  +      {"image", ID_IMG},
  +      {"dir", ID_DIR},
         {"hr", ID_HR},
  -#line 35 "htmltags.gperf"
  -      {"dfn", ID_DFN},
  -#line 44 "htmltags.gperf"
  -      {"form", ID_FORM},
  -#line 52 "htmltags.gperf"
  +      {"table", ID_TABLE},
  +      {"center", ID_CENTER},
  +      {"li", ID_LI},
  +      {"ins", ID_INS},
         {"h6", ID_H6},
  -#line 46 "htmltags.gperf"
  -      {"frameset", ID_FRAMESET},
  -#line 30 "htmltags.gperf"
  +      {"title", ID_TITLE},
  +      {"strong", ID_STRONG},
  +      {"h4", ID_H4},
  +      {"kbd", ID_KBD},
         {"code", ID_CODE},
  -#line 91 "htmltags.gperf"
  -      {"small", ID_SMALL},
  -#line 90 "htmltags.gperf"
  -      {"select", ID_SELECT},
  -#line 14 "htmltags.gperf"
  -      {"address", ID_ADDRESS},
  -#line 97 "htmltags.gperf"
  -      {"sup", ID_SUP},
  -#line 41 "htmltags.gperf"
  +      {"dd", ID_DD},
  +      {"h5", ID_H5},
         {"embed", ID_EMBED},
  -#line 108 "htmltags.gperf"
  -      {"u", ID_U},
  -#line 107 "htmltags.gperf"
  -      {"tt", ID_TT},
  -#line 96 "htmltags.gperf"
  -      {"sub", ID_SUB},
  -#line 73 "htmltags.gperf"
  -      {"nobr", ID_NOBR},
  -#line 83 "htmltags.gperf"
  -      {"param", ID_PARAM},
  -#line 79 "htmltags.gperf"
  -      {"ol", ID_OL},
  -#line 20 "htmltags.gperf"
  -      {"bdo", ID_BDO},
  -#line 104 "htmltags.gperf"
  +      {"strike", ID_STRIKE},
  +      {"col", ID_COL},
  +      {"h1", ID_H1},
  +      {"dl", ID_DL},
  +      {"del", ID_DEL},
  +      {"h2", ID_H2},
  +      {"head", ID_HEAD},
         {"thead", ID_THEAD},
  -#line 66 "htmltags.gperf"
  -      {"legend", ID_LEGEND},
  -#line 39 "htmltags.gperf"
  -      {"dt", ID_DT},
  -#line 62 "htmltags.gperf"
  -      {"kbd", ID_KBD},
  -#line 89 "htmltags.gperf"
  -      {"script", ID_SCRIPT},
  -#line 109 "htmltags.gperf"
  -      {"ul", ID_UL},
  -#line 58 "htmltags.gperf"
  -      {"img", ID_IMG},
  -#line 12 "htmltags.gperf"
  -      {"abbr", ID_ABBR},
  -#line 86 "htmltags.gperf"
  -      {"q", ID_Q},
  -#line 74 "htmltags.gperf"
  +      {"u", ID_U},
  +      {"h3", ID_H3},
         {"noembed", ID_NOEMBED},
  -#line 110 "htmltags.gperf"
         {"var", ID_VAR},
  -#line 53 "htmltags.gperf"
  -      {"head", ID_HEAD},
  -#line 51 "htmltags.gperf"
  -      {"h5", ID_H5},
  -#line 111 "htmltags.gperf"
  -      {"wbr", ID_WBR},
  -#line 50 "htmltags.gperf"
  -      {"h4", ID_H4},
  -#line 60 "htmltags.gperf"
  -      {"ins", ID_INS},
  -#line 23 "htmltags.gperf"
  -      {"body", ID_BODY},
  -#line 49 "htmltags.gperf"
  -      {"h3", ID_H3},
  -#line 114 "htmltags.gperf"
  -      {"image", ID_IMG},
  -#line 28 "htmltags.gperf"
  -      {"center", ID_CENTER},
  -#line 48 "htmltags.gperf"
  -      {"h2", ID_H2},
  -#line 75 "htmltags.gperf"
  -      {"noframes", ID_NOFRAMES},
  -#line 57 "htmltags.gperf"
  -      {"iframe", ID_IFRAME},
  -#line 47 "htmltags.gperf"
  -      {"h1", ID_H1},
  -#line 65 "htmltags.gperf"
  -      {"layer", ID_LAYER},
  -#line 15 "htmltags.gperf"
  -      {"applet", ID_APPLET},
  -#line 67 "htmltags.gperf"
  -      {"li", ID_LI},
  -#line 71 "htmltags.gperf"
  -      {"menu", ID_MENU},
  -#line 102 "htmltags.gperf"
  +      {"link", ID_LINK},
  +      {"label", ID_LABEL},
  +      {"p", ID_P},
  +      {"anchor", ID_A},
  +      {"legend", ID_LEGEND},
  +      {"pre", ID_PRE},
         {"tfoot", ID_TFOOT},
  -#line 19 "htmltags.gperf"
  -      {"basefont", ID_BASEFONT},
  -#line 105 "htmltags.gperf"
  -      {"title", ID_TITLE},
  -#line 112 "htmltags.gperf"
  -      {"xmp", ID_XMP},
  -#line 92 "htmltags.gperf"
  -      {"span", ID_SPAN},
  -#line 21 "htmltags.gperf"
  -      {"big", ID_BIG},
  -#line 55 "htmltags.gperf"
  -      {"html", ID_HTML},
  -#line 76 "htmltags.gperf"
  -      {"noscript", ID_NOSCRIPT},
  -#line 36 "htmltags.gperf"
  -      {"dir", ID_DIR},
  -#line 95 "htmltags.gperf"
  -      {"style", ID_STYLE},
  -#line 26 "htmltags.gperf"
  -      {"canvas", ID_CANVAS},
  -#line 25 "htmltags.gperf"
  +      {"select", ID_SELECT},
         {"button", ID_BUTTON},
  -#line 77 "htmltags.gperf"
  -      {"nolayer", ID_NOLAYER},
  -#line 42 "htmltags.gperf"
  -      {"fieldset", ID_FIELDSET},
  -#line 29 "htmltags.gperf"
  -      {"cite", ID_CITE},
  -#line 63 "htmltags.gperf"
  -      {"keygen", ID_KEYGEN},
  -#line 93 "htmltags.gperf"
  -      {"strike", ID_STRIKE},
  -#line 101 "htmltags.gperf"
  -      {"textarea", ID_TEXTAREA},
  -#line 59 "htmltags.gperf"
  -      {"input", ID_INPUT},
  -#line 99 "htmltags.gperf"
  -      {"tbody", ID_TBODY},
  -#line 27 "htmltags.gperf"
  -      {"caption", ID_CAPTION},
  -#line 37 "htmltags.gperf"
  -      {"div", ID_DIV},
  -#line 68 "htmltags.gperf"
  -      {"link", ID_LINK},
  -#line 94 "htmltags.gperf"
  -      {"strong", ID_STRONG},
  -#line 115 "htmltags.gperf"
         {"listing", ID_PRE},
  -#line 32 "htmltags.gperf"
  -      {"colgroup", ID_COLGROUP},
  -#line 70 "htmltags.gperf"
  +      {"font", ID_FONT},
  +      {"sub", ID_SUB},
  +      {"html", ID_HTML},
  +      {"isindex", ID_ISINDEX},
  +      {"option", ID_OPTION},
  +      {"map", ID_MAP},
  +      {"ul", ID_UL},
  +      {"menu", ID_MENU},
  +      {"div", ID_DIV},
  +      {"param", ID_PARAM},
  +      {"address", ID_ADDRESS},
  +      {"form", ID_FORM},
  +      {"frame", ID_FRAME},
  +      {"span", ID_SPAN},
  +      {"xmp", ID_XMP},
         {"marquee", ID_MARQUEE},
  -#line 84 "htmltags.gperf"
  +      {"small", ID_SMALL},
  +      {"iframe", ID_IFRAME},
  +      {"dfn", ID_DFN},
  +      {"body", ID_BODY},
  +      {"tbody", ID_TBODY},
  +      {"caption", ID_CAPTION},
  +      {"basefont", ID_BASEFONT},
  +      {"samp", ID_SAMP},
  +      {"keygen", ID_KEYGEN},
  +      {"layer", ID_LAYER},
  +      {"canvas", ID_CANVAS},
  +      {"frameset", ID_FRAMESET},
  +      {"script", ID_SCRIPT},
  +      {"nolayer", ID_NOLAYER},
  +      {"noframes", ID_NOFRAMES},
  +      {"style", ID_STYLE},
  +      {"noscript", ID_NOSCRIPT},
         {"plaintext", ID_PLAINTEXT},
  -#line 13 "htmltags.gperf"
         {"acronym", ID_ACRONYM},
  -#line 61 "htmltags.gperf"
  -      {"isindex", ID_ISINDEX},
  -#line 113 "htmltags.gperf"
  -      {"anchor", ID_A},
  -#line 78 "htmltags.gperf"
  -      {"object", ID_OBJECT},
  -#line 81 "htmltags.gperf"
  -      {"option", ID_OPTION},
  -#line 80 "htmltags.gperf"
  -      {"optgroup", ID_OPTGROUP},
  -#line 22 "htmltags.gperf"
  -      {"blockquote", ID_BLOCKQUOTE}
  +      {"input", ID_INPUT},
  +      {"sup", ID_SUP},
  +      {"blockquote", ID_BLOCKQUOTE},
  +      {"fieldset", ID_FIELDSET},
  +      {"applet", ID_APPLET},
  +      {"colgroup", ID_COLGROUP},
  +      {"optgroup", ID_OPTGROUP}
       };
   
  -  static const signed char lookup[] =
  +  static const short lookup[] =
       {
  -       -1,   0,   1,  -1,  -1,  -1,   2,   3,  -1,  -1,
  -       -1,   4,   5,   6,  -1,  -1,   7,   8,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,   9,  10,  11,
  -       -1,  -1,  -1,  12,  13,  14,  -1,  15,  -1,  16,
  -       17,  18,  19,  -1,  20,  -1,  -1,  -1,  21,  22,
  -       23,  -1,  24,  25,  26,  -1,  -1,  27,  28,  29,
  -       30,  31,  32,  33,  -1,  34,  35,  36,  37,  38,
  -       39,  -1,  40,  41,  -1,  42,  43,  44,  45,  -1,
  -       -1,  46,  47,  48,  49,  -1,  50,  51,  52,  53,
  -       -1,  -1,  54,  55,  -1,  -1,  -1,  56,  57,  58,
  -       -1,  -1,  59,  -1,  -1,  60,  61,  62,  63,  -1,
  -       -1,  64,  65,  -1,  -1,  66,  -1,  -1,  -1,  -1,
  -       -1,  67,  68,  -1,  69,  70,  -1,  -1,  71,  -1,
  -       72,  -1,  -1,  73,  74,  -1,  -1,  -1,  75,  76,
  -       -1,  -1,  -1,  77,  -1,  -1,  -1,  -1,  78,  -1,
  -       79,  80,  -1,  -1,  -1,  -1,  81,  82,  83,  84,
  -       -1,  85,  -1,  -1,  -1,  -1,  86,  -1,  87,  -1,
  -       88,  -1,  -1,  -1,  -1,  89,  -1,  -1,  -1,  -1,
  -       -1,  -1,  90,  91,  92,  -1,  93,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  94,  95,  -1,
  -       -1,  -1,  96,  -1,  97,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  98,  -1,  -1,  -1,  -1,  99,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1, 100,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1, 101,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1, 102,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1, 103,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
  -       -1,  -1,  -1,  -1,  -1, 104
  +        -1,    0,    1,   -1,   -1,   -1,    2,    3,
  +        -1,    4,   -1,    5,    6,    7,   -1,   -1,
  +        -1,   -1,   -1,    8,   -1,   -1,   -1,    9,
  +        -1,   -1,   10,   -1,   -1,   11,   -1,   12,
  +        13,   14,   15,   -1,   -1, -151,   -1,   18,
  +        -1,   19,   -1,   20,   21,  -89,   -2,   22,
  +        23,   24,   25,   -1,   -1,   26,   27,   28,
  +        29,   30,   31,   32,   33,   34,   -1,   -1,
  +        35,   -1,   -1,   -1,   36,   37,   -1,   -1,
  +        38,   -1,   39,   40,   41,   -1,   42,   43,
  +        -1,   -1,   44,   45,   46,   -1,   47,   48,
  +        49,   50,   -1,   -1,   51,   -1,   -1,   -1,
  +        -1,   -1,   52,   53,   54,   55,   -1,   56,
  +        -1,   -1,   57,   -1,   58,   -1,   59,   60,
  +        -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   62,   -1,   63,   64,   65,   66,
  +        -1,   -1,   -1,   67,   -1,   68,   69,   -1,
  +        70,   -1,   71,   -1,   72,   -1,   73,   -1,
  +        74,   75,   -1,   -1,   -1,   76,   -1,   -1,
  +        -1,   77,   78,   79,   80,   -1,   81,   82,
  +        83,   -1,   84,   85,   86,   -1,   87,   -1,
  +        -1,   -1,   88,   89,   -1,   -1,   -1,   -1,
  +        -1,   -1,   90,   -1,   -1,   91,   -1,   -1,
  +        -1,   -1,   -1,   92,   -1,   -1,   -1,   -1,
  +        -1,   93,   -1,   94,   -1,   -1,   95,   96,
  +        -1,   -1,   97,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   98,   -1,   -1,   99,   -1,   -1,   -1,
  +        -1,   -1,   -1,  100,   -1,   -1,   -1,   -1,
  +        -1,  101,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,  102,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +       103,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  +        -1,  104
       };
   
     if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
  @@ -416,13 +274,31 @@
                       return &wordlist_tag[index];
                   }
               }
  +          else if (index < -TOTAL_KEYWORDS)
  +            {
  +              register int offset = - 1 - TOTAL_KEYWORDS - index;
  +              register const unsigned char *lengthptr = &lengthtable[TOTAL_KEYWORDS + lookup[offset]];
  +              register const struct tags *wordptr = &wordlist_tag[TOTAL_KEYWORDS + lookup[offset]];
  +              register const struct tags *wordendptr = wordptr + -lookup[offset + 1];
  +
  +              while (wordptr < wordendptr)
  +                {
  +                  if (len == *lengthptr)
  +                    {
  +                      register const char *s = wordptr->name;
  +
  +                      if (*str == *s && !memcmp (str + 1, s + 1, len - 1))
  +                        return wordptr;
  +                    }
  +                  lengthptr++;
  +                  wordptr++;
  +                }
  +            }
           }
       }
     return 0;
   }
  -#line 116 "htmltags.gperf"
  -
  -#line 426 "htmltags.c"
  +#line 302 "htmltags.c"
   
   using DOM::DOMString;
   
  
  
  



More information about the webkit-changes mailing list