Bug 620664 - Add support for the track element to the HTML5 parser. r=hsivonen, a=jst.
authorMichael(tm) Smith <mike@w3.org>
Wed, 12 Jan 2011 10:05:09 +0200
changeset 60374 912a9991c5c63a7993b39110a85288c0bdec6221
parent 60373 6b2bd606ed82764e200cd7e0c2777ba367a9157b
child 60375 9497c130868816b72203344404bc4e0cf2262b38
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewershsivonen, jst
bugs620664
milestone2.0b10pre
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 620664 - Add support for the track element to the HTML5 parser. r=hsivonen, 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
@@ -347,18 +347,18 @@ public final class ElementName
 //            case TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY:
 //                return "ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY";
 //            case TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR:
 //                return "RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR";
 //            case TreeBuilder.RT_OR_RP:
 //                return "RT_OR_RP";
 //            case TreeBuilder.COMMAND:
 //                return "COMMAND";
-//            case TreeBuilder.PARAM_OR_SOURCE:
-//                return "PARAM_OR_SOURCE";
+//            case TreeBuilder.PARAM_OR_SOURCE_OR_TRACK:
+//                return "PARAM_OR_SOURCE_OR_TRACK";
 //            case TreeBuilder.MGLYPH_OR_MALIGNMARK:
 //                return "MGLYPH_OR_MALIGNMARK";
 //            case TreeBuilder.MI_MO_MN_MS_MTEXT:
 //                return "MI_MO_MN_MS_MTEXT";
 //            case TreeBuilder.ANNOTATION_XML:
 //                return "ANNOTATION_XML";
 //            case TreeBuilder.FOREIGNOBJECT_OR_DESC:
 //                return "FOREIGNOBJECT_OR_DESC";
@@ -566,24 +566,25 @@ public final class ElementName
     public static final ElementName METER = new ElementName("meter", "meter", TreeBuilder.OTHER);
     public static final ElementName MOVER = new ElementName("mover", "mover", TreeBuilder.OTHER);
     public static final ElementName MINUS = new ElementName("minus", "minus", TreeBuilder.OTHER);
     public static final ElementName MROOT = new ElementName("mroot", "mroot", TreeBuilder.OTHER);
     public static final ElementName MSQRT = new ElementName("msqrt", "msqrt", TreeBuilder.OTHER);
     public static final ElementName MTEXT = new ElementName("mtext", "mtext", TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML);
     public static final ElementName NOTIN = new ElementName("notin", "notin", TreeBuilder.OTHER);
     public static final ElementName PIECE = new ElementName("piece", "piece", TreeBuilder.OTHER);
-    public static final ElementName PARAM = new ElementName("param", "param", TreeBuilder.PARAM_OR_SOURCE | SPECIAL);
+    public static final ElementName PARAM = new ElementName("param", "param", TreeBuilder.PARAM_OR_SOURCE_OR_TRACK | SPECIAL);
     public static final ElementName POWER = new ElementName("power", "power", TreeBuilder.OTHER);
     public static final ElementName REALS = new ElementName("reals", "reals", TreeBuilder.OTHER);
     public static final ElementName STYLE = new ElementName("style", "style", TreeBuilder.STYLE | SPECIAL);
     public static final ElementName SMALL = new ElementName("small", "small", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
     public static final ElementName THEAD = new ElementName("thead", "thead", TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING);
     public static final ElementName TABLE = new ElementName("table", "table", TreeBuilder.TABLE | SPECIAL | FOSTER_PARENTING | SCOPING);
     public static final ElementName TITLE = new ElementName("title", "title", TreeBuilder.TITLE | SPECIAL | SCOPING_AS_SVG);
+    public static final ElementName TRACK = new ElementName("track", "track", TreeBuilder.PARAM_OR_SOURCE_OR_TRACK);
     public static final ElementName TSPAN = new ElementName("tspan", "tspan", TreeBuilder.OTHER);
     public static final ElementName TIMES = new ElementName("times", "times", TreeBuilder.OTHER);
     public static final ElementName TFOOT = new ElementName("tfoot", "tfoot", TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING);
     public static final ElementName TBODY = new ElementName("tbody", "tbody", TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING);
     public static final ElementName UNION = new ElementName("union", "union", TreeBuilder.OTHER);
     public static final ElementName VKERN = new ElementName("vkern", "vkern", TreeBuilder.OTHER);
     public static final ElementName VIDEO = new ElementName("video", "video", TreeBuilder.OTHER);
     public static final ElementName ARCSEC = new ElementName("arcsec", "arcsec", TreeBuilder.OTHER);
@@ -623,17 +624,17 @@ public final class ElementName
     public static final ElementName MARKER = new ElementName("marker", "marker", TreeBuilder.OTHER);
     public static final ElementName MERROR = new ElementName("merror", "merror", TreeBuilder.OTHER);
     public static final ElementName MOMENT = new ElementName("moment", "moment", TreeBuilder.OTHER);
     public static final ElementName MATRIX = new ElementName("matrix", "matrix", TreeBuilder.OTHER);
     public static final ElementName OPTION = new ElementName("option", "option", TreeBuilder.OPTION);
     public static final ElementName OBJECT = new ElementName("object", "object", TreeBuilder.OBJECT | SPECIAL | SCOPING);
     public static final ElementName OUTPUT = new ElementName("output", "output", TreeBuilder.OUTPUT_OR_LABEL);
     public static final ElementName PRIMES = new ElementName("primes", "primes", TreeBuilder.OTHER);
-    public static final ElementName SOURCE = new ElementName("source", "source", TreeBuilder.PARAM_OR_SOURCE);
+    public static final ElementName SOURCE = new ElementName("source", "source", TreeBuilder.PARAM_OR_SOURCE_OR_TRACK);
     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);
     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);
     public static final ElementName SWITCH = new ElementName("switch", "switch", TreeBuilder.OTHER);
     public static final ElementName SYMBOL = new ElementName("symbol", "symbol", TreeBuilder.OTHER);
     public static final ElementName SELECT = new ElementName("select", "select", TreeBuilder.SELECT | SPECIAL);
     public static final ElementName SUBSET = new ElementName("subset", "subset", TreeBuilder.OTHER);
     public static final ElementName SCRIPT = new ElementName("script", "script", TreeBuilder.SCRIPT | SPECIAL);
     public static final ElementName TBREAK = new ElementName("tbreak", "tbreak", TreeBuilder.OTHER);
