Bug 531056 - Make the HTML5 parser unaware of <spacer>. r=jonas, a=jst.
authorHenri Sivonen <hsivonen@iki.fi>
Wed, 15 Sep 2010 11:37:55 +0300
changeset 54237 bc15c280c430
parent 54236 0ab712643a66
child 54238 a03d65efc824
push id15818
push userhsivonen@iki.fi
push date2010-09-17 10:49 +0000
treeherdermozilla-central@bc15c280c430 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjonas, jst
bugs531056
milestone2.0b7pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 531056 - Make the HTML5 parser unaware of <spacer>. r=jonas, a=jst.
parser/html/javasrc/ElementName.java
parser/html/javasrc/TreeBuilder.java
parser/html/nsHtml5AtomList.h
parser/html/nsHtml5ElementName.cpp
parser/html/nsHtml5ElementName.h
parser/html/nsHtml5TreeBuilder.cpp
parser/html/nsHtml5TreeBuilder.h
--- a/parser/html/javasrc/ElementName.java
+++ b/parser/html/javasrc/ElementName.java
@@ -1,10 +1,10 @@
 /*
- * Copyright (c) 2008 Mozilla Foundation
+ * Copyright (c) 2008-2010 Mozilla Foundation
  *
  * Permission is hereby granted, free of charge, to any person obtaining a 
  * copy of this software and associated documentation files (the "Software"), 
  * to deal in the Software without restriction, including without limitation 
  * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
  * and/or sell copies of the Software, and to permit persons to whom the 
  * Software is furnished to do so, subject to the following conditions:
  *
@@ -278,18 +278,18 @@ public final class ElementName
 //            case TreeBuilder.UL_OR_OL_OR_DL:
 //                return "UL_OR_OL_OR_DL";
 //            case TreeBuilder.IFRAME:
 //                return "IFRAME";
 //            case TreeBuilder.NOEMBED:
 //                return "NOEMBED";
 //            case TreeBuilder.EMBED_OR_IMG:
 //                return "EMBED_OR_IMG";
-//            case TreeBuilder.AREA_OR_SPACER_OR_WBR:
-//                return "AREA_OR_SPACER_OR_WBR";
+//            case TreeBuilder.AREA_OR_WBR:
+//                return "AREA_OR_WBR";
 //            case TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU:
 //                return "DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU";
 //            case TreeBuilder.FIELDSET:
 //                return "FIELDSET";
 //            case TreeBuilder.ADDRESS_OR_DIR_OR_ARTICLE_OR_ASIDE_OR_DATAGRID_OR_DETAILS_OR_HGROUP_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_NAV_OR_SECTION:
 //                return "ADDRESS_OR_DIR_OR_ARTICLE_OR_ASIDE_OR_DATAGRID_OR_DETAILS_OR_HGROUP_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_NAV_OR_SECTION";
 //            case TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR:
 //                return "RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR";
@@ -428,20 +428,20 @@ public final class ElementName
     public static final ElementName SUM = new ElementName("sum", "sum", TreeBuilder.OTHER, false, false, false);
     public static final ElementName SIN = new ElementName("sin", "sin", TreeBuilder.OTHER, false, false, false);
     public static final ElementName SEP = new ElementName("sep", "sep", TreeBuilder.OTHER, false, false, false);
     public static final ElementName SUP = new ElementName("sup", "sup", TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR, false, false, false);
     public static final ElementName SET = new ElementName("set", "set", TreeBuilder.OTHER, false, false, false);
     public static final ElementName TAN = new ElementName("tan", "tan", TreeBuilder.OTHER, false, false, false);
     public static final ElementName USE = new ElementName("use", "use", TreeBuilder.OTHER, false, false, false);
     public static final ElementName VAR = new ElementName("var", "var", TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR, false, false, false);
-    public static final ElementName WBR = new ElementName("wbr", "wbr", TreeBuilder.AREA_OR_SPACER_OR_WBR, true, false, false);
+    public static final ElementName WBR = new ElementName("wbr", "wbr", TreeBuilder.AREA_OR_WBR, true, false, false);
     public static final ElementName XMP = new ElementName("xmp", "xmp", TreeBuilder.XMP, false, false, false);
     public static final ElementName XOR = new ElementName("xor", "xor", TreeBuilder.OTHER, false, false, false);
-    public static final ElementName AREA = new ElementName("area", "area", TreeBuilder.AREA_OR_SPACER_OR_WBR, true, false, false);
+    public static final ElementName AREA = new ElementName("area", "area", TreeBuilder.AREA_OR_WBR, true, false, false);
     public static final ElementName ABBR = new ElementName("abbr", "abbr", TreeBuilder.OTHER, false, false, false);
     public static final ElementName BASE = new ElementName("base", "base", TreeBuilder.BASE, true, false, false);
     public static final ElementName BVAR = new ElementName("bvar", "bvar", TreeBuilder.OTHER, false, false, false);
     public static final ElementName BODY = new ElementName("body", "body", TreeBuilder.BODY, true, false, false);
     public static final ElementName CARD = new ElementName("card", "card", TreeBuilder.OTHER, false, false, false);
     public static final ElementName CODE = new ElementName("code", "code", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U, false, false, false);
     public static final ElementName CITE = new ElementName("cite", "cite", TreeBuilder.OTHER, false, false, false);
     public static final ElementName CSCH = new ElementName("csch", "csch", TreeBuilder.OTHER, false, false, false);
@@ -573,17 +573,16 @@ public final class ElementName
     public static final ElementName OBJECT = new ElementName("object", "object", TreeBuilder.OBJECT, false, true, false);
     public static final ElementName OUTPUT = new ElementName("output", "output", TreeBuilder.OUTPUT_OR_LABEL, false, false, false);
     public static final ElementName PRIMES = new ElementName("primes", "primes", TreeBuilder.OTHER, false, false, false);
     public static final ElementName SOURCE = new ElementName("source", "source", TreeBuilder.PARAM_OR_SOURCE, false, false, false);
     public static final ElementName STRIKE = new ElementName("strike", "strike", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U, false, false, false);
     public static final ElementName STRONG = new ElementName("strong", "strong", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U, false, false, false);
     public static final ElementName SWITCH = new ElementName("switch", "switch", TreeBuilder.OTHER, false, false, false);
     public static final ElementName SYMBOL = new ElementName("symbol", "symbol", TreeBuilder.OTHER, false, false, false);
-    public static final ElementName SPACER = new ElementName("spacer", "spacer", TreeBuilder.AREA_OR_SPACER_OR_WBR, true, false, false);
     public static final ElementName SELECT = new ElementName("select", "select", TreeBuilder.SELECT, true, false, false);
     public static final ElementName SUBSET = new ElementName("subset", "subset", TreeBuilder.OTHER, false, false, false);
     public static final ElementName SCRIPT = new ElementName("script", "script", TreeBuilder.SCRIPT, true, false, false);
     public static final ElementName TBREAK = new ElementName("tbreak", "tbreak", TreeBuilder.OTHER, false, false, false);
     public static final ElementName VECTOR = new ElementName("vector", "vector", TreeBuilder.OTHER, false, false, false);
     public static final ElementName ARTICLE = new ElementName("article", "article", TreeBuilder.ADDRESS_OR_DIR_OR_ARTICLE_OR_ASIDE_OR_DATAGRID_OR_DETAILS_OR_HGROUP_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_NAV_OR_SECTION, true, false, false);
     public static final ElementName ANIMATE = new ElementName("animate", "animate", TreeBuilder.OTHER, false, false, false);
     public static final ElementName ARCSECH = new ElementName("arcsech", "arcsech", TreeBuilder.OTHER, false, false, false);
@@ -964,17 +963,16 @@ public final class ElementName
     OBJECT,
     OUTPUT,
     PRIMES,
     SOURCE,
     STRIKE,
     STRONG,
     SWITCH,
     SYMBOL,
-    SPACER,
     SELECT,
     SUBSET,
     SCRIPT,
     TBREAK,
     VECTOR,
     ARTICLE,
     ANIMATE,
     ARCSECH,
@@ -1356,17 +1354,16 @@ public final class ElementName
     217713834,
     217732628,
     218731945,
     221417045,
     221424946,
     221493746,
     221515401,
     221658189,
-    221844577,
     221908140,
     221910626,
     221921586,
     222659762,
     225001091,
     236105833,
     236113965,
     236194995,
@@ -1516,9 +1513,10 @@ public final class ElementName
     543958612,
     576960820,
     577242548,
     610515252,
     642202932,
     644420819,
     };
 
+
 }
--- a/parser/html/javasrc/TreeBuilder.java
+++ b/parser/html/javasrc/TreeBuilder.java
@@ -158,17 +158,17 @@ public abstract class TreeBuilder<T> imp
     final static int B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U = 45;
 
     final static int UL_OR_OL_OR_DL = 46;
 
     final static int IFRAME = 47;
 
     final static int EMBED_OR_IMG = 48;
 
-    final static int AREA_OR_SPACER_OR_WBR = 49;
+    final static int AREA_OR_WBR = 49;
 
     final static int DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU = 50;
 
     final static int ADDRESS_OR_DIR_OR_ARTICLE_OR_ASIDE_OR_DATAGRID_OR_DETAILS_OR_HGROUP_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_NAV_OR_SECTION = 51;
 
     final static int RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR = 52;
 
     final static int RT_OR_RP = 53;
@@ -1790,17 +1790,17 @@ public abstract class TreeBuilder<T> imp
                             // NOT falling through!
                         case PRE_OR_LISTING:
                         case LI:
                         case DD_OR_DT:
                         case BUTTON:
                         case MARQUEE_OR_APPLET:
                         case OBJECT:
                         case TABLE:
-                        case AREA_OR_SPACER_OR_WBR:
+                        case AREA_OR_WBR:
                         case BR:
                         case EMBED_OR_IMG:
                         case INPUT:
                         case KEYGEN:
                         case HR:
                         case TEXTAREA:
                         case XMP:
                         case IFRAME:
@@ -2011,17 +2011,17 @@ public abstract class TreeBuilder<T> imp
                                 appendToCurrentNodeAndPushElementMayFoster(
                                         "http://www.w3.org/1999/xhtml",
                                         elementName, attributes);
                                 mode = IN_TABLE;
                                 attributes = null; // CPP
                                 break starttagloop;
                             case BR:
                             case EMBED_OR_IMG:
-                            case AREA_OR_SPACER_OR_WBR:
+                            case AREA_OR_WBR:
                                 reconstructTheActiveFormattingElements();
                                 // FALL THROUGH to PARAM_OR_SOURCE
                             case PARAM_OR_SOURCE:
                                 appendVoidElementToCurrentMayFoster(
                                         "http://www.w3.org/1999/xhtml",
                                         elementName, attributes);
                                 selfClosing = false;
                                 attributes = null; // CPP
@@ -3547,17 +3547,17 @@ public abstract class TreeBuilder<T> imp
                                 inForeign = false;
                             }
                             reconstructTheActiveFormattingElements();
                             appendVoidElementToCurrentMayFoster(
                                     "http://www.w3.org/1999/xhtml",
                                     elementName,
                                     HtmlAttributes.EMPTY_ATTRIBUTES);
                             break endtagloop;
-                        case AREA_OR_SPACER_OR_WBR:
+                        case AREA_OR_WBR:
                         case PARAM_OR_SOURCE:
                         case EMBED_OR_IMG:
                         case IMAGE:
                         case INPUT:
                         case KEYGEN: // XXX??
                         case HR:
                         case ISINDEX:
                         case IFRAME:
--- a/parser/html/nsHtml5AtomList.h
+++ b/parser/html/nsHtml5AtomList.h
@@ -865,17 +865,16 @@ HTML5_ATOM(moment, "moment")
 HTML5_ATOM(matrix, "matrix")
 HTML5_ATOM(output, "output")
 HTML5_ATOM(primes, "primes")
 HTML5_ATOM(source, "source")
 HTML5_ATOM(strike, "strike")
 HTML5_ATOM(strong, "strong")
 HTML5_ATOM(switch_, "switch")
 HTML5_ATOM(symbol, "symbol")
-HTML5_ATOM(spacer, "spacer")
 HTML5_ATOM(subset, "subset")
 HTML5_ATOM(tbreak, "tbreak")
 HTML5_ATOM(vector, "vector")
 HTML5_ATOM(article, "article")
 HTML5_ATOM(animate, "animate")
 HTML5_ATOM(arcsech, "arcsech")
 HTML5_ATOM(arccsch, "arccsch")
 HTML5_ATOM(arctanh, "arctanh")
--- a/parser/html/nsHtml5ElementName.cpp
+++ b/parser/html/nsHtml5ElementName.cpp
@@ -1,10 +1,10 @@
 /*
- * Copyright (c) 2008 Mozilla Foundation
+ * Copyright (c) 2008-2010 Mozilla Foundation
  *
  * Permission is hereby granted, free of charge, to any person obtaining a 
  * copy of this software and associated documentation files (the "Software"), 
  * to deal in the Software without restriction, including without limitation 
  * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
  * and/or sell copies of the Software, and to permit persons to whom the 
  * Software is furnished to do so, subject to the following conditions:
  *
@@ -128,17 +128,17 @@ nsHtml5ElementName::~nsHtml5ElementName(
 }
 
 nsHtml5ElementName* 
 nsHtml5ElementName::cloneElementName(nsHtml5AtomTable* interner)
 {
   return this;
 }
 
-static PRInt32 const ELEMENT_HASHES_DATA[] = { 1057, 1090, 1255, 1321, 1552, 1585, 1651, 1717, 68162, 68899, 69059, 69764, 70020, 70276, 71077, 71205, 72134, 72232, 72264, 72296, 72328, 72360, 72392, 73351, 74312, 75209, 78124, 78284, 78476, 79149, 79309, 79341, 79469, 81295, 81487, 82224, 84498, 84626, 86164, 86292, 86612, 86676, 87445, 3183041, 3186241, 3198017, 3218722, 3226754, 3247715, 3256803, 3263971, 3264995, 3289252, 3291332, 3295524, 3299620, 3326725, 3379303, 3392679, 3448233, 3460553, 3461577, 3510347, 3546604, 3552364, 3556524, 3576461, 3586349, 3588141, 3590797, 3596333, 3622062, 3625454, 3627054, 3675728, 3749042, 3771059, 3771571, 3776211, 3782323, 3782963, 3784883, 3785395, 3788979, 3815476, 3839605, 3885110, 3917911, 3948984, 3951096, 135304769, 135858241, 136498210, 136906434, 137138658, 137512995, 137531875, 137548067, 137629283, 137645539, 137646563, 137775779, 138529956, 138615076, 139040932, 140954086, 141179366, 141690439, 142738600, 143013512, 146979116, 147175724, 147475756, 147902637, 147936877, 148017645, 148131885, 148228141, 148229165, 148309165, 148395629, 148551853, 148618829, 149076462, 149490158, 149572782, 151277616, 151639440, 153268914, 153486514, 153563314, 153750706, 153763314, 153914034, 154406067, 154417459, 154600979, 154678323, 154680979, 154866835, 155366708, 155375188, 155391572, 155465780, 155869364, 158045494, 168988979, 169321621, 169652752, 173151309, 174240818, 174247297, 174669292, 175391532, 176638123, 177380397, 177879204, 177886734, 180753473, 181020073, 181503558, 181686320, 181999237, 181999311, 182048201, 182074866, 182078003, 182083764, 182920847, 184716457, 184976961, 185145071, 187281445, 187872052, 188100653, 188875944, 188919873, 188920457, 189203987, 189371817, 189414886, 189567458, 190266670, 191318187, 191337609, 202479203, 202493027, 202835587, 202843747, 203013219, 203036048, 203045987, 203177552, 203898516, 204648562, 205067918, 205078130, 205096654, 205689142, 205690439, 205988909, 207213161, 207794484, 207800999, 208023602, 208213644, 208213647, 210261490, 210310273, 210940978, 213325049, 213946445, 214055079, 215125040, 215134273, 215135028, 215237420, 215418148, 215553166, 215553394, 215563858, 215627949, 215754324, 217529652, 217713834, 217732628, 218731945, 221417045, 221424946, 221493746, 221515401, 221658189, 221844577, 221908140, 221910626, 221921586, 222659762, 225001091, 236105833, 236113965, 236194995, 236195427, 236206132, 236206387, 236211683, 236212707, 236381647, 236571826, 237124271, 238172205, 238210544, 238270764, 238435405, 238501172, 239224867, 239257644, 239710497, 240307721, 241208789, 241241557, 241318060, 241319404, 241343533, 241344069, 241405397, 241765845, 243864964, 244502085, 244946220, 245109902, 247647266, 247707956, 248648814, 248648836, 248682161, 248986932, 249058914, 249697357, 252132601, 252135604, 252317348, 255007012, 255278388, 256365156, 257566121, 269763372, 271202790, 271863856, 272049197, 272127474, 272770631, 274339449, 274939471, 275388004, 275388005, 275388006, 275977800, 278267602, 278513831, 278712622, 281613765, 281683369, 282120228, 282250732, 282508942, 283743649, 283787570, 284710386, 285391148, 285478533, 285854898, 285873762, 286931113, 288964227, 289445441, 289689648, 291671489, 303512884, 305319975, 305610036, 305764101, 308448294, 308675890, 312085683, 312264750, 315032867, 316391000, 317331042, 317902135, 318950711, 319447220, 321499182, 322538804, 323145200, 337067316, 337826293, 339905989, 340833697, 341457068, 345302593, 349554733, 349771471, 349786245, 350819405, 356072847, 370349192, 373962798, 375558638, 375574835, 376053993, 383276530, 383373833, 383407586, 384439906, 386079012, 404133513, 404307343, 407031852, 408072233, 409112005, 409608425, 409771500, 419040932, 437730612, 439529766, 442616365, 442813037, 443157674, 443295316, 450118444, 450482697, 456789668, 459935396, 471217869, 474073645, 476230702, 476665218, 476717289, 483014825, 485083298, 489306281, 538364390, 540675748, 543819186, 543958612, 576960820, 577242548, 610515252, 642202932, 644420819 };
+static PRInt32 const ELEMENT_HASHES_DATA[] = { 1057, 1090, 1255, 1321, 1552, 1585, 1651, 1717, 68162, 68899, 69059, 69764, 70020, 70276, 71077, 71205, 72134, 72232, 72264, 72296, 72328, 72360, 72392, 73351, 74312, 75209, 78124, 78284, 78476, 79149, 79309, 79341, 79469, 81295, 81487, 82224, 84498, 84626, 86164, 86292, 86612, 86676, 87445, 3183041, 3186241, 3198017, 3218722, 3226754, 3247715, 3256803, 3263971, 3264995, 3289252, 3291332, 3295524, 3299620, 3326725, 3379303, 3392679, 3448233, 3460553, 3461577, 3510347, 3546604, 3552364, 3556524, 3576461, 3586349, 3588141, 3590797, 3596333, 3622062, 3625454, 3627054, 3675728, 3749042, 3771059, 3771571, 3776211, 3782323, 3782963, 3784883, 3785395, 3788979, 3815476, 3839605, 3885110, 3917911, 3948984, 3951096, 135304769, 135858241, 136498210, 136906434, 137138658, 137512995, 137531875, 137548067, 137629283, 137645539, 137646563, 137775779, 138529956, 138615076, 139040932, 140954086, 141179366, 141690439, 142738600, 143013512, 146979116, 147175724, 147475756, 147902637, 147936877, 148017645, 148131885, 148228141, 148229165, 148309165, 148395629, 148551853, 148618829, 149076462, 149490158, 149572782, 151277616, 151639440, 153268914, 153486514, 153563314, 153750706, 153763314, 153914034, 154406067, 154417459, 154600979, 154678323, 154680979, 154866835, 155366708, 155375188, 155391572, 155465780, 155869364, 158045494, 168988979, 169321621, 169652752, 173151309, 174240818, 174247297, 174669292, 175391532, 176638123, 177380397, 177879204, 177886734, 180753473, 181020073, 181503558, 181686320, 181999237, 181999311, 182048201, 182074866, 182078003, 182083764, 182920847, 184716457, 184976961, 185145071, 187281445, 187872052, 188100653, 188875944, 188919873, 188920457, 189203987, 189371817, 189414886, 189567458, 190266670, 191318187, 191337609, 202479203, 202493027, 202835587, 202843747, 203013219, 203036048, 203045987, 203177552, 203898516, 204648562, 205067918, 205078130, 205096654, 205689142, 205690439, 205988909, 207213161, 207794484, 207800999, 208023602, 208213644, 208213647, 210261490, 210310273, 210940978, 213325049, 213946445, 214055079, 215125040, 215134273, 215135028, 215237420, 215418148, 215553166, 215553394, 215563858, 215627949, 215754324, 217529652, 217713834, 217732628, 218731945, 221417045, 221424946, 221493746, 221515401, 221658189, 221908140, 221910626, 221921586, 222659762, 225001091, 236105833, 236113965, 236194995, 236195427, 236206132, 236206387, 236211683, 236212707, 236381647, 236571826, 237124271, 238172205, 238210544, 238270764, 238435405, 238501172, 239224867, 239257644, 239710497, 240307721, 241208789, 241241557, 241318060, 241319404, 241343533, 241344069, 241405397, 241765845, 243864964, 244502085, 244946220, 245109902, 247647266, 247707956, 248648814, 248648836, 248682161, 248986932, 249058914, 249697357, 252132601, 252135604, 252317348, 255007012, 255278388, 256365156, 257566121, 269763372, 271202790, 271863856, 272049197, 272127474, 272770631, 274339449, 274939471, 275388004, 275388005, 275388006, 275977800, 278267602, 278513831, 278712622, 281613765, 281683369, 282120228, 282250732, 282508942, 283743649, 283787570, 284710386, 285391148, 285478533, 285854898, 285873762, 286931113, 288964227, 289445441, 289689648, 291671489, 303512884, 305319975, 305610036, 305764101, 308448294, 308675890, 312085683, 312264750, 315032867, 316391000, 317331042, 317902135, 318950711, 319447220, 321499182, 322538804, 323145200, 337067316, 337826293, 339905989, 340833697, 341457068, 345302593, 349554733, 349771471, 349786245, 350819405, 356072847, 370349192, 373962798, 375558638, 375574835, 376053993, 383276530, 383373833, 383407586, 384439906, 386079012, 404133513, 404307343, 407031852, 408072233, 409112005, 409608425, 409771500, 419040932, 437730612, 439529766, 442616365, 442813037, 443157674, 443295316, 450118444, 450482697, 456789668, 459935396, 471217869, 474073645, 476230702, 476665218, 476717289, 483014825, 485083298, 489306281, 538364390, 540675748, 543819186, 543958612, 576960820, 577242548, 610515252, 642202932, 644420819 };
 void
 nsHtml5ElementName::initializeStatics()
 {
   ELT_NULL_ELEMENT_NAME = new nsHtml5ElementName(nsnull);
   ELT_A = new nsHtml5ElementName(nsHtml5Atoms::a, nsHtml5Atoms::a, NS_HTML5TREE_BUILDER_A, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_B = new nsHtml5ElementName(nsHtml5Atoms::b, nsHtml5Atoms::b, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_G = new nsHtml5ElementName(nsHtml5Atoms::g, nsHtml5Atoms::g, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_I = new nsHtml5ElementName(nsHtml5Atoms::i, nsHtml5Atoms::i, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U, PR_FALSE, PR_FALSE, PR_FALSE);
@@ -220,20 +220,20 @@ nsHtml5ElementName::initializeStatics()
   ELT_SUM = new nsHtml5ElementName(nsHtml5Atoms::sum, nsHtml5Atoms::sum, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_SIN = new nsHtml5ElementName(nsHtml5Atoms::sin, nsHtml5Atoms::sin, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_SEP = new nsHtml5ElementName(nsHtml5Atoms::sep, nsHtml5Atoms::sep, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_SUP = new nsHtml5ElementName(nsHtml5Atoms::sup, nsHtml5Atoms::sup, NS_HTML5TREE_BUILDER_RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_SET = new nsHtml5ElementName(nsHtml5Atoms::set, nsHtml5Atoms::set, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_TAN = new nsHtml5ElementName(nsHtml5Atoms::tan, nsHtml5Atoms::tan, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_USE = new nsHtml5ElementName(nsHtml5Atoms::use, nsHtml5Atoms::use, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_VAR = new nsHtml5ElementName(nsHtml5Atoms::var, nsHtml5Atoms::var, NS_HTML5TREE_BUILDER_RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR, PR_FALSE, PR_FALSE, PR_FALSE);
-  ELT_WBR = new nsHtml5ElementName(nsHtml5Atoms::wbr, nsHtml5Atoms::wbr, NS_HTML5TREE_BUILDER_AREA_OR_SPACER_OR_WBR, PR_TRUE, PR_FALSE, PR_FALSE);
+  ELT_WBR = new nsHtml5ElementName(nsHtml5Atoms::wbr, nsHtml5Atoms::wbr, NS_HTML5TREE_BUILDER_AREA_OR_WBR, PR_TRUE, PR_FALSE, PR_FALSE);
   ELT_XMP = new nsHtml5ElementName(nsHtml5Atoms::xmp, nsHtml5Atoms::xmp, NS_HTML5TREE_BUILDER_XMP, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_XOR = new nsHtml5ElementName(nsHtml5Atoms::xor_, nsHtml5Atoms::xor_, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
-  ELT_AREA = new nsHtml5ElementName(nsHtml5Atoms::area, nsHtml5Atoms::area, NS_HTML5TREE_BUILDER_AREA_OR_SPACER_OR_WBR, PR_TRUE, PR_FALSE, PR_FALSE);
+  ELT_AREA = new nsHtml5ElementName(nsHtml5Atoms::area, nsHtml5Atoms::area, NS_HTML5TREE_BUILDER_AREA_OR_WBR, PR_TRUE, PR_FALSE, PR_FALSE);
   ELT_ABBR = new nsHtml5ElementName(nsHtml5Atoms::abbr, nsHtml5Atoms::abbr, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_BASE = new nsHtml5ElementName(nsHtml5Atoms::base, nsHtml5Atoms::base, NS_HTML5TREE_BUILDER_BASE, PR_TRUE, PR_FALSE, PR_FALSE);
   ELT_BVAR = new nsHtml5ElementName(nsHtml5Atoms::bvar, nsHtml5Atoms::bvar, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_BODY = new nsHtml5ElementName(nsHtml5Atoms::body, nsHtml5Atoms::body, NS_HTML5TREE_BUILDER_BODY, PR_TRUE, PR_FALSE, PR_FALSE);
   ELT_CARD = new nsHtml5ElementName(nsHtml5Atoms::card, nsHtml5Atoms::card, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_CODE = new nsHtml5ElementName(nsHtml5Atoms::code, nsHtml5Atoms::code, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_CITE = new nsHtml5ElementName(nsHtml5Atoms::cite, nsHtml5Atoms::cite, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_CSCH = new nsHtml5ElementName(nsHtml5Atoms::csch, nsHtml5Atoms::csch, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
@@ -365,17 +365,16 @@ nsHtml5ElementName::initializeStatics()
   ELT_OBJECT = new nsHtml5ElementName(nsHtml5Atoms::object, nsHtml5Atoms::object, NS_HTML5TREE_BUILDER_OBJECT, PR_FALSE, PR_TRUE, PR_FALSE);
   ELT_OUTPUT = new nsHtml5ElementName(nsHtml5Atoms::output, nsHtml5Atoms::output, NS_HTML5TREE_BUILDER_OUTPUT_OR_LABEL, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_PRIMES = new nsHtml5ElementName(nsHtml5Atoms::primes, nsHtml5Atoms::primes, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_SOURCE = new nsHtml5ElementName(nsHtml5Atoms::source, nsHtml5Atoms::source, NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_STRIKE = new nsHtml5ElementName(nsHtml5Atoms::strike, nsHtml5Atoms::strike, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_STRONG = new nsHtml5ElementName(nsHtml5Atoms::strong, nsHtml5Atoms::strong, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_SWITCH = new nsHtml5ElementName(nsHtml5Atoms::switch_, nsHtml5Atoms::switch_, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_SYMBOL = new nsHtml5ElementName(nsHtml5Atoms::symbol, nsHtml5Atoms::symbol, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
-  ELT_SPACER = new nsHtml5ElementName(nsHtml5Atoms::spacer, nsHtml5Atoms::spacer, NS_HTML5TREE_BUILDER_AREA_OR_SPACER_OR_WBR, PR_TRUE, PR_FALSE, PR_FALSE);
   ELT_SELECT = new nsHtml5ElementName(nsHtml5Atoms::select, nsHtml5Atoms::select, NS_HTML5TREE_BUILDER_SELECT, PR_TRUE, PR_FALSE, PR_FALSE);
   ELT_SUBSET = new nsHtml5ElementName(nsHtml5Atoms::subset, nsHtml5Atoms::subset, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_SCRIPT = new nsHtml5ElementName(nsHtml5Atoms::script, nsHtml5Atoms::script, NS_HTML5TREE_BUILDER_SCRIPT, PR_TRUE, PR_FALSE, PR_FALSE);
   ELT_TBREAK = new nsHtml5ElementName(nsHtml5Atoms::tbreak, nsHtml5Atoms::tbreak, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_VECTOR = new nsHtml5ElementName(nsHtml5Atoms::vector, nsHtml5Atoms::vector, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_ARTICLE = new nsHtml5ElementName(nsHtml5Atoms::article, nsHtml5Atoms::article, NS_HTML5TREE_BUILDER_ADDRESS_OR_DIR_OR_ARTICLE_OR_ASIDE_OR_DATAGRID_OR_DETAILS_OR_HGROUP_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_NAV_OR_SECTION, PR_TRUE, PR_FALSE, PR_FALSE);
   ELT_ANIMATE = new nsHtml5ElementName(nsHtml5Atoms::animate, nsHtml5Atoms::animate, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_ARCSECH = new nsHtml5ElementName(nsHtml5Atoms::arcsech, nsHtml5Atoms::arcsech, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
@@ -523,17 +522,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_CARTESIANPRODUCT = new nsHtml5ElementName(nsHtml5Atoms::cartesianproduct, nsHtml5Atoms::cartesianproduct, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_FONT_FACE_FORMAT = new nsHtml5ElementName(nsHtml5Atoms::font_face_format, nsHtml5Atoms::font_face_format, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_FECONVOLVEMATRIX = new nsHtml5ElementName(nsHtml5Atoms::feconvolvematrix, nsHtml5Atoms::feConvolveMatrix, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_FEDIFFUSELIGHTING = new nsHtml5ElementName(nsHtml5Atoms::fediffuselighting, nsHtml5Atoms::feDiffuseLighting, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_FEDISPLACEMENTMAP = new nsHtml5ElementName(nsHtml5Atoms::fedisplacementmap, nsHtml5Atoms::feDisplacementMap, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_FESPECULARLIGHTING = new nsHtml5ElementName(nsHtml5Atoms::fespecularlighting, nsHtml5Atoms::feSpecularLighting, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_DOMAINOFAPPLICATION = new nsHtml5ElementName(nsHtml5Atoms::domainofapplication, nsHtml5Atoms::domainofapplication, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
   ELT_FECOMPONENTTRANSFER = new nsHtml5ElementName(nsHtml5Atoms::fecomponenttransfer, nsHtml5Atoms::feComponentTransfer, NS_HTML5TREE_BUILDER_OTHER, PR_FALSE, PR_FALSE, PR_FALSE);
-  ELEMENT_NAMES = new nsHtml5ElementName*[390];
+  ELEMENT_NAMES = new nsHtml5ElementName*[389];
   ELEMENT_NAMES[0] = ELT_A;
   ELEMENT_NAMES[1] = ELT_B;
   ELEMENT_NAMES[2] = ELT_G;
   ELEMENT_NAMES[3] = ELT_I;
   ELEMENT_NAMES[4] = ELT_P;
   ELEMENT_NAMES[5] = ELT_Q;
   ELEMENT_NAMES[6] = ELT_S;
   ELEMENT_NAMES[7] = ELT_U;
@@ -756,175 +755,174 @@ nsHtml5ElementName::initializeStatics()
   ELEMENT_NAMES[224] = ELT_OBJECT;
   ELEMENT_NAMES[225] = ELT_OUTPUT;
   ELEMENT_NAMES[226] = ELT_PRIMES;
   ELEMENT_NAMES[227] = ELT_SOURCE;
   ELEMENT_NAMES[228] = ELT_STRIKE;
   ELEMENT_NAMES[229] = ELT_STRONG;
   ELEMENT_NAMES[230] = ELT_SWITCH;
   ELEMENT_NAMES[231] = ELT_SYMBOL;
-  ELEMENT_NAMES[232] = ELT_SPACER;
-  ELEMENT_NAMES[233] = ELT_SELECT;
-  ELEMENT_NAMES[234] = ELT_SUBSET;
-  ELEMENT_NAMES[235] = ELT_SCRIPT;
-  ELEMENT_NAMES[236] = ELT_TBREAK;
-  ELEMENT_NAMES[237] = ELT_VECTOR;
-  ELEMENT_NAMES[238] = ELT_ARTICLE;
-  ELEMENT_NAMES[239] = ELT_ANIMATE;
-  ELEMENT_NAMES[240] = ELT_ARCSECH;
-  ELEMENT_NAMES[241] = ELT_ARCCSCH;
-  ELEMENT_NAMES[242] = ELT_ARCTANH;
-  ELEMENT_NAMES[243] = ELT_ARCSINH;
-  ELEMENT_NAMES[244] = ELT_ARCCOSH;
-  ELEMENT_NAMES[245] = ELT_ARCCOTH;
-  ELEMENT_NAMES[246] = ELT_ACRONYM;
-  ELEMENT_NAMES[247] = ELT_ADDRESS;
-  ELEMENT_NAMES[248] = ELT_BGSOUND;
-  ELEMENT_NAMES[249] = ELT_COMMAND;
-  ELEMENT_NAMES[250] = ELT_COMPOSE;
-  ELEMENT_NAMES[251] = ELT_CEILING;
-  ELEMENT_NAMES[252] = ELT_CSYMBOL;
-  ELEMENT_NAMES[253] = ELT_CAPTION;
-  ELEMENT_NAMES[254] = ELT_DISCARD;
-  ELEMENT_NAMES[255] = ELT_DECLARE;
-  ELEMENT_NAMES[256] = ELT_DETAILS;
-  ELEMENT_NAMES[257] = ELT_ELLIPSE;
-  ELEMENT_NAMES[258] = ELT_FEFUNCA;
-  ELEMENT_NAMES[259] = ELT_FEFUNCB;
-  ELEMENT_NAMES[260] = ELT_FEBLEND;
-  ELEMENT_NAMES[261] = ELT_FEFLOOD;
-  ELEMENT_NAMES[262] = ELT_FEIMAGE;
-  ELEMENT_NAMES[263] = ELT_FEMERGE;
-  ELEMENT_NAMES[264] = ELT_FEFUNCG;
-  ELEMENT_NAMES[265] = ELT_FEFUNCR;
-  ELEMENT_NAMES[266] = ELT_HANDLER;
-  ELEMENT_NAMES[267] = ELT_INVERSE;
-  ELEMENT_NAMES[268] = ELT_IMPLIES;
-  ELEMENT_NAMES[269] = ELT_ISINDEX;
-  ELEMENT_NAMES[270] = ELT_LOGBASE;
-  ELEMENT_NAMES[271] = ELT_LISTING;
-  ELEMENT_NAMES[272] = ELT_MFENCED;
-  ELEMENT_NAMES[273] = ELT_MPADDED;
-  ELEMENT_NAMES[274] = ELT_MARQUEE;
-  ELEMENT_NAMES[275] = ELT_MACTION;
-  ELEMENT_NAMES[276] = ELT_MSUBSUP;
-  ELEMENT_NAMES[277] = ELT_NOEMBED;
-  ELEMENT_NAMES[278] = ELT_POLYGON;
-  ELEMENT_NAMES[279] = ELT_PATTERN;
-  ELEMENT_NAMES[280] = ELT_PRODUCT;
-  ELEMENT_NAMES[281] = ELT_SETDIFF;
-  ELEMENT_NAMES[282] = ELT_SECTION;
-  ELEMENT_NAMES[283] = ELT_TENDSTO;
-  ELEMENT_NAMES[284] = ELT_UPLIMIT;
-  ELEMENT_NAMES[285] = ELT_ALTGLYPH;
-  ELEMENT_NAMES[286] = ELT_BASEFONT;
-  ELEMENT_NAMES[287] = ELT_CLIPPATH;
-  ELEMENT_NAMES[288] = ELT_CODOMAIN;
-  ELEMENT_NAMES[289] = ELT_COLGROUP;
-  ELEMENT_NAMES[290] = ELT_DATAGRID;
-  ELEMENT_NAMES[291] = ELT_EMPTYSET;
-  ELEMENT_NAMES[292] = ELT_FACTOROF;
-  ELEMENT_NAMES[293] = ELT_FIELDSET;
-  ELEMENT_NAMES[294] = ELT_FRAMESET;
-  ELEMENT_NAMES[295] = ELT_FEOFFSET;
-  ELEMENT_NAMES[296] = ELT_GLYPHREF;
-  ELEMENT_NAMES[297] = ELT_INTERVAL;
-  ELEMENT_NAMES[298] = ELT_INTEGERS;
-  ELEMENT_NAMES[299] = ELT_INFINITY;
-  ELEMENT_NAMES[300] = ELT_LISTENER;
-  ELEMENT_NAMES[301] = ELT_LOWLIMIT;
-  ELEMENT_NAMES[302] = ELT_METADATA;
-  ELEMENT_NAMES[303] = ELT_MENCLOSE;
-  ELEMENT_NAMES[304] = ELT_MPHANTOM;
-  ELEMENT_NAMES[305] = ELT_NOFRAMES;
-  ELEMENT_NAMES[306] = ELT_NOSCRIPT;
-  ELEMENT_NAMES[307] = ELT_OPTGROUP;
-  ELEMENT_NAMES[308] = ELT_POLYLINE;
-  ELEMENT_NAMES[309] = ELT_PREFETCH;
-  ELEMENT_NAMES[310] = ELT_PROGRESS;
-  ELEMENT_NAMES[311] = ELT_PRSUBSET;
-  ELEMENT_NAMES[312] = ELT_QUOTIENT;
-  ELEMENT_NAMES[313] = ELT_SELECTOR;
-  ELEMENT_NAMES[314] = ELT_TEXTAREA;
-  ELEMENT_NAMES[315] = ELT_TEXTPATH;
-  ELEMENT_NAMES[316] = ELT_VARIANCE;
-  ELEMENT_NAMES[317] = ELT_ANIMATION;
-  ELEMENT_NAMES[318] = ELT_CONJUGATE;
-  ELEMENT_NAMES[319] = ELT_CONDITION;
-  ELEMENT_NAMES[320] = ELT_COMPLEXES;
-  ELEMENT_NAMES[321] = ELT_FONT_FACE;
-  ELEMENT_NAMES[322] = ELT_FACTORIAL;
-  ELEMENT_NAMES[323] = ELT_INTERSECT;
-  ELEMENT_NAMES[324] = ELT_IMAGINARY;
-  ELEMENT_NAMES[325] = ELT_LAPLACIAN;
-  ELEMENT_NAMES[326] = ELT_MATRIXROW;
-  ELEMENT_NAMES[327] = ELT_NOTSUBSET;
-  ELEMENT_NAMES[328] = ELT_OTHERWISE;
-  ELEMENT_NAMES[329] = ELT_PIECEWISE;
-  ELEMENT_NAMES[330] = ELT_PLAINTEXT;
-  ELEMENT_NAMES[331] = ELT_RATIONALS;
-  ELEMENT_NAMES[332] = ELT_SEMANTICS;
-  ELEMENT_NAMES[333] = ELT_TRANSPOSE;
-  ELEMENT_NAMES[334] = ELT_ANNOTATION;
-  ELEMENT_NAMES[335] = ELT_BLOCKQUOTE;
-  ELEMENT_NAMES[336] = ELT_DIVERGENCE;
-  ELEMENT_NAMES[337] = ELT_EULERGAMMA;
-  ELEMENT_NAMES[338] = ELT_EQUIVALENT;
-  ELEMENT_NAMES[339] = ELT_IMAGINARYI;
-  ELEMENT_NAMES[340] = ELT_MALIGNMARK;
-  ELEMENT_NAMES[341] = ELT_MUNDEROVER;
-  ELEMENT_NAMES[342] = ELT_MLABELEDTR;
-  ELEMENT_NAMES[343] = ELT_NOTANUMBER;
-  ELEMENT_NAMES[344] = ELT_SOLIDCOLOR;
-  ELEMENT_NAMES[345] = ELT_ALTGLYPHDEF;
-  ELEMENT_NAMES[346] = ELT_DETERMINANT;
-  ELEMENT_NAMES[347] = ELT_FEMERGENODE;
-  ELEMENT_NAMES[348] = ELT_FECOMPOSITE;
-  ELEMENT_NAMES[349] = ELT_FESPOTLIGHT;
-  ELEMENT_NAMES[350] = ELT_MALIGNGROUP;
-  ELEMENT_NAMES[351] = ELT_MPRESCRIPTS;
-  ELEMENT_NAMES[352] = ELT_MOMENTABOUT;
-  ELEMENT_NAMES[353] = ELT_NOTPRSUBSET;
-  ELEMENT_NAMES[354] = ELT_PARTIALDIFF;
-  ELEMENT_NAMES[355] = ELT_ALTGLYPHITEM;
-  ELEMENT_NAMES[356] = ELT_ANIMATECOLOR;
-  ELEMENT_NAMES[357] = ELT_DATATEMPLATE;
-  ELEMENT_NAMES[358] = ELT_EXPONENTIALE;
-  ELEMENT_NAMES[359] = ELT_FETURBULENCE;
-  ELEMENT_NAMES[360] = ELT_FEPOINTLIGHT;
-  ELEMENT_NAMES[361] = ELT_FEMORPHOLOGY;
-  ELEMENT_NAMES[362] = ELT_OUTERPRODUCT;
-  ELEMENT_NAMES[363] = ELT_ANIMATEMOTION;
-  ELEMENT_NAMES[364] = ELT_COLOR_PROFILE;
-  ELEMENT_NAMES[365] = ELT_FONT_FACE_SRC;
-  ELEMENT_NAMES[366] = ELT_FONT_FACE_URI;
-  ELEMENT_NAMES[367] = ELT_FOREIGNOBJECT;
-  ELEMENT_NAMES[368] = ELT_FECOLORMATRIX;
-  ELEMENT_NAMES[369] = ELT_MISSING_GLYPH;
-  ELEMENT_NAMES[370] = ELT_MMULTISCRIPTS;
-  ELEMENT_NAMES[371] = ELT_SCALARPRODUCT;
-  ELEMENT_NAMES[372] = ELT_VECTORPRODUCT;
-  ELEMENT_NAMES[373] = ELT_ANNOTATION_XML;
-  ELEMENT_NAMES[374] = ELT_DEFINITION_SRC;
-  ELEMENT_NAMES[375] = ELT_FONT_FACE_NAME;
-  ELEMENT_NAMES[376] = ELT_FEGAUSSIANBLUR;
-  ELEMENT_NAMES[377] = ELT_FEDISTANTLIGHT;
-  ELEMENT_NAMES[378] = ELT_LINEARGRADIENT;
-  ELEMENT_NAMES[379] = ELT_NATURALNUMBERS;
-  ELEMENT_NAMES[380] = ELT_RADIALGRADIENT;
-  ELEMENT_NAMES[381] = ELT_ANIMATETRANSFORM;
-  ELEMENT_NAMES[382] = ELT_CARTESIANPRODUCT;
-  ELEMENT_NAMES[383] = ELT_FONT_FACE_FORMAT;
-  ELEMENT_NAMES[384] = ELT_FECONVOLVEMATRIX;
-  ELEMENT_NAMES[385] = ELT_FEDIFFUSELIGHTING;
-  ELEMENT_NAMES[386] = ELT_FEDISPLACEMENTMAP;
-  ELEMENT_NAMES[387] = ELT_FESPECULARLIGHTING;
-  ELEMENT_NAMES[388] = ELT_DOMAINOFAPPLICATION;
-  ELEMENT_NAMES[389] = ELT_FECOMPONENTTRANSFER;
-  ELEMENT_HASHES = jArray<PRInt32,PRInt32>((PRInt32*)ELEMENT_HASHES_DATA, 390);
+  ELEMENT_NAMES[232] = ELT_SELECT;
+  ELEMENT_NAMES[233] = ELT_SUBSET;
+  ELEMENT_NAMES[234] = ELT_SCRIPT;
+  ELEMENT_NAMES[235] = ELT_TBREAK;
+  ELEMENT_NAMES[236] = ELT_VECTOR;
+  ELEMENT_NAMES[237] = ELT_ARTICLE;
+  ELEMENT_NAMES[238] = ELT_ANIMATE;
+  ELEMENT_NAMES[239] = ELT_ARCSECH;
+  ELEMENT_NAMES[240] = ELT_ARCCSCH;
+  ELEMENT_NAMES[241] = ELT_ARCTANH;
+  ELEMENT_NAMES[242] = ELT_ARCSINH;
+  ELEMENT_NAMES[243] = ELT_ARCCOSH;
+  ELEMENT_NAMES[244] = ELT_ARCCOTH;
+  ELEMENT_NAMES[245] = ELT_ACRONYM;
+  ELEMENT_NAMES[246] = ELT_ADDRESS;
+  ELEMENT_NAMES[247] = ELT_BGSOUND;
+  ELEMENT_NAMES[248] = ELT_COMMAND;
+  ELEMENT_NAMES[249] = ELT_COMPOSE;
+  ELEMENT_NAMES[250] = ELT_CEILING;
+  ELEMENT_NAMES[251] = ELT_CSYMBOL;
+  ELEMENT_NAMES[252] = ELT_CAPTION;
+  ELEMENT_NAMES[253] = ELT_DISCARD;
+  ELEMENT_NAMES[254] = ELT_DECLARE;
+  ELEMENT_NAMES[255] = ELT_DETAILS;
+  ELEMENT_NAMES[256] = ELT_ELLIPSE;
+  ELEMENT_NAMES[257] = ELT_FEFUNCA;
+  ELEMENT_NAMES[258] = ELT_FEFUNCB;
+  ELEMENT_NAMES[259] = ELT_FEBLEND;
+  ELEMENT_NAMES[260] = ELT_FEFLOOD;
+  ELEMENT_NAMES[261] = ELT_FEIMAGE;
+  ELEMENT_NAMES[262] = ELT_FEMERGE;
+  ELEMENT_NAMES[263] = ELT_FEFUNCG;
+  ELEMENT_NAMES[264] = ELT_FEFUNCR;
+  ELEMENT_NAMES[265] = ELT_HANDLER;
+  ELEMENT_NAMES[266] = ELT_INVERSE;
+  ELEMENT_NAMES[267] = ELT_IMPLIES;
+  ELEMENT_NAMES[268] = ELT_ISINDEX;
+  ELEMENT_NAMES[269] = ELT_LOGBASE;
+  ELEMENT_NAMES[270] = ELT_LISTING;
+  ELEMENT_NAMES[271] = ELT_MFENCED;
+  ELEMENT_NAMES[272] = ELT_MPADDED;
+  ELEMENT_NAMES[273] = ELT_MARQUEE;
+  ELEMENT_NAMES[274] = ELT_MACTION;
+  ELEMENT_NAMES[275] = ELT_MSUBSUP;
+  ELEMENT_NAMES[276] = ELT_NOEMBED;
+  ELEMENT_NAMES[277] = ELT_POLYGON;
+  ELEMENT_NAMES[278] = ELT_PATTERN;
+  ELEMENT_NAMES[279] = ELT_PRODUCT;
+  ELEMENT_NAMES[280] = ELT_SETDIFF;
+  ELEMENT_NAMES[281] = ELT_SECTION;
+  ELEMENT_NAMES[282] = ELT_TENDSTO;
+  ELEMENT_NAMES[283] = ELT_UPLIMIT;
+  ELEMENT_NAMES[284] = ELT_ALTGLYPH;
+  ELEMENT_NAMES[285] = ELT_BASEFONT;
+  ELEMENT_NAMES[286] = ELT_CLIPPATH;
+  ELEMENT_NAMES[287] = ELT_CODOMAIN;
+  ELEMENT_NAMES[288] = ELT_COLGROUP;
+  ELEMENT_NAMES[289] = ELT_DATAGRID;
+  ELEMENT_NAMES[290] = ELT_EMPTYSET;
+  ELEMENT_NAMES[291] = ELT_FACTOROF;
+  ELEMENT_NAMES[292] = ELT_FIELDSET;
+  ELEMENT_NAMES[293] = ELT_FRAMESET;
+  ELEMENT_NAMES[294] = ELT_FEOFFSET;
+  ELEMENT_NAMES[295] = ELT_GLYPHREF;
+  ELEMENT_NAMES[296] = ELT_INTERVAL;
+  ELEMENT_NAMES[297] = ELT_INTEGERS;
+  ELEMENT_NAMES[298] = ELT_INFINITY;
+  ELEMENT_NAMES[299] = ELT_LISTENER;
+  ELEMENT_NAMES[300] = ELT_LOWLIMIT;
+  ELEMENT_NAMES[301] = ELT_METADATA;
+  ELEMENT_NAMES[302] = ELT_MENCLOSE;
+  ELEMENT_NAMES[303] = ELT_MPHANTOM;
+  ELEMENT_NAMES[304] = ELT_NOFRAMES;
+  ELEMENT_NAMES[305] = ELT_NOSCRIPT;
+  ELEMENT_NAMES[306] = ELT_OPTGROUP;
+  ELEMENT_NAMES[307] = ELT_POLYLINE;
+  ELEMENT_NAMES[308] = ELT_PREFETCH;
+  ELEMENT_NAMES[309] = ELT_PROGRESS;
+  ELEMENT_NAMES[310] = ELT_PRSUBSET;
+  ELEMENT_NAMES[311] = ELT_QUOTIENT;
+  ELEMENT_NAMES[312] = ELT_SELECTOR;
+  ELEMENT_NAMES[313] = ELT_TEXTAREA;
+  ELEMENT_NAMES[314] = ELT_TEXTPATH;
+  ELEMENT_NAMES[315] = ELT_VARIANCE;
+  ELEMENT_NAMES[316] = ELT_ANIMATION;
+  ELEMENT_NAMES[317] = ELT_CONJUGATE;
+  ELEMENT_NAMES[318] = ELT_CONDITION;
+  ELEMENT_NAMES[319] = ELT_COMPLEXES;
+  ELEMENT_NAMES[320] = ELT_FONT_FACE;
+  ELEMENT_NAMES[321] = ELT_FACTORIAL;
+  ELEMENT_NAMES[322] = ELT_INTERSECT;
+  ELEMENT_NAMES[323] = ELT_IMAGINARY;
+  ELEMENT_NAMES[324] = ELT_LAPLACIAN;
+  ELEMENT_NAMES[325] = ELT_MATRIXROW;
+  ELEMENT_NAMES[326] = ELT_NOTSUBSET;
+  ELEMENT_NAMES[327] = ELT_OTHERWISE;
+  ELEMENT_NAMES[328] = ELT_PIECEWISE;
+  ELEMENT_NAMES[329] = ELT_PLAINTEXT;
+  ELEMENT_NAMES[330] = ELT_RATIONALS;
+  ELEMENT_NAMES[331] = ELT_SEMANTICS;
+  ELEMENT_NAMES[332] = ELT_TRANSPOSE;
+  ELEMENT_NAMES[333] = ELT_ANNOTATION;
+  ELEMENT_NAMES[334] = ELT_BLOCKQUOTE;
+  ELEMENT_NAMES[335] = ELT_DIVERGENCE;
+  ELEMENT_NAMES[336] = ELT_EULERGAMMA;
+  ELEMENT_NAMES[337] = ELT_EQUIVALENT;
+  ELEMENT_NAMES[338] = ELT_IMAGINARYI;
+  ELEMENT_NAMES[339] = ELT_MALIGNMARK;
+  ELEMENT_NAMES[340] = ELT_MUNDEROVER;
+  ELEMENT_NAMES[341] = ELT_MLABELEDTR;
+  ELEMENT_NAMES[342] = ELT_NOTANUMBER;
+  ELEMENT_NAMES[343] = ELT_SOLIDCOLOR;
+  ELEMENT_NAMES[344] = ELT_ALTGLYPHDEF;
+  ELEMENT_NAMES[345] = ELT_DETERMINANT;
+  ELEMENT_NAMES[346] = ELT_FEMERGENODE;
+  ELEMENT_NAMES[347] = ELT_FECOMPOSITE;
+  ELEMENT_NAMES[348] = ELT_FESPOTLIGHT;
+  ELEMENT_NAMES[349] = ELT_MALIGNGROUP;
+  ELEMENT_NAMES[350] = ELT_MPRESCRIPTS;
+  ELEMENT_NAMES[351] = ELT_MOMENTABOUT;
+  ELEMENT_NAMES[352] = ELT_NOTPRSUBSET;
+  ELEMENT_NAMES[353] = ELT_PARTIALDIFF;
+  ELEMENT_NAMES[354] = ELT_ALTGLYPHITEM;
+  ELEMENT_NAMES[355] = ELT_ANIMATECOLOR;
+  ELEMENT_NAMES[356] = ELT_DATATEMPLATE;
+  ELEMENT_NAMES[357] = ELT_EXPONENTIALE;
+  ELEMENT_NAMES[358] = ELT_FETURBULENCE;
+  ELEMENT_NAMES[359] = ELT_FEPOINTLIGHT;
+  ELEMENT_NAMES[360] = ELT_FEMORPHOLOGY;
+  ELEMENT_NAMES[361] = ELT_OUTERPRODUCT;
+  ELEMENT_NAMES[362] = ELT_ANIMATEMOTION;
+  ELEMENT_NAMES[363] = ELT_COLOR_PROFILE;
+  ELEMENT_NAMES[364] = ELT_FONT_FACE_SRC;
+  ELEMENT_NAMES[365] = ELT_FONT_FACE_URI;
+  ELEMENT_NAMES[366] = ELT_FOREIGNOBJECT;
+  ELEMENT_NAMES[367] = ELT_FECOLORMATRIX;
+  ELEMENT_NAMES[368] = ELT_MISSING_GLYPH;
+  ELEMENT_NAMES[369] = ELT_MMULTISCRIPTS;
+  ELEMENT_NAMES[370] = ELT_SCALARPRODUCT;
+  ELEMENT_NAMES[371] = ELT_VECTORPRODUCT;
+  ELEMENT_NAMES[372] = ELT_ANNOTATION_XML;
+  ELEMENT_NAMES[373] = ELT_DEFINITION_SRC;
+  ELEMENT_NAMES[374] = ELT_FONT_FACE_NAME;
+  ELEMENT_NAMES[375] = ELT_FEGAUSSIANBLUR;
+  ELEMENT_NAMES[376] = ELT_FEDISTANTLIGHT;
+  ELEMENT_NAMES[377] = ELT_LINEARGRADIENT;
+  ELEMENT_NAMES[378] = ELT_NATURALNUMBERS;
+  ELEMENT_NAMES[379] = ELT_RADIALGRADIENT;
+  ELEMENT_NAMES[380] = ELT_ANIMATETRANSFORM;
+  ELEMENT_NAMES[381] = ELT_CARTESIANPRODUCT;
+  ELEMENT_NAMES[382] = ELT_FONT_FACE_FORMAT;
+  ELEMENT_NAMES[383] = ELT_FECONVOLVEMATRIX;
+  ELEMENT_NAMES[384] = ELT_FEDIFFUSELIGHTING;
+  ELEMENT_NAMES[385] = ELT_FEDISPLACEMENTMAP;
+  ELEMENT_NAMES[386] = ELT_FESPECULARLIGHTING;
+  ELEMENT_NAMES[387] = ELT_DOMAINOFAPPLICATION;
+  ELEMENT_NAMES[388] = ELT_FECOMPONENTTRANSFER;
+  ELEMENT_HASHES = jArray<PRInt32,PRInt32>((PRInt32*)ELEMENT_HASHES_DATA, 389);
 }
 
 void
 nsHtml5ElementName::releaseStatics()
 {
   delete ELT_NULL_ELEMENT_NAME;
   delete ELT_A;
   delete ELT_B;
@@ -1153,17 +1151,16 @@ nsHtml5ElementName::releaseStatics()
   delete ELT_OBJECT;
   delete ELT_OUTPUT;
   delete ELT_PRIMES;
   delete ELT_SOURCE;
   delete ELT_STRIKE;
   delete ELT_STRONG;
   delete ELT_SWITCH;
   delete ELT_SYMBOL;
-  delete ELT_SPACER;
   delete ELT_SELECT;
   delete ELT_SUBSET;
   delete ELT_SCRIPT;
   delete ELT_TBREAK;
   delete ELT_VECTOR;
   delete ELT_ARTICLE;
   delete ELT_ANIMATE;
   delete ELT_ARCSECH;
--- a/parser/html/nsHtml5ElementName.h
+++ b/parser/html/nsHtml5ElementName.h
@@ -1,10 +1,10 @@
 /*
- * Copyright (c) 2008 Mozilla Foundation
+ * Copyright (c) 2008-2010 Mozilla Foundation
  *
  * Permission is hereby granted, free of charge, to any person obtaining a 
  * copy of this software and associated documentation files (the "Software"), 
  * to deal in the Software without restriction, including without limitation 
  * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
  * and/or sell copies of the Software, and to permit persons to whom the 
  * Software is furnished to do so, subject to the following conditions:
  *
@@ -306,17 +306,16 @@ class nsHtml5ElementName
     static nsHtml5ElementName* ELT_OBJECT;
     static nsHtml5ElementName* ELT_OUTPUT;
     static nsHtml5ElementName* ELT_PRIMES;
     static nsHtml5ElementName* ELT_SOURCE;
     static nsHtml5ElementName* ELT_STRIKE;
     static nsHtml5ElementName* ELT_STRONG;
     static nsHtml5ElementName* ELT_SWITCH;
     static nsHtml5ElementName* ELT_SYMBOL;
-    static nsHtml5ElementName* ELT_SPACER;
     static nsHtml5ElementName* ELT_SELECT;
     static nsHtml5ElementName* ELT_SUBSET;
     static nsHtml5ElementName* ELT_SCRIPT;
     static nsHtml5ElementName* ELT_TBREAK;
     static nsHtml5ElementName* ELT_VECTOR;
     static nsHtml5ElementName* ELT_ARTICLE;
     static nsHtml5ElementName* ELT_ANIMATE;
     static nsHtml5ElementName* ELT_ARCSECH;
@@ -706,17 +705,16 @@ nsHtml5ElementName* nsHtml5ElementName::
 nsHtml5ElementName* nsHtml5ElementName::ELT_OBJECT = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_OUTPUT = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_PRIMES = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SOURCE = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_STRIKE = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_STRONG = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SWITCH = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SYMBOL = nsnull;
-nsHtml5ElementName* nsHtml5ElementName::ELT_SPACER = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SELECT = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SUBSET = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SCRIPT = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TBREAK = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_VECTOR = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_ARTICLE = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_ANIMATE = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_ARCSECH = nsnull;
--- a/parser/html/nsHtml5TreeBuilder.cpp
+++ b/parser/html/nsHtml5TreeBuilder.cpp
@@ -874,17 +874,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
           }
           case NS_HTML5TREE_BUILDER_PRE_OR_LISTING:
           case NS_HTML5TREE_BUILDER_LI:
           case NS_HTML5TREE_BUILDER_DD_OR_DT:
           case NS_HTML5TREE_BUILDER_BUTTON:
           case NS_HTML5TREE_BUILDER_MARQUEE_OR_APPLET:
           case NS_HTML5TREE_BUILDER_OBJECT:
           case NS_HTML5TREE_BUILDER_TABLE:
-          case NS_HTML5TREE_BUILDER_AREA_OR_SPACER_OR_WBR:
+          case NS_HTML5TREE_BUILDER_AREA_OR_WBR:
           case NS_HTML5TREE_BUILDER_BR:
           case NS_HTML5TREE_BUILDER_EMBED_OR_IMG:
           case NS_HTML5TREE_BUILDER_INPUT:
           case NS_HTML5TREE_BUILDER_KEYGEN:
           case NS_HTML5TREE_BUILDER_HR:
           case NS_HTML5TREE_BUILDER_TEXTAREA:
           case NS_HTML5TREE_BUILDER_XMP:
           case NS_HTML5TREE_BUILDER_IFRAME:
@@ -1070,17 +1070,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
               }
               appendToCurrentNodeAndPushElementMayFoster(kNameSpaceID_XHTML, elementName, attributes);
               mode = NS_HTML5TREE_BUILDER_IN_TABLE;
               attributes = nsnull;
               NS_HTML5_BREAK(starttagloop);
             }
             case NS_HTML5TREE_BUILDER_BR:
             case NS_HTML5TREE_BUILDER_EMBED_OR_IMG:
-            case NS_HTML5TREE_BUILDER_AREA_OR_SPACER_OR_WBR: {
+            case NS_HTML5TREE_BUILDER_AREA_OR_WBR: {
               reconstructTheActiveFormattingElements();
             }
             case NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE: {
               appendVoidElementToCurrentMayFoster(kNameSpaceID_XHTML, elementName, attributes);
               selfClosing = PR_FALSE;
               attributes = nsnull;
               NS_HTML5_BREAK(starttagloop);
             }
@@ -2387,17 +2387,17 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
                 pop();
               }
               inForeign = PR_FALSE;
             }
             reconstructTheActiveFormattingElements();
             appendVoidElementToCurrentMayFoster(kNameSpaceID_XHTML, elementName, nsHtml5HtmlAttributes::EMPTY_ATTRIBUTES);
             NS_HTML5_BREAK(endtagloop);
           }
-          case NS_HTML5TREE_BUILDER_AREA_OR_SPACER_OR_WBR:
+          case NS_HTML5TREE_BUILDER_AREA_OR_WBR:
           case NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE:
           case NS_HTML5TREE_BUILDER_EMBED_OR_IMG:
           case NS_HTML5TREE_BUILDER_IMAGE:
           case NS_HTML5TREE_BUILDER_INPUT:
           case NS_HTML5TREE_BUILDER_KEYGEN:
           case NS_HTML5TREE_BUILDER_HR:
           case NS_HTML5TREE_BUILDER_ISINDEX:
           case NS_HTML5TREE_BUILDER_IFRAME:
--- a/parser/html/nsHtml5TreeBuilder.h
+++ b/parser/html/nsHtml5TreeBuilder.h
@@ -289,17 +289,17 @@ jArray<const char*,PRInt32> nsHtml5TreeB
 #define NS_HTML5TREE_BUILDER_DD_OR_DT 41
 #define NS_HTML5TREE_BUILDER_H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 42
 #define NS_HTML5TREE_BUILDER_MARQUEE_OR_APPLET 43
 #define NS_HTML5TREE_BUILDER_PRE_OR_LISTING 44
 #define NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U 45
 #define NS_HTML5TREE_BUILDER_UL_OR_OL_OR_DL 46
 #define NS_HTML5TREE_BUILDER_IFRAME 47
 #define NS_HTML5TREE_BUILDER_EMBED_OR_IMG 48
-#define NS_HTML5TREE_BUILDER_AREA_OR_SPACER_OR_WBR 49
+#define NS_HTML5TREE_BUILDER_AREA_OR_WBR 49
 #define NS_HTML5TREE_BUILDER_DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU 50
 #define NS_HTML5TREE_BUILDER_ADDRESS_OR_DIR_OR_ARTICLE_OR_ASIDE_OR_DATAGRID_OR_DETAILS_OR_HGROUP_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_NAV_OR_SECTION 51
 #define NS_HTML5TREE_BUILDER_RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR 52
 #define NS_HTML5TREE_BUILDER_RT_OR_RP 53
 #define NS_HTML5TREE_BUILDER_COMMAND 54
 #define NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE 55
 #define NS_HTML5TREE_BUILDER_MGLYPH_OR_MALIGNMARK 56
 #define NS_HTML5TREE_BUILDER_MI_MO_MN_MS_MTEXT 57