@@ -965,16 +966,17 @@ public final class ElementName
     PARAM,
     POWER,
     REALS,
     STYLE,
     SMALL,
     THEAD,
     TABLE,
     TITLE,
+    TRACK,
     TSPAN,
     TIMES,
     TFOOT,
     TBODY,
     UNION,
     VKERN,
     VIDEO,
     ARCSEC,
@@ -1357,16 +1359,17 @@ public final class ElementName
     184976961,
     185145071,
     187281445,
     187872052,
     188100653,
     188875944,
     188919873,
     188920457,
+    189107250,
     189203987,
     189371817,
     189414886,
     189567458,
     190266670,
     191318187,
     191337609,
     202479203,
--- a/parser/html/javasrc/TreeBuilder.java
+++ b/parser/html/javasrc/TreeBuilder.java
@@ -171,17 +171,17 @@ public abstract class TreeBuilder<T> imp
     final static int ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY = 51;
 
     final static int RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR = 52;
 
     final static int RT_OR_RP = 53;
 
     final static int COMMAND = 54;
 
-    final static int PARAM_OR_SOURCE = 55;
+    final static int PARAM_OR_SOURCE_OR_TRACK = 55;
 
     final static int MGLYPH_OR_MALIGNMARK = 56;
 
     final static int MI_MO_MN_MS_MTEXT = 57;
 
     final static int ANNOTATION_XML = 58;
 
     final static int FOREIGNOBJECT_OR_DESC = 59;
@@ -2008,18 +2008,18 @@ public abstract class TreeBuilder<T> imp
                                         attributes);
                                 mode = IN_TABLE;
                                 attributes = null; // CPP
                                 break starttagloop;
                             case BR:
                             case EMBED_OR_IMG:
                             case AREA_OR_WBR:
                                 reconstructTheActiveFormattingElements();
-                                // FALL THROUGH to PARAM_OR_SOURCE
-                            case PARAM_OR_SOURCE:
+                                // FALL THROUGH to PARAM_OR_SOURCE_OR_TRACK
+                            case PARAM_OR_SOURCE_OR_TRACK:
                                 appendVoidElementToCurrentMayFoster(
                                         elementName,
                                         attributes);
                                 selfClosing = false;
                                 attributes = null; // CPP
                                 break starttagloop;
                             case HR:
                                 implicitlyCloseP();
@@ -3499,17 +3499,17 @@ public abstract class TreeBuilder<T> imp
                                 }
                             }
                             reconstructTheActiveFormattingElements();
                             appendVoidElementToCurrentMayFoster(
                                     elementName,
                                     HtmlAttributes.EMPTY_ATTRIBUTES);
                             break endtagloop;
                         case AREA_OR_WBR:
-                        case PARAM_OR_SOURCE:
+                        case PARAM_OR_SOURCE_OR_TRACK:
                         case EMBED_OR_IMG:
                         case IMAGE:
                         case INPUT:
                         case KEYGEN: // XXX??
                         case HR:
                         case ISINDEX:
                         case IFRAME:
                         case NOEMBED: // XXX???
--- a/parser/html/nsHtml5AtomList.h
+++ b/parser/html/nsHtml5AtomList.h
@@ -840,16 +840,17 @@ HTML5_ATOM(mroot, "mroot")
 HTML5_ATOM(msqrt, "msqrt")
 HTML5_ATOM(mtext, "mtext")
 HTML5_ATOM(notin, "notin")
 HTML5_ATOM(piece, "piece")
 HTML5_ATOM(param, "param")
 HTML5_ATOM(power, "power")
 HTML5_ATOM(reals, "reals")
 HTML5_ATOM(small_, "small")
+HTML5_ATOM(track, "track")
 HTML5_ATOM(tspan, "tspan")
 HTML5_ATOM(times, "times")
 HTML5_ATOM(union_, "union")
 HTML5_ATOM(vkern, "vkern")
 HTML5_ATOM(video, "video")
 HTML5_ATOM(arcsec, "arcsec")
 HTML5_ATOM(arccsc, "arccsc")
 HTML5_ATOM(arctan, "arctan")
--- a/parser/html/nsHtml5ElementName.cpp
+++ b/parser/html/nsHtml5ElementName.cpp
@@ -306,16 +306,17 @@ nsHtml5ElementName* nsHtml5ElementName::
 nsHtml5ElementName* nsHtml5ElementName::ELT_PARAM = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_POWER = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_REALS = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_STYLE = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SMALL = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_THEAD = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TABLE = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TITLE = nsnull;
+nsHtml5ElementName* nsHtml5ElementName::ELT_TRACK = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TSPAN = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TIMES = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TFOOT = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TBODY = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_UNION = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_VKERN = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_VIDEO = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_ARCSEC = nsnull;
@@ -519,17 +520,17 @@ nsHtml5ElementName* nsHtml5ElementName::
 nsHtml5ElementName* nsHtml5ElementName::ELT_FONT_FACE_FORMAT = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FECONVOLVEMATRIX = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FEDIFFUSELIGHTING = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FEDISPLACEMENTMAP = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FESPECULARLIGHTING = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_DOMAINOFAPPLICATION = nsnull;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FECOMPONENTTRANSFER = nsnull;
 nsHtml5ElementName** nsHtml5ElementName::ELEMENT_NAMES = 0;
-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, 255641645, 256365156, 257566121, 269763372, 271202790, 271863856, 272049197, 272127474, 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, 342310196, 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, 189107250, 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, 255641645, 256365156, 257566121, 269763372, 271202790, 271863856, 272049197, 272127474, 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, 342310196, 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 };
 staticJArray<PRInt32,PRInt32> nsHtml5ElementName::ELEMENT_HASHES = { ELEMENT_HASHES_DATA, NS_ARRAY_LENGTH(ELEMENT_HASHES_DATA) };
 void
 nsHtml5ElementName::initializeStatics()
 {
   ELT_NULL_ELEMENT_NAME = new nsHtml5ElementName(nsnull);
   ELT_A = new nsHtml5ElementName(nsHtml5Atoms::a, nsHtml5Atoms::a, NS_HTML5TREE_BUILDER_A);
   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);
   ELT_G = new nsHtml5ElementName(nsHtml5Atoms::g, nsHtml5Atoms::g, NS_HTML5TREE_BUILDER_OTHER);
@@ -695,24 +696,25 @@ nsHtml5ElementName::initializeStatics()
   ELT_METER = new nsHtml5ElementName(nsHtml5Atoms::meter, nsHtml5Atoms::meter, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MOVER = new nsHtml5ElementName(nsHtml5Atoms::mover, nsHtml5Atoms::mover, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MINUS = new nsHtml5ElementName(nsHtml5Atoms::minus, nsHtml5Atoms::minus, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MROOT = new nsHtml5ElementName(nsHtml5Atoms::mroot, nsHtml5Atoms::mroot, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MSQRT = new nsHtml5ElementName(nsHtml5Atoms::msqrt, nsHtml5Atoms::msqrt, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MTEXT = new nsHtml5ElementName(nsHtml5Atoms::mtext, nsHtml5Atoms::mtext, NS_HTML5TREE_BUILDER_MI_MO_MN_MS_MTEXT | NS_HTML5ELEMENT_NAME_SCOPING_AS_MATHML);
   ELT_NOTIN = new nsHtml5ElementName(nsHtml5Atoms::notin, nsHtml5Atoms::notin, NS_HTML5TREE_BUILDER_OTHER);
   ELT_PIECE = new nsHtml5ElementName(nsHtml5Atoms::piece, nsHtml5Atoms::piece, NS_HTML5TREE_BUILDER_OTHER);
-  ELT_PARAM = new nsHtml5ElementName(nsHtml5Atoms::param, nsHtml5Atoms::param, NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE | NS_HTML5ELEMENT_NAME_SPECIAL);
+  ELT_PARAM = new nsHtml5ElementName(nsHtml5Atoms::param, nsHtml5Atoms::param, NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE_OR_TRACK | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_POWER = new nsHtml5ElementName(nsHtml5Atoms::power, nsHtml5Atoms::power, NS_HTML5TREE_BUILDER_OTHER);
   ELT_REALS = new nsHtml5ElementName(nsHtml5Atoms::reals, nsHtml5Atoms::reals, NS_HTML5TREE_BUILDER_OTHER);
   ELT_STYLE = new nsHtml5ElementName(nsHtml5Atoms::style, nsHtml5Atoms::style, NS_HTML5TREE_BUILDER_STYLE | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_SMALL = new nsHtml5ElementName(nsHtml5Atoms::small_, nsHtml5Atoms::small_, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
   ELT_THEAD = new nsHtml5ElementName(nsHtml5Atoms::thead, nsHtml5Atoms::thead, NS_HTML5TREE_BUILDER_TBODY_OR_THEAD_OR_TFOOT | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_FOSTER_PARENTING);
   ELT_TABLE = new nsHtml5ElementName(nsHtml5Atoms::table, nsHtml5Atoms::table, NS_HTML5TREE_BUILDER_TABLE | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_FOSTER_PARENTING | NS_HTML5ELEMENT_NAME_SCOPING);
   ELT_TITLE = new nsHtml5ElementName(nsHtml5Atoms::title, nsHtml5Atoms::title, NS_HTML5TREE_BUILDER_TITLE | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_SCOPING_AS_SVG);
+  ELT_TRACK = new nsHtml5ElementName(nsHtml5Atoms::track, nsHtml5Atoms::track, NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE_OR_TRACK);
   ELT_TSPAN = new nsHtml5ElementName(nsHtml5Atoms::tspan, nsHtml5Atoms::tspan, NS_HTML5TREE_BUILDER_OTHER);
   ELT_TIMES = new nsHtml5ElementName(nsHtml5Atoms::times, nsHtml5Atoms::times, NS_HTML5TREE_BUILDER_OTHER);
   ELT_TFOOT = new nsHtml5ElementName(nsHtml5Atoms::tfoot, nsHtml5Atoms::tfoot, NS_HTML5TREE_BUILDER_TBODY_OR_THEAD_OR_TFOOT | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_FOSTER_PARENTING);
   ELT_TBODY = new nsHtml5ElementName(nsHtml5Atoms::tbody, nsHtml5Atoms::tbody, NS_HTML5TREE_BUILDER_TBODY_OR_THEAD_OR_TFOOT | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_FOSTER_PARENTING);
   ELT_UNION = new nsHtml5ElementName(nsHtml5Atoms::union_, nsHtml5Atoms::union_, NS_HTML5TREE_BUILDER_OTHER);
   ELT_VKERN = new nsHtml5ElementName(nsHtml5Atoms::vkern, nsHtml5Atoms::vkern, NS_HTML5TREE_BUILDER_OTHER);
   ELT_VIDEO = new nsHtml5ElementName(nsHtml5Atoms::video, nsHtml5Atoms::video, NS_HTML5TREE_BUILDER_OTHER);
   ELT_ARCSEC = new nsHtml5ElementName(nsHtml5Atoms::arcsec, nsHtml5Atoms::arcsec, NS_HTML5TREE_BUILDER_OTHER);
@@ -752,17 +754,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_MARKER = new nsHtml5ElementName(nsHtml5Atoms::marker, nsHtml5Atoms::marker, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MERROR = new nsHtml5ElementName(nsHtml5Atoms::merror, nsHtml5Atoms::merror, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MOMENT = new nsHtml5ElementName(nsHtml5Atoms::moment, nsHtml5Atoms::moment, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MATRIX = new nsHtml5ElementName(nsHtml5Atoms::matrix, nsHtml5Atoms::matrix, NS_HTML5TREE_BUILDER_OTHER);
   ELT_OPTION = new nsHtml5ElementName(nsHtml5Atoms::option, nsHtml5Atoms::option, NS_HTML5TREE_BUILDER_OPTION);
   ELT_OBJECT = new nsHtml5ElementName(nsHtml5Atoms::object, nsHtml5Atoms::object, NS_HTML5TREE_BUILDER_OBJECT | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_SCOPING);
   ELT_OUTPUT = new nsHtml5ElementName(nsHtml5Atoms::output, nsHtml5Atoms::output, NS_HTML5TREE_BUILDER_OUTPUT_OR_LABEL);
   ELT_PRIMES = new nsHtml5ElementName(nsHtml5Atoms::primes, nsHtml5Atoms::primes, NS_HTML5TREE_BUILDER_OTHER);
-  ELT_SOURCE = new nsHtml5ElementName(nsHtml5Atoms::source, nsHtml5Atoms::source, NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE);
+  ELT_SOURCE = new nsHtml5ElementName(nsHtml5Atoms::source, nsHtml5Atoms::source, NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE_OR_TRACK);
   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);
   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);
   ELT_SWITCH = new nsHtml5ElementName(nsHtml5Atoms::switch_, nsHtml5Atoms::switch_, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SYMBOL = new nsHtml5ElementName(nsHtml5Atoms::symbol, nsHtml5Atoms::symbol, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SELECT = new nsHtml5ElementName(nsHtml5Atoms::select, nsHtml5Atoms::select, NS_HTML5TREE_BUILDER_SELECT | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_SUBSET = new nsHtml5ElementName(nsHtml5Atoms::subset, nsHtml5Atoms::subset, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SCRIPT = new nsHtml5ElementName(nsHtml5Atoms::script, nsHtml5Atoms::script, NS_HTML5TREE_BUILDER_SCRIPT | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_TBREAK = new nsHtml5ElementName(nsHtml5Atoms::tbreak, nsHtml5Atoms::tbreak, NS_HTML5TREE_BUILDER_OTHER);
@@ -915,17 +917,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_CARTESIANPRODUCT = new nsHtml5ElementName(nsHtml5Atoms::cartesianproduct, nsHtml5Atoms::cartesianproduct, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FONT_FACE_FORMAT = new nsHtml5ElementName(nsHtml5Atoms::font_face_format, nsHtml5Atoms::font_face_format, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FECONVOLVEMATRIX = new nsHtml5ElementName(nsHtml5Atoms::feconvolvematrix, nsHtml5Atoms::feConvolveMatrix, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FEDIFFUSELIGHTING = new nsHtml5ElementName(nsHtml5Atoms::fediffuselighting, nsHtml5Atoms::feDiffuseLighting, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FEDISPLACEMENTMAP = new nsHtml5ElementName(nsHtml5Atoms::fedisplacementmap, nsHtml5Atoms::feDisplacementMap, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FESPECULARLIGHTING = new nsHtml5ElementName(nsHtml5Atoms::fespecularlighting, nsHtml5Atoms::feSpecularLighting, NS_HTML5TREE_BUILDER_OTHER);
   ELT_DOMAINOFAPPLICATION = new nsHtml5ElementName(nsHtml5Atoms::domainofapplication, nsHtml5Atoms::domainofapplication, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FECOMPONENTTRANSFER = new nsHtml5ElementName(nsHtml5Atoms::fecomponenttransfer, nsHtml5Atoms::feComponentTransfer, NS_HTML5TREE_BUILDER_OTHER);
-  ELEMENT_NAMES = new nsHtml5ElementName*[390];
+  ELEMENT_NAMES = new nsHtml5ElementName*[391];
   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;
@@ -1094,228 +1096,229 @@ nsHtml5ElementName::initializeStatics()
   ELEMENT_NAMES[170] = ELT_PARAM;
   ELEMENT_NAMES[171] = ELT_POWER;
   ELEMENT_NAMES[172] = ELT_REALS;
   ELEMENT_NAMES[173] = ELT_STYLE;
   ELEMENT_NAMES[174] = ELT_SMALL;
   ELEMENT_NAMES[175] = ELT_THEAD;
   ELEMENT_NAMES[176] = ELT_TABLE;
   ELEMENT_NAMES[177] = ELT_TITLE;
-  ELEMENT_NAMES[178] = ELT_TSPAN;
-  ELEMENT_NAMES[179] = ELT_TIMES;
-  ELEMENT_NAMES[180] = ELT_TFOOT;
-  ELEMENT_NAMES[181] = ELT_TBODY;
-  ELEMENT_NAMES[182] = ELT_UNION;
-  ELEMENT_NAMES[183] = ELT_VKERN;
-  ELEMENT_NAMES[184] = ELT_VIDEO;
-  ELEMENT_NAMES[185] = ELT_ARCSEC;
-  ELEMENT_NAMES[186] = ELT_ARCCSC;
-  ELEMENT_NAMES[187] = ELT_ARCTAN;
-  ELEMENT_NAMES[188] = ELT_ARCSIN;
-  ELEMENT_NAMES[189] = ELT_ARCCOS;
-  ELEMENT_NAMES[190] = ELT_APPLET;
-  ELEMENT_NAMES[191] = ELT_ARCCOT;
-  ELEMENT_NAMES[192] = ELT_APPROX;
-  ELEMENT_NAMES[193] = ELT_BUTTON;
-  ELEMENT_NAMES[194] = ELT_CIRCLE;
-  ELEMENT_NAMES[195] = ELT_CENTER;
-  ELEMENT_NAMES[196] = ELT_CURSOR;
-  ELEMENT_NAMES[197] = ELT_CANVAS;
-  ELEMENT_NAMES[198] = ELT_DIVIDE;
-  ELEMENT_NAMES[199] = ELT_DEGREE;
-  ELEMENT_NAMES[200] = ELT_DOMAIN;
-  ELEMENT_NAMES[201] = ELT_EXISTS;
-  ELEMENT_NAMES[202] = ELT_FETILE;
-  ELEMENT_NAMES[203] = ELT_FIGURE;
-  ELEMENT_NAMES[204] = ELT_FORALL;
-  ELEMENT_NAMES[205] = ELT_FILTER;
-  ELEMENT_NAMES[206] = ELT_FOOTER;
-  ELEMENT_NAMES[207] = ELT_HGROUP;
-  ELEMENT_NAMES[208] = ELT_HEADER;
-  ELEMENT_NAMES[209] = ELT_IFRAME;
-  ELEMENT_NAMES[210] = ELT_KEYGEN;
-  ELEMENT_NAMES[211] = ELT_LAMBDA;
-  ELEMENT_NAMES[212] = ELT_LEGEND;
-  ELEMENT_NAMES[213] = ELT_MSPACE;
-  ELEMENT_NAMES[214] = ELT_MTABLE;
-  ELEMENT_NAMES[215] = ELT_MSTYLE;
-  ELEMENT_NAMES[216] = ELT_MGLYPH;
-  ELEMENT_NAMES[217] = ELT_MEDIAN;
-  ELEMENT_NAMES[218] = ELT_MUNDER;
-  ELEMENT_NAMES[219] = ELT_MARKER;
-  ELEMENT_NAMES[220] = ELT_MERROR;
-  ELEMENT_NAMES[221] = ELT_MOMENT;
-  ELEMENT_NAMES[222] = ELT_MATRIX;
-  ELEMENT_NAMES[223] = ELT_OPTION;
-  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_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_SUMMARY;
-  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_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_FIGCAPTION;
-  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_NAMES[178] = ELT_TRACK;
+  ELEMENT_NAMES[179] = ELT_TSPAN;
+  ELEMENT_NAMES[180] = ELT_TIMES;
+  ELEMENT_NAMES[181] = ELT_TFOOT;
+  ELEMENT_NAMES[182] = ELT_TBODY;
+  ELEMENT_NAMES[183] = ELT_UNION;
+  ELEMENT_NAMES[184] = ELT_VKERN;
+  ELEMENT_NAMES[185] = ELT_VIDEO;
+  ELEMENT_NAMES[186] = ELT_ARCSEC;
+  ELEMENT_NAMES[187] = ELT_ARCCSC;
+  ELEMENT_NAMES[188] = ELT_ARCTAN;
+  ELEMENT_NAMES[189] = ELT_ARCSIN;
+  ELEMENT_NAMES[190] = ELT_ARCCOS;
+  ELEMENT_NAMES[191] = ELT_APPLET;
+  ELEMENT_NAMES[192] = ELT_ARCCOT;
+  ELEMENT_NAMES[193] = ELT_APPROX;
+  ELEMENT_NAMES[194] = ELT_BUTTON;
+  ELEMENT_NAMES[195] = ELT_CIRCLE;
+  ELEMENT_NAMES[196] = ELT_CENTER;
+  ELEMENT_NAMES[197] = ELT_CURSOR;
+  ELEMENT_NAMES[198] = ELT_CANVAS;
+  ELEMENT_NAMES[199] = ELT_DIVIDE;
+  ELEMENT_NAMES[200] = ELT_DEGREE;
+  ELEMENT_NAMES[201] = ELT_DOMAIN;
+  ELEMENT_NAMES[202] = ELT_EXISTS;
+  ELEMENT_NAMES[203] = ELT_FETILE;
+  ELEMENT_NAMES[204] = ELT_FIGURE;
+  ELEMENT_NAMES[205] = ELT_FORALL;
+  ELEMENT_NAMES[206] = ELT_FILTER;
+  ELEMENT_NAMES[207] = ELT_FOOTER;
+  ELEMENT_NAMES[208] = ELT_HGROUP;
+  ELEMENT_NAMES[209] = ELT_HEADER;
+  ELEMENT_NAMES[210] = ELT_IFRAME;
+  ELEMENT_NAMES[211] = ELT_KEYGEN;
+  ELEMENT_NAMES[212] = ELT_LAMBDA;
+  ELEMENT_NAMES[213] = ELT_LEGEND;
+  ELEMENT_NAMES[214] = ELT_MSPACE;
+  ELEMENT_NAMES[215] = ELT_MTABLE;
+  ELEMENT_NAMES[216] = ELT_MSTYLE;
+  ELEMENT_NAMES[217] = ELT_MGLYPH;
+  ELEMENT_NAMES[218] = ELT_MEDIAN;
+  ELEMENT_NAMES[219] = ELT_MUNDER;
+  ELEMENT_NAMES[220] = ELT_MARKER;
+  ELEMENT_NAMES[221] = ELT_MERROR;
+  ELEMENT_NAMES[222] = ELT_MOMENT;
+  ELEMENT_NAMES[223] = ELT_MATRIX;
+  ELEMENT_NAMES[224] = ELT_OPTION;
+  ELEMENT_NAMES[225] = ELT_OBJECT;
+  ELEMENT_NAMES[226] = ELT_OUTPUT;
+  ELEMENT_NAMES[227] = ELT_PRIMES;
+  ELEMENT_NAMES[228] = ELT_SOURCE;
+  ELEMENT_NAMES[229] = ELT_STRIKE;
+  ELEMENT_NAMES[230] = ELT_STRONG;
+  ELEMENT_NAMES[231] = ELT_SWITCH;
+  ELEMENT_NAMES[232] = ELT_SYMBOL;
+  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_SUMMARY;
+  ELEMENT_NAMES[284] = ELT_TENDSTO;
+  ELEMENT_NAMES[285] = ELT_UPLIMIT;
+  ELEMENT_NAMES[286] = ELT_ALTGLYPH;
+  ELEMENT_NAMES[287] = ELT_BASEFONT;
+  ELEMENT_NAMES[288] = ELT_CLIPPATH;
+  ELEMENT_NAMES[289] = ELT_CODOMAIN;
+  ELEMENT_NAMES[290] = ELT_COLGROUP;
+  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_FIGCAPTION;
+  ELEMENT_NAMES[340] = ELT_IMAGINARYI;
+  ELEMENT_NAMES[341] = ELT_MALIGNMARK;
+  ELEMENT_NAMES[342] = ELT_MUNDEROVER;
+  ELEMENT_NAMES[343] = ELT_MLABELEDTR;
+  ELEMENT_NAMES[344] = ELT_NOTANUMBER;
+  ELEMENT_NAMES[345] = ELT_SOLIDCOLOR;
+  ELEMENT_NAMES[346] = ELT_ALTGLYPHDEF;
+  ELEMENT_NAMES[347] = ELT_DETERMINANT;
+  ELEMENT_NAMES[348] = ELT_FEMERGENODE;
+  ELEMENT_NAMES[349] = ELT_FECOMPOSITE;
+  ELEMENT_NAMES[350] = ELT_FESPOTLIGHT;
+  ELEMENT_NAMES[351] = ELT_MALIGNGROUP;
+  ELEMENT_NAMES[352] = ELT_MPRESCRIPTS;
+  ELEMENT_NAMES[353] = ELT_MOMENTABOUT;
+  ELEMENT_NAMES[354] = ELT_NOTPRSUBSET;
+  ELEMENT_NAMES[355] = ELT_PARTIALDIFF;
+  ELEMENT_NAMES[356] = ELT_ALTGLYPHITEM;
+  ELEMENT_NAMES[357] = ELT_ANIMATECOLOR;
+  ELEMENT_NAMES[358] = ELT_DATATEMPLATE;
+  ELEMENT_NAMES[359] = ELT_EXPONENTIALE;
+  ELEMENT_NAMES[360] = ELT_FETURBULENCE;
+  ELEMENT_NAMES[361] = ELT_FEPOINTLIGHT;
+  ELEMENT_NAMES[362] = ELT_FEMORPHOLOGY;
+  ELEMENT_NAMES[363] = ELT_OUTERPRODUCT;
+  ELEMENT_NAMES[364] = ELT_ANIMATEMOTION;
+  ELEMENT_NAMES[365] = ELT_COLOR_PROFILE;
+  ELEMENT_NAMES[366] = ELT_FONT_FACE_SRC;
+  ELEMENT_NAMES[367] = ELT_FONT_FACE_URI;
+  ELEMENT_NAMES[368] = ELT_FOREIGNOBJECT;
+  ELEMENT_NAMES[369] = ELT_FECOLORMATRIX;
+  ELEMENT_NAMES[370] = ELT_MISSING_GLYPH;
+  ELEMENT_NAMES[371] = ELT_MMULTISCRIPTS;
+  ELEMENT_NAMES[372] = ELT_SCALARPRODUCT;
+  ELEMENT_NAMES[373] = ELT_VECTORPRODUCT;
+  ELEMENT_NAMES[374] = ELT_ANNOTATION_XML;
+  ELEMENT_NAMES[375] = ELT_DEFINITION_SRC;
+  ELEMENT_NAMES[376] = ELT_FONT_FACE_NAME;
+  ELEMENT_NAMES[377] = ELT_FEGAUSSIANBLUR;
+  ELEMENT_NAMES[378] = ELT_FEDISTANTLIGHT;
+  ELEMENT_NAMES[379] = ELT_LINEARGRADIENT;
+  ELEMENT_NAMES[380] = ELT_NATURALNUMBERS;
+  ELEMENT_NAMES[381] = ELT_RADIALGRADIENT;
+  ELEMENT_NAMES[382] = ELT_ANIMATETRANSFORM;
+  ELEMENT_NAMES[383] = ELT_CARTESIANPRODUCT;
+  ELEMENT_NAMES[384] = ELT_FONT_FACE_FORMAT;
+  ELEMENT_NAMES[385] = ELT_FECONVOLVEMATRIX;
+  ELEMENT_NAMES[386] = ELT_FEDIFFUSELIGHTING;
+  ELEMENT_NAMES[387] = ELT_FEDISPLACEMENTMAP;
+  ELEMENT_NAMES[388] = ELT_FESPECULARLIGHTING;
+  ELEMENT_NAMES[389] = ELT_DOMAINOFAPPLICATION;
+  ELEMENT_NAMES[390] = ELT_FECOMPONENTTRANSFER;
 }
 
 void
 nsHtml5ElementName::releaseStatics()
 {
   delete ELT_NULL_ELEMENT_NAME;
   delete ELT_A;
   delete ELT_B;
@@ -1490,16 +1493,17 @@ nsHtml5ElementName::releaseStatics()
   delete ELT_PARAM;
   delete ELT_POWER;
   delete ELT_REALS;
   delete ELT_STYLE;
   delete ELT_SMALL;
   delete ELT_THEAD;
   delete ELT_TABLE;
   delete ELT_TITLE;
+  delete ELT_TRACK;
   delete ELT_TSPAN;
   delete ELT_TIMES;
   delete ELT_TFOOT;
   delete ELT_TBODY;
   delete ELT_UNION;
   delete ELT_VKERN;
   delete ELT_VIDEO;
   delete ELT_ARCSEC;
--- a/parser/html/nsHtml5ElementName.h
+++ b/parser/html/nsHtml5ElementName.h
@@ -255,16 +255,17 @@ class nsHtml5ElementName
     static nsHtml5ElementName* ELT_PARAM;
     static nsHtml5ElementName* ELT_POWER;
     static nsHtml5ElementName* ELT_REALS;
     static nsHtml5ElementName* ELT_STYLE;
     static nsHtml5ElementName* ELT_SMALL;
     static nsHtml5ElementName* ELT_THEAD;
     static nsHtml5ElementName* ELT_TABLE;
     static nsHtml5ElementName* ELT_TITLE;
+    static nsHtml5ElementName* ELT_TRACK;
     static nsHtml5ElementName* ELT_TSPAN;
     static nsHtml5ElementName* ELT_TIMES;
     static nsHtml5ElementName* ELT_TFOOT;
     static nsHtml5ElementName* ELT_TBODY;
     static nsHtml5ElementName* ELT_UNION;
     static nsHtml5ElementName* ELT_VKERN;
     static nsHtml5ElementName* ELT_VIDEO;
     static nsHtml5ElementName* ELT_ARCSEC;
--- a/parser/html/nsHtml5TreeBuilder.cpp
+++ b/parser/html/nsHtml5TreeBuilder.cpp
@@ -1083,17 +1083,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
               attributes = nsnull;
               NS_HTML5_BREAK(starttagloop);
             }
             case NS_HTML5TREE_BUILDER_BR:
             case NS_HTML5TREE_BUILDER_EMBED_OR_IMG:
             case NS_HTML5TREE_BUILDER_AREA_OR_WBR: {
               reconstructTheActiveFormattingElements();
             }
-            case NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE: {
+            case NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE_OR_TRACK: {
               appendVoidElementToCurrentMayFoster(elementName, attributes);
               selfClosing = PR_FALSE;
               attributes = nsnull;
               NS_HTML5_BREAK(starttagloop);
             }
             case NS_HTML5TREE_BUILDER_HR: {
               implicitlyCloseP();
               appendVoidElementToCurrentMayFoster(elementName, attributes);
@@ -2383,17 +2383,17 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
                 pop();
               }
             }
             reconstructTheActiveFormattingElements();
             appendVoidElementToCurrentMayFoster(elementName, nsHtml5HtmlAttributes::EMPTY_ATTRIBUTES);
             NS_HTML5_BREAK(endtagloop);
           }
           case NS_HTML5TREE_BUILDER_AREA_OR_WBR:
-          case NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE:
+          case NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE_OR_TRACK:
           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:
           case NS_HTML5TREE_BUILDER_NOEMBED:
--- a/parser/html/nsHtml5TreeBuilder.h
+++ b/parser/html/nsHtml5TreeBuilder.h
@@ -301,17 +301,17 @@ class nsHtml5TreeBuilder : public nsAHtm
 #define NS_HTML5TREE_BUILDER_IFRAME 47
 #define NS_HTML5TREE_BUILDER_EMBED_OR_IMG 48
 #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_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY 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_PARAM_OR_SOURCE_OR_TRACK 55
 #define NS_HTML5TREE_BUILDER_MGLYPH_OR_MALIGNMARK 56
 #define NS_HTML5TREE_BUILDER_MI_MO_MN_MS_MTEXT 57
 #define NS_HTML5TREE_BUILDER_ANNOTATION_XML 58
 #define NS_HTML5TREE_BUILDER_FOREIGNOBJECT_OR_DESC 59
 #define NS_HTML5TREE_BUILDER_NOEMBED 60
 #define NS_HTML5TREE_BUILDER_FIELDSET 61
 #define NS_HTML5TREE_BUILDER_OUTPUT_OR_LABEL 62
 #define NS_HTML5TREE_BUILDER_OBJECT 63