Bug 664104 - Part 1: Implement new ruby model in HTML parser. r=wchen

This commit is contained in:
Yuki Sekiguchi 2014-06-20 17:08:31 -07:00
parent 53079c9bd9
commit 839050976b
7 changed files with 446 additions and 376 deletions

View File

@ -356,8 +356,10 @@ public final class ElementName
// return "ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_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.RB_OR_RP_OR_RTC:
// return "RB_OR_RP_OR_RTC";
// case TreeBuilder.RT:
// return "RT";
// case TreeBuilder.PARAM_OR_SOURCE_OR_TRACK:
// return "PARAM_OR_SOURCE_OR_TRACK";
// case TreeBuilder.MGLYPH_OR_MALIGNMARK:
@ -445,8 +447,9 @@ public final class ElementName
public static final ElementName OL = new ElementName("ol", "ol", TreeBuilder.UL_OR_OL_OR_DL | SPECIAL);
public static final ElementName OR = new ElementName("or", "or", TreeBuilder.OTHER);
public static final ElementName PI = new ElementName("pi", "pi", TreeBuilder.OTHER);
public static final ElementName RP = new ElementName("rp", "rp", TreeBuilder.RT_OR_RP | OPTIONAL_END_TAG);
public static final ElementName RT = new ElementName("rt", "rt", TreeBuilder.RT_OR_RP | OPTIONAL_END_TAG);
public static final ElementName RB = new ElementName("rb", "rb", TreeBuilder.RB_OR_RP_OR_RTC | OPTIONAL_END_TAG);
public static final ElementName RP = new ElementName("rp", "rp", TreeBuilder.RB_OR_RP_OR_RTC | OPTIONAL_END_TAG);
public static final ElementName RT = new ElementName("rt", "rt", TreeBuilder.RT | OPTIONAL_END_TAG);
public static final ElementName TD = new ElementName("td", "td", TreeBuilder.TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG);
public static final ElementName TH = new ElementName("th", "th", TreeBuilder.TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG);
public static final ElementName TR = new ElementName("tr", "tr", TreeBuilder.TR | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
@ -484,6 +487,7 @@ public final class ElementName
public static final ElementName NOT = new ElementName("not", "not", TreeBuilder.OTHER);
public static final ElementName NAV = new ElementName("nav", "nav", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL);
public static final ElementName PRE = new ElementName("pre", "pre", TreeBuilder.PRE_OR_LISTING | SPECIAL);
public static final ElementName RTC = new ElementName("rtc", "rtc", TreeBuilder.RB_OR_RP_OR_RTC | OPTIONAL_END_TAG);
public static final ElementName REM = new ElementName("rem", "rem", TreeBuilder.OTHER);
public static final ElementName SUB = new ElementName("sub", "sub", TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
public static final ElementName SEC = new ElementName("sec", "sec", TreeBuilder.OTHER);
@ -840,6 +844,7 @@ public final class ElementName
OL,
OR,
PI,
RB,
RP,
RT,
TD,
@ -879,6 +884,7 @@ public final class ElementName
NOT,
NAV,
PRE,
RTC,
REM,
SUB,
SEC,
@ -1236,6 +1242,7 @@ public final class ElementName
81295,
81487,
82224,
84050,
84498,
84626,
86164,
@ -1275,6 +1282,7 @@ public final class ElementName
3625454,
3627054,
3675728,
3739282,
3749042,
3771059,
3771571,

View File

@ -173,7 +173,7 @@ public abstract class TreeBuilder<T> implements TokenHandler,
final static int RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR = 52;
final static int RT_OR_RP = 53;
final static int RB_OR_RP_OR_RTC = 53;
final static int PARAM_OR_SOURCE_OR_TRACK = 55;
@ -203,6 +203,8 @@ public abstract class TreeBuilder<T> implements TokenHandler,
final static int IMG = 68;
final static int RT = 69;
// start insertion modes
private static final int IN_ROW = 0;
@ -2408,7 +2410,7 @@ public abstract class TreeBuilder<T> implements TokenHandler,
attributes);
attributes = null; // CPP
break starttagloop;
case RT_OR_RP:
case RB_OR_RP_OR_RTC:
eltPos = findLastInScope("ruby");
if (eltPos != NOT_FOUND_ON_STACK) {
generateImpliedEndTags();
@ -2425,6 +2427,25 @@ public abstract class TreeBuilder<T> implements TokenHandler,
attributes);
attributes = null; // CPP
break starttagloop;
case RT:
eltPos = findLastInScope("ruby");
if (eltPos != NOT_FOUND_ON_STACK) {
generateImpliedEndTagsExceptFor("rtc");
}
if (eltPos != currentPtr) {
if (!isCurrent("rtc")) {
if (eltPos != NOT_FOUND_ON_STACK) {
errStartTagSeenWithoutRuby(name);
} else {
errUnclosedChildrenInRuby();
}
}
}
appendToCurrentNodeAndPushElementMayFoster(
elementName,
attributes);
attributes = null; // CPP
break starttagloop;
case MATH:
reconstructTheActiveFormattingElements();
attributes.adjustForMath();
@ -3529,7 +3550,8 @@ public abstract class TreeBuilder<T> implements TokenHandler,
case OPTGROUP:
case OPTION: // is this possible?
case P:
case RT_OR_RP:
case RB_OR_RP_OR_RTC:
case RT:
case TD_OR_TH:
case TBODY_OR_THEAD_OR_TFOOT:
break;
@ -3553,6 +3575,8 @@ public abstract class TreeBuilder<T> implements TokenHandler,
case DD_OR_DT:
case LI:
case P:
case RB_OR_RP_OR_RTC:
case RT:
case TBODY_OR_THEAD_OR_TFOOT:
case TD_OR_TH:
case BODY:
@ -4170,7 +4194,8 @@ public abstract class TreeBuilder<T> implements TokenHandler,
case DD_OR_DT:
case OPTION:
case OPTGROUP:
case RT_OR_RP:
case RB_OR_RP_OR_RTC:
case RT:
if (node.ns == "http://www.w3.org/1999/xhtml" && node.name == name) {
return;
}
@ -4190,7 +4215,8 @@ public abstract class TreeBuilder<T> implements TokenHandler,
case DD_OR_DT:
case OPTION:
case OPTGROUP:
case RT_OR_RP:
case RB_OR_RP_OR_RTC:
case RT:
pop();
continue;
default:

View File

@ -43,6 +43,7 @@ HTML5_ATOM(nobr, "nobr")
HTML5_ATOM(input, "input")
HTML5_ATOM(option, "option")
HTML5_ATOM(ruby, "ruby")
HTML5_ATOM(rtc, "rtc")
HTML5_ATOM(select, "select")
HTML5_ATOM(optgroup, "optgroup")
HTML5_ATOM(tbody, "tbody")
@ -740,6 +741,7 @@ HTML5_ATOM(mo, "mo")
HTML5_ATOM(ms, "ms")
HTML5_ATOM(or_, "or")
HTML5_ATOM(pi, "pi")
HTML5_ATOM(rb, "rb")
HTML5_ATOM(rp, "rp")
HTML5_ATOM(tt, "tt")
HTML5_ATOM(and_, "and")

View File

@ -171,6 +171,7 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_MS = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_OL = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_OR = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_PI = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_RB = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_RP = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_RT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_TD = nullptr;
@ -210,6 +211,7 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_NEQ = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_NOT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_NAV = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_PRE = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_RTC = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_REM = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SUB = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SEC = nullptr;
@ -530,7 +532,7 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_FESPECULARLIGHTING = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_DOMAINOFAPPLICATION = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_FECOMPONENTTRANSFER = nullptr;
nsHtml5ElementName** nsHtml5ElementName::ELEMENT_NAMES = 0;
static int32_t 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, 148317229, 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, 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, 282498697, 282508942, 283743649, 283787570, 284710386, 285391148, 285478533, 285854898, 285873762, 286931113, 288964227, 289445441, 289591340, 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, 409713793, 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 int32_t 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, 84050, 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, 3739282, 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, 148317229, 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, 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, 282498697, 282508942, 283743649, 283787570, 284710386, 285391148, 285478533, 285854898, 285873762, 286931113, 288964227, 289445441, 289591340, 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, 409713793, 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<int32_t,int32_t> nsHtml5ElementName::ELEMENT_HASHES = { ELEMENT_HASHES_DATA, MOZ_ARRAY_LENGTH(ELEMENT_HASHES_DATA) };
void
nsHtml5ElementName::initializeStatics()
@ -572,8 +574,9 @@ nsHtml5ElementName::initializeStatics()
ELT_OL = new nsHtml5ElementName(nsHtml5Atoms::ol, nsHtml5Atoms::ol, NS_HTML5TREE_BUILDER_UL_OR_OL_OR_DL | NS_HTML5ELEMENT_NAME_SPECIAL);
ELT_OR = new nsHtml5ElementName(nsHtml5Atoms::or_, nsHtml5Atoms::or_, NS_HTML5TREE_BUILDER_OTHER);
ELT_PI = new nsHtml5ElementName(nsHtml5Atoms::pi, nsHtml5Atoms::pi, NS_HTML5TREE_BUILDER_OTHER);
ELT_RP = new nsHtml5ElementName(nsHtml5Atoms::rp, nsHtml5Atoms::rp, NS_HTML5TREE_BUILDER_RT_OR_RP | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_RT = new nsHtml5ElementName(nsHtml5Atoms::rt, nsHtml5Atoms::rt, NS_HTML5TREE_BUILDER_RT_OR_RP | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_RB = new nsHtml5ElementName(nsHtml5Atoms::rb, nsHtml5Atoms::rb, NS_HTML5TREE_BUILDER_RB_OR_RP_OR_RTC | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_RP = new nsHtml5ElementName(nsHtml5Atoms::rp, nsHtml5Atoms::rp, NS_HTML5TREE_BUILDER_RB_OR_RP_OR_RTC | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_RT = new nsHtml5ElementName(nsHtml5Atoms::rt, nsHtml5Atoms::rt, NS_HTML5TREE_BUILDER_RT | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_TD = new nsHtml5ElementName(nsHtml5Atoms::td, nsHtml5Atoms::td, NS_HTML5TREE_BUILDER_TD_OR_TH | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_SCOPING | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_TH = new nsHtml5ElementName(nsHtml5Atoms::th, nsHtml5Atoms::th, NS_HTML5TREE_BUILDER_TD_OR_TH | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_SCOPING | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_TR = new nsHtml5ElementName(nsHtml5Atoms::tr, nsHtml5Atoms::tr, NS_HTML5TREE_BUILDER_TR | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_FOSTER_PARENTING | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
@ -611,6 +614,7 @@ nsHtml5ElementName::initializeStatics()
ELT_NOT = new nsHtml5ElementName(nsHtml5Atoms::not_, nsHtml5Atoms::not_, NS_HTML5TREE_BUILDER_OTHER);
ELT_NAV = new nsHtml5ElementName(nsHtml5Atoms::nav, nsHtml5Atoms::nav, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | NS_HTML5ELEMENT_NAME_SPECIAL);
ELT_PRE = new nsHtml5ElementName(nsHtml5Atoms::pre, nsHtml5Atoms::pre, NS_HTML5TREE_BUILDER_PRE_OR_LISTING | NS_HTML5ELEMENT_NAME_SPECIAL);
ELT_RTC = new nsHtml5ElementName(nsHtml5Atoms::rtc, nsHtml5Atoms::rtc, NS_HTML5TREE_BUILDER_RB_OR_RP_OR_RTC | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_REM = new nsHtml5ElementName(nsHtml5Atoms::rem, nsHtml5Atoms::rem, NS_HTML5TREE_BUILDER_OTHER);
ELT_SUB = new nsHtml5ElementName(nsHtml5Atoms::sub, nsHtml5Atoms::sub, NS_HTML5TREE_BUILDER_RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
ELT_SEC = new nsHtml5ElementName(nsHtml5Atoms::sec, nsHtml5Atoms::sec, NS_HTML5TREE_BUILDER_OTHER);
@ -930,7 +934,7 @@ nsHtml5ElementName::initializeStatics()
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*[394];
ELEMENT_NAMES = new nsHtml5ElementName*[396];
ELEMENT_NAMES[0] = ELT_A;
ELEMENT_NAMES[1] = ELT_B;
ELEMENT_NAMES[2] = ELT_G;
@ -967,364 +971,366 @@ nsHtml5ElementName::initializeStatics()
ELEMENT_NAMES[33] = ELT_OL;
ELEMENT_NAMES[34] = ELT_OR;
ELEMENT_NAMES[35] = ELT_PI;
ELEMENT_NAMES[36] = ELT_RP;
ELEMENT_NAMES[37] = ELT_RT;
ELEMENT_NAMES[38] = ELT_TD;
ELEMENT_NAMES[39] = ELT_TH;
ELEMENT_NAMES[40] = ELT_TR;
ELEMENT_NAMES[41] = ELT_TT;
ELEMENT_NAMES[42] = ELT_UL;
ELEMENT_NAMES[43] = ELT_AND;
ELEMENT_NAMES[44] = ELT_ARG;
ELEMENT_NAMES[45] = ELT_ABS;
ELEMENT_NAMES[46] = ELT_BIG;
ELEMENT_NAMES[47] = ELT_BDO;
ELEMENT_NAMES[48] = ELT_CSC;
ELEMENT_NAMES[49] = ELT_COL;
ELEMENT_NAMES[50] = ELT_COS;
ELEMENT_NAMES[51] = ELT_COT;
ELEMENT_NAMES[52] = ELT_DEL;
ELEMENT_NAMES[53] = ELT_DFN;
ELEMENT_NAMES[54] = ELT_DIR;
ELEMENT_NAMES[55] = ELT_DIV;
ELEMENT_NAMES[56] = ELT_EXP;
ELEMENT_NAMES[57] = ELT_GCD;
ELEMENT_NAMES[58] = ELT_GEQ;
ELEMENT_NAMES[59] = ELT_IMG;
ELEMENT_NAMES[60] = ELT_INS;
ELEMENT_NAMES[61] = ELT_INT;
ELEMENT_NAMES[62] = ELT_KBD;
ELEMENT_NAMES[63] = ELT_LOG;
ELEMENT_NAMES[64] = ELT_LCM;
ELEMENT_NAMES[65] = ELT_LEQ;
ELEMENT_NAMES[66] = ELT_MTD;
ELEMENT_NAMES[67] = ELT_MIN;
ELEMENT_NAMES[68] = ELT_MAP;
ELEMENT_NAMES[69] = ELT_MTR;
ELEMENT_NAMES[70] = ELT_MAX;
ELEMENT_NAMES[71] = ELT_NEQ;
ELEMENT_NAMES[72] = ELT_NOT;
ELEMENT_NAMES[73] = ELT_NAV;
ELEMENT_NAMES[74] = ELT_PRE;
ELEMENT_NAMES[75] = ELT_REM;
ELEMENT_NAMES[76] = ELT_SUB;
ELEMENT_NAMES[77] = ELT_SEC;
ELEMENT_NAMES[78] = ELT_SVG;
ELEMENT_NAMES[79] = ELT_SUM;
ELEMENT_NAMES[80] = ELT_SIN;
ELEMENT_NAMES[81] = ELT_SEP;
ELEMENT_NAMES[82] = ELT_SUP;
ELEMENT_NAMES[83] = ELT_SET;
ELEMENT_NAMES[84] = ELT_TAN;
ELEMENT_NAMES[85] = ELT_USE;
ELEMENT_NAMES[86] = ELT_VAR;
ELEMENT_NAMES[87] = ELT_WBR;
ELEMENT_NAMES[88] = ELT_XMP;
ELEMENT_NAMES[89] = ELT_XOR;
ELEMENT_NAMES[90] = ELT_AREA;
ELEMENT_NAMES[91] = ELT_ABBR;
ELEMENT_NAMES[92] = ELT_BASE;
ELEMENT_NAMES[93] = ELT_BVAR;
ELEMENT_NAMES[94] = ELT_BODY;
ELEMENT_NAMES[95] = ELT_CARD;
ELEMENT_NAMES[96] = ELT_CODE;
ELEMENT_NAMES[97] = ELT_CITE;
ELEMENT_NAMES[98] = ELT_CSCH;
ELEMENT_NAMES[99] = ELT_COSH;
ELEMENT_NAMES[100] = ELT_COTH;
ELEMENT_NAMES[101] = ELT_CURL;
ELEMENT_NAMES[102] = ELT_DESC;
ELEMENT_NAMES[103] = ELT_DIFF;
ELEMENT_NAMES[104] = ELT_DEFS;
ELEMENT_NAMES[105] = ELT_FORM;
ELEMENT_NAMES[106] = ELT_FONT;
ELEMENT_NAMES[107] = ELT_GRAD;
ELEMENT_NAMES[108] = ELT_HEAD;
ELEMENT_NAMES[109] = ELT_HTML;
ELEMENT_NAMES[110] = ELT_LINE;
ELEMENT_NAMES[111] = ELT_LINK;
ELEMENT_NAMES[112] = ELT_LIST;
ELEMENT_NAMES[113] = ELT_META;
ELEMENT_NAMES[114] = ELT_MSUB;
ELEMENT_NAMES[115] = ELT_MODE;
ELEMENT_NAMES[116] = ELT_MATH;
ELEMENT_NAMES[117] = ELT_MARK;
ELEMENT_NAMES[118] = ELT_MASK;
ELEMENT_NAMES[119] = ELT_MEAN;
ELEMENT_NAMES[120] = ELT_MAIN;
ELEMENT_NAMES[121] = ELT_MSUP;
ELEMENT_NAMES[122] = ELT_MENU;
ELEMENT_NAMES[123] = ELT_MROW;
ELEMENT_NAMES[124] = ELT_NONE;
ELEMENT_NAMES[125] = ELT_NOBR;
ELEMENT_NAMES[126] = ELT_NEST;
ELEMENT_NAMES[127] = ELT_PATH;
ELEMENT_NAMES[128] = ELT_PLUS;
ELEMENT_NAMES[129] = ELT_RULE;
ELEMENT_NAMES[130] = ELT_REAL;
ELEMENT_NAMES[131] = ELT_RELN;
ELEMENT_NAMES[132] = ELT_RECT;
ELEMENT_NAMES[133] = ELT_ROOT;
ELEMENT_NAMES[134] = ELT_RUBY;
ELEMENT_NAMES[135] = ELT_SECH;
ELEMENT_NAMES[136] = ELT_SINH;
ELEMENT_NAMES[137] = ELT_SPAN;
ELEMENT_NAMES[138] = ELT_SAMP;
ELEMENT_NAMES[139] = ELT_STOP;
ELEMENT_NAMES[140] = ELT_SDEV;
ELEMENT_NAMES[141] = ELT_TIME;
ELEMENT_NAMES[142] = ELT_TRUE;
ELEMENT_NAMES[143] = ELT_TREF;
ELEMENT_NAMES[144] = ELT_TANH;
ELEMENT_NAMES[145] = ELT_TEXT;
ELEMENT_NAMES[146] = ELT_VIEW;
ELEMENT_NAMES[147] = ELT_ASIDE;
ELEMENT_NAMES[148] = ELT_AUDIO;
ELEMENT_NAMES[149] = ELT_APPLY;
ELEMENT_NAMES[150] = ELT_EMBED;
ELEMENT_NAMES[151] = ELT_FRAME;
ELEMENT_NAMES[152] = ELT_FALSE;
ELEMENT_NAMES[153] = ELT_FLOOR;
ELEMENT_NAMES[154] = ELT_GLYPH;
ELEMENT_NAMES[155] = ELT_HKERN;
ELEMENT_NAMES[156] = ELT_IMAGE;
ELEMENT_NAMES[157] = ELT_IDENT;
ELEMENT_NAMES[158] = ELT_INPUT;
ELEMENT_NAMES[159] = ELT_LABEL;
ELEMENT_NAMES[160] = ELT_LIMIT;
ELEMENT_NAMES[161] = ELT_MFRAC;
ELEMENT_NAMES[162] = ELT_MPATH;
ELEMENT_NAMES[163] = ELT_METER;
ELEMENT_NAMES[164] = ELT_MOVER;
ELEMENT_NAMES[165] = ELT_MINUS;
ELEMENT_NAMES[166] = ELT_MROOT;
ELEMENT_NAMES[167] = ELT_MSQRT;
ELEMENT_NAMES[168] = ELT_MTEXT;
ELEMENT_NAMES[169] = ELT_NOTIN;
ELEMENT_NAMES[170] = ELT_PIECE;
ELEMENT_NAMES[171] = ELT_PARAM;
ELEMENT_NAMES[172] = ELT_POWER;
ELEMENT_NAMES[173] = ELT_REALS;
ELEMENT_NAMES[174] = ELT_STYLE;
ELEMENT_NAMES[175] = ELT_SMALL;
ELEMENT_NAMES[176] = ELT_THEAD;
ELEMENT_NAMES[177] = ELT_TABLE;
ELEMENT_NAMES[178] = ELT_TITLE;
ELEMENT_NAMES[179] = ELT_TRACK;
ELEMENT_NAMES[180] = ELT_TSPAN;
ELEMENT_NAMES[181] = ELT_TIMES;
ELEMENT_NAMES[182] = ELT_TFOOT;
ELEMENT_NAMES[183] = ELT_TBODY;
ELEMENT_NAMES[184] = ELT_UNION;
ELEMENT_NAMES[185] = ELT_VKERN;
ELEMENT_NAMES[186] = ELT_VIDEO;
ELEMENT_NAMES[187] = ELT_ARCSEC;
ELEMENT_NAMES[188] = ELT_ARCCSC;
ELEMENT_NAMES[189] = ELT_ARCTAN;
ELEMENT_NAMES[190] = ELT_ARCSIN;
ELEMENT_NAMES[191] = ELT_ARCCOS;
ELEMENT_NAMES[192] = ELT_APPLET;
ELEMENT_NAMES[193] = ELT_ARCCOT;
ELEMENT_NAMES[194] = ELT_APPROX;
ELEMENT_NAMES[195] = ELT_BUTTON;
ELEMENT_NAMES[196] = ELT_CIRCLE;
ELEMENT_NAMES[197] = ELT_CENTER;
ELEMENT_NAMES[198] = ELT_CURSOR;
ELEMENT_NAMES[199] = ELT_CANVAS;
ELEMENT_NAMES[200] = ELT_DIVIDE;
ELEMENT_NAMES[201] = ELT_DEGREE;
ELEMENT_NAMES[202] = ELT_DOMAIN;
ELEMENT_NAMES[203] = ELT_EXISTS;
ELEMENT_NAMES[204] = ELT_FETILE;
ELEMENT_NAMES[205] = ELT_FIGURE;
ELEMENT_NAMES[206] = ELT_FORALL;
ELEMENT_NAMES[207] = ELT_FILTER;
ELEMENT_NAMES[208] = ELT_FOOTER;
ELEMENT_NAMES[209] = ELT_HGROUP;
ELEMENT_NAMES[210] = ELT_HEADER;
ELEMENT_NAMES[211] = ELT_IFRAME;
ELEMENT_NAMES[212] = ELT_KEYGEN;
ELEMENT_NAMES[213] = ELT_LAMBDA;
ELEMENT_NAMES[214] = ELT_LEGEND;
ELEMENT_NAMES[215] = ELT_MSPACE;
ELEMENT_NAMES[216] = ELT_MTABLE;
ELEMENT_NAMES[217] = ELT_MSTYLE;
ELEMENT_NAMES[218] = ELT_MGLYPH;
ELEMENT_NAMES[219] = ELT_MEDIAN;
ELEMENT_NAMES[220] = ELT_MUNDER;
ELEMENT_NAMES[221] = ELT_MARKER;
ELEMENT_NAMES[222] = ELT_MERROR;
ELEMENT_NAMES[223] = ELT_MOMENT;
ELEMENT_NAMES[224] = ELT_MATRIX;
ELEMENT_NAMES[225] = ELT_OPTION;
ELEMENT_NAMES[226] = ELT_OBJECT;
ELEMENT_NAMES[227] = ELT_OUTPUT;
ELEMENT_NAMES[228] = ELT_PRIMES;
ELEMENT_NAMES[229] = ELT_SOURCE;
ELEMENT_NAMES[230] = ELT_STRIKE;
ELEMENT_NAMES[231] = ELT_STRONG;
ELEMENT_NAMES[232] = ELT_SWITCH;
ELEMENT_NAMES[233] = ELT_SYMBOL;
ELEMENT_NAMES[234] = ELT_SELECT;
ELEMENT_NAMES[235] = ELT_SUBSET;
ELEMENT_NAMES[236] = ELT_SCRIPT;
ELEMENT_NAMES[237] = ELT_TBREAK;
ELEMENT_NAMES[238] = ELT_VECTOR;
ELEMENT_NAMES[239] = ELT_ARTICLE;
ELEMENT_NAMES[240] = ELT_ANIMATE;
ELEMENT_NAMES[241] = ELT_ARCSECH;
ELEMENT_NAMES[242] = ELT_ARCCSCH;
ELEMENT_NAMES[243] = ELT_ARCTANH;
ELEMENT_NAMES[244] = ELT_ARCSINH;
ELEMENT_NAMES[245] = ELT_ARCCOSH;
ELEMENT_NAMES[246] = ELT_ARCCOTH;
ELEMENT_NAMES[247] = ELT_ACRONYM;
ELEMENT_NAMES[248] = ELT_ADDRESS;
ELEMENT_NAMES[249] = ELT_BGSOUND;
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_MENUITEM;
ELEMENT_NAMES[305] = ELT_MPHANTOM;
ELEMENT_NAMES[306] = ELT_NOFRAMES;
ELEMENT_NAMES[307] = ELT_NOSCRIPT;
ELEMENT_NAMES[308] = ELT_OPTGROUP;
ELEMENT_NAMES[309] = ELT_POLYLINE;
ELEMENT_NAMES[310] = ELT_PREFETCH;
ELEMENT_NAMES[311] = ELT_PROGRESS;
ELEMENT_NAMES[312] = ELT_PRSUBSET;
ELEMENT_NAMES[313] = ELT_QUOTIENT;
ELEMENT_NAMES[314] = ELT_SELECTOR;
ELEMENT_NAMES[315] = ELT_TEXTAREA;
ELEMENT_NAMES[316] = ELT_TEMPLATE;
ELEMENT_NAMES[317] = ELT_TEXTPATH;
ELEMENT_NAMES[318] = ELT_VARIANCE;
ELEMENT_NAMES[319] = ELT_ANIMATION;
ELEMENT_NAMES[320] = ELT_CONJUGATE;
ELEMENT_NAMES[321] = ELT_CONDITION;
ELEMENT_NAMES[322] = ELT_COMPLEXES;
ELEMENT_NAMES[323] = ELT_FONT_FACE;
ELEMENT_NAMES[324] = ELT_FACTORIAL;
ELEMENT_NAMES[325] = ELT_INTERSECT;
ELEMENT_NAMES[326] = ELT_IMAGINARY;
ELEMENT_NAMES[327] = ELT_LAPLACIAN;
ELEMENT_NAMES[328] = ELT_MATRIXROW;
ELEMENT_NAMES[329] = ELT_NOTSUBSET;
ELEMENT_NAMES[330] = ELT_OTHERWISE;
ELEMENT_NAMES[331] = ELT_PIECEWISE;
ELEMENT_NAMES[332] = ELT_PLAINTEXT;
ELEMENT_NAMES[333] = ELT_RATIONALS;
ELEMENT_NAMES[334] = ELT_SEMANTICS;
ELEMENT_NAMES[335] = ELT_TRANSPOSE;
ELEMENT_NAMES[336] = ELT_ANNOTATION;
ELEMENT_NAMES[337] = ELT_BLOCKQUOTE;
ELEMENT_NAMES[338] = ELT_DIVERGENCE;
ELEMENT_NAMES[339] = ELT_EULERGAMMA;
ELEMENT_NAMES[340] = ELT_EQUIVALENT;
ELEMENT_NAMES[341] = ELT_FIGCAPTION;
ELEMENT_NAMES[342] = ELT_IMAGINARYI;
ELEMENT_NAMES[343] = ELT_MALIGNMARK;
ELEMENT_NAMES[344] = ELT_MUNDEROVER;
ELEMENT_NAMES[345] = ELT_MLABELEDTR;
ELEMENT_NAMES[346] = ELT_NOTANUMBER;
ELEMENT_NAMES[347] = ELT_SOLIDCOLOR;
ELEMENT_NAMES[348] = ELT_ALTGLYPHDEF;
ELEMENT_NAMES[349] = ELT_DETERMINANT;
ELEMENT_NAMES[350] = ELT_FEMERGENODE;
ELEMENT_NAMES[351] = ELT_FECOMPOSITE;
ELEMENT_NAMES[352] = ELT_FESPOTLIGHT;
ELEMENT_NAMES[353] = ELT_MALIGNGROUP;
ELEMENT_NAMES[354] = ELT_MPRESCRIPTS;
ELEMENT_NAMES[355] = ELT_MOMENTABOUT;
ELEMENT_NAMES[356] = ELT_NOTPRSUBSET;
ELEMENT_NAMES[357] = ELT_PARTIALDIFF;
ELEMENT_NAMES[358] = ELT_ALTGLYPHITEM;
ELEMENT_NAMES[359] = ELT_ANIMATECOLOR;
ELEMENT_NAMES[360] = ELT_DATATEMPLATE;
ELEMENT_NAMES[361] = ELT_EXPONENTIALE;
ELEMENT_NAMES[362] = ELT_FETURBULENCE;
ELEMENT_NAMES[363] = ELT_FEPOINTLIGHT;
ELEMENT_NAMES[364] = ELT_FEDROPSHADOW;
ELEMENT_NAMES[365] = ELT_FEMORPHOLOGY;
ELEMENT_NAMES[366] = ELT_OUTERPRODUCT;
ELEMENT_NAMES[367] = ELT_ANIMATEMOTION;
ELEMENT_NAMES[368] = ELT_COLOR_PROFILE;
ELEMENT_NAMES[369] = ELT_FONT_FACE_SRC;
ELEMENT_NAMES[370] = ELT_FONT_FACE_URI;
ELEMENT_NAMES[371] = ELT_FOREIGNOBJECT;
ELEMENT_NAMES[372] = ELT_FECOLORMATRIX;
ELEMENT_NAMES[373] = ELT_MISSING_GLYPH;
ELEMENT_NAMES[374] = ELT_MMULTISCRIPTS;
ELEMENT_NAMES[375] = ELT_SCALARPRODUCT;
ELEMENT_NAMES[376] = ELT_VECTORPRODUCT;
ELEMENT_NAMES[377] = ELT_ANNOTATION_XML;
ELEMENT_NAMES[378] = ELT_DEFINITION_SRC;
ELEMENT_NAMES[379] = ELT_FONT_FACE_NAME;
ELEMENT_NAMES[380] = ELT_FEGAUSSIANBLUR;
ELEMENT_NAMES[381] = ELT_FEDISTANTLIGHT;
ELEMENT_NAMES[382] = ELT_LINEARGRADIENT;
ELEMENT_NAMES[383] = ELT_NATURALNUMBERS;
ELEMENT_NAMES[384] = ELT_RADIALGRADIENT;
ELEMENT_NAMES[385] = ELT_ANIMATETRANSFORM;
ELEMENT_NAMES[386] = ELT_CARTESIANPRODUCT;
ELEMENT_NAMES[387] = ELT_FONT_FACE_FORMAT;
ELEMENT_NAMES[388] = ELT_FECONVOLVEMATRIX;
ELEMENT_NAMES[389] = ELT_FEDIFFUSELIGHTING;
ELEMENT_NAMES[390] = ELT_FEDISPLACEMENTMAP;
ELEMENT_NAMES[391] = ELT_FESPECULARLIGHTING;
ELEMENT_NAMES[392] = ELT_DOMAINOFAPPLICATION;
ELEMENT_NAMES[393] = ELT_FECOMPONENTTRANSFER;
ELEMENT_NAMES[36] = ELT_RB;
ELEMENT_NAMES[37] = ELT_RP;
ELEMENT_NAMES[38] = ELT_RT;
ELEMENT_NAMES[39] = ELT_TD;
ELEMENT_NAMES[40] = ELT_TH;
ELEMENT_NAMES[41] = ELT_TR;
ELEMENT_NAMES[42] = ELT_TT;
ELEMENT_NAMES[43] = ELT_UL;
ELEMENT_NAMES[44] = ELT_AND;
ELEMENT_NAMES[45] = ELT_ARG;
ELEMENT_NAMES[46] = ELT_ABS;
ELEMENT_NAMES[47] = ELT_BIG;
ELEMENT_NAMES[48] = ELT_BDO;
ELEMENT_NAMES[49] = ELT_CSC;
ELEMENT_NAMES[50] = ELT_COL;
ELEMENT_NAMES[51] = ELT_COS;
ELEMENT_NAMES[52] = ELT_COT;
ELEMENT_NAMES[53] = ELT_DEL;
ELEMENT_NAMES[54] = ELT_DFN;
ELEMENT_NAMES[55] = ELT_DIR;
ELEMENT_NAMES[56] = ELT_DIV;
ELEMENT_NAMES[57] = ELT_EXP;
ELEMENT_NAMES[58] = ELT_GCD;
ELEMENT_NAMES[59] = ELT_GEQ;
ELEMENT_NAMES[60] = ELT_IMG;
ELEMENT_NAMES[61] = ELT_INS;
ELEMENT_NAMES[62] = ELT_INT;
ELEMENT_NAMES[63] = ELT_KBD;
ELEMENT_NAMES[64] = ELT_LOG;
ELEMENT_NAMES[65] = ELT_LCM;
ELEMENT_NAMES[66] = ELT_LEQ;
ELEMENT_NAMES[67] = ELT_MTD;
ELEMENT_NAMES[68] = ELT_MIN;
ELEMENT_NAMES[69] = ELT_MAP;
ELEMENT_NAMES[70] = ELT_MTR;
ELEMENT_NAMES[71] = ELT_MAX;
ELEMENT_NAMES[72] = ELT_NEQ;
ELEMENT_NAMES[73] = ELT_NOT;
ELEMENT_NAMES[74] = ELT_NAV;
ELEMENT_NAMES[75] = ELT_PRE;
ELEMENT_NAMES[76] = ELT_RTC;
ELEMENT_NAMES[77] = ELT_REM;
ELEMENT_NAMES[78] = ELT_SUB;
ELEMENT_NAMES[79] = ELT_SEC;
ELEMENT_NAMES[80] = ELT_SVG;
ELEMENT_NAMES[81] = ELT_SUM;
ELEMENT_NAMES[82] = ELT_SIN;
ELEMENT_NAMES[83] = ELT_SEP;
ELEMENT_NAMES[84] = ELT_SUP;
ELEMENT_NAMES[85] = ELT_SET;
ELEMENT_NAMES[86] = ELT_TAN;
ELEMENT_NAMES[87] = ELT_USE;
ELEMENT_NAMES[88] = ELT_VAR;
ELEMENT_NAMES[89] = ELT_WBR;
ELEMENT_NAMES[90] = ELT_XMP;
ELEMENT_NAMES[91] = ELT_XOR;
ELEMENT_NAMES[92] = ELT_AREA;
ELEMENT_NAMES[93] = ELT_ABBR;
ELEMENT_NAMES[94] = ELT_BASE;
ELEMENT_NAMES[95] = ELT_BVAR;
ELEMENT_NAMES[96] = ELT_BODY;
ELEMENT_NAMES[97] = ELT_CARD;
ELEMENT_NAMES[98] = ELT_CODE;
ELEMENT_NAMES[99] = ELT_CITE;
ELEMENT_NAMES[100] = ELT_CSCH;
ELEMENT_NAMES[101] = ELT_COSH;
ELEMENT_NAMES[102] = ELT_COTH;
ELEMENT_NAMES[103] = ELT_CURL;
ELEMENT_NAMES[104] = ELT_DESC;
ELEMENT_NAMES[105] = ELT_DIFF;
ELEMENT_NAMES[106] = ELT_DEFS;
ELEMENT_NAMES[107] = ELT_FORM;
ELEMENT_NAMES[108] = ELT_FONT;
ELEMENT_NAMES[109] = ELT_GRAD;
ELEMENT_NAMES[110] = ELT_HEAD;
ELEMENT_NAMES[111] = ELT_HTML;
ELEMENT_NAMES[112] = ELT_LINE;
ELEMENT_NAMES[113] = ELT_LINK;
ELEMENT_NAMES[114] = ELT_LIST;
ELEMENT_NAMES[115] = ELT_META;
ELEMENT_NAMES[116] = ELT_MSUB;
ELEMENT_NAMES[117] = ELT_MODE;
ELEMENT_NAMES[118] = ELT_MATH;
ELEMENT_NAMES[119] = ELT_MARK;
ELEMENT_NAMES[120] = ELT_MASK;
ELEMENT_NAMES[121] = ELT_MEAN;
ELEMENT_NAMES[122] = ELT_MAIN;
ELEMENT_NAMES[123] = ELT_MSUP;
ELEMENT_NAMES[124] = ELT_MENU;
ELEMENT_NAMES[125] = ELT_MROW;
ELEMENT_NAMES[126] = ELT_NONE;
ELEMENT_NAMES[127] = ELT_NOBR;
ELEMENT_NAMES[128] = ELT_NEST;
ELEMENT_NAMES[129] = ELT_PATH;
ELEMENT_NAMES[130] = ELT_PLUS;
ELEMENT_NAMES[131] = ELT_RULE;
ELEMENT_NAMES[132] = ELT_REAL;
ELEMENT_NAMES[133] = ELT_RELN;
ELEMENT_NAMES[134] = ELT_RECT;
ELEMENT_NAMES[135] = ELT_ROOT;
ELEMENT_NAMES[136] = ELT_RUBY;
ELEMENT_NAMES[137] = ELT_SECH;
ELEMENT_NAMES[138] = ELT_SINH;
ELEMENT_NAMES[139] = ELT_SPAN;
ELEMENT_NAMES[140] = ELT_SAMP;
ELEMENT_NAMES[141] = ELT_STOP;
ELEMENT_NAMES[142] = ELT_SDEV;
ELEMENT_NAMES[143] = ELT_TIME;
ELEMENT_NAMES[144] = ELT_TRUE;
ELEMENT_NAMES[145] = ELT_TREF;
ELEMENT_NAMES[146] = ELT_TANH;
ELEMENT_NAMES[147] = ELT_TEXT;
ELEMENT_NAMES[148] = ELT_VIEW;
ELEMENT_NAMES[149] = ELT_ASIDE;
ELEMENT_NAMES[150] = ELT_AUDIO;
ELEMENT_NAMES[151] = ELT_APPLY;
ELEMENT_NAMES[152] = ELT_EMBED;
ELEMENT_NAMES[153] = ELT_FRAME;
ELEMENT_NAMES[154] = ELT_FALSE;
ELEMENT_NAMES[155] = ELT_FLOOR;
ELEMENT_NAMES[156] = ELT_GLYPH;
ELEMENT_NAMES[157] = ELT_HKERN;
ELEMENT_NAMES[158] = ELT_IMAGE;
ELEMENT_NAMES[159] = ELT_IDENT;
ELEMENT_NAMES[160] = ELT_INPUT;
ELEMENT_NAMES[161] = ELT_LABEL;
ELEMENT_NAMES[162] = ELT_LIMIT;
ELEMENT_NAMES[163] = ELT_MFRAC;
ELEMENT_NAMES[164] = ELT_MPATH;
ELEMENT_NAMES[165] = ELT_METER;
ELEMENT_NAMES[166] = ELT_MOVER;
ELEMENT_NAMES[167] = ELT_MINUS;
ELEMENT_NAMES[168] = ELT_MROOT;
ELEMENT_NAMES[169] = ELT_MSQRT;
ELEMENT_NAMES[170] = ELT_MTEXT;
ELEMENT_NAMES[171] = ELT_NOTIN;
ELEMENT_NAMES[172] = ELT_PIECE;
ELEMENT_NAMES[173] = ELT_PARAM;
ELEMENT_NAMES[174] = ELT_POWER;
ELEMENT_NAMES[175] = ELT_REALS;
ELEMENT_NAMES[176] = ELT_STYLE;
ELEMENT_NAMES[177] = ELT_SMALL;
ELEMENT_NAMES[178] = ELT_THEAD;
ELEMENT_NAMES[179] = ELT_TABLE;
ELEMENT_NAMES[180] = ELT_TITLE;
ELEMENT_NAMES[181] = ELT_TRACK;
ELEMENT_NAMES[182] = ELT_TSPAN;
ELEMENT_NAMES[183] = ELT_TIMES;
ELEMENT_NAMES[184] = ELT_TFOOT;
ELEMENT_NAMES[185] = ELT_TBODY;
ELEMENT_NAMES[186] = ELT_UNION;
ELEMENT_NAMES[187] = ELT_VKERN;
ELEMENT_NAMES[188] = ELT_VIDEO;
ELEMENT_NAMES[189] = ELT_ARCSEC;
ELEMENT_NAMES[190] = ELT_ARCCSC;
ELEMENT_NAMES[191] = ELT_ARCTAN;
ELEMENT_NAMES[192] = ELT_ARCSIN;
ELEMENT_NAMES[193] = ELT_ARCCOS;
ELEMENT_NAMES[194] = ELT_APPLET;
ELEMENT_NAMES[195] = ELT_ARCCOT;
ELEMENT_NAMES[196] = ELT_APPROX;
ELEMENT_NAMES[197] = ELT_BUTTON;
ELEMENT_NAMES[198] = ELT_CIRCLE;
ELEMENT_NAMES[199] = ELT_CENTER;
ELEMENT_NAMES[200] = ELT_CURSOR;
ELEMENT_NAMES[201] = ELT_CANVAS;
ELEMENT_NAMES[202] = ELT_DIVIDE;
ELEMENT_NAMES[203] = ELT_DEGREE;
ELEMENT_NAMES[204] = ELT_DOMAIN;
ELEMENT_NAMES[205] = ELT_EXISTS;
ELEMENT_NAMES[206] = ELT_FETILE;
ELEMENT_NAMES[207] = ELT_FIGURE;
ELEMENT_NAMES[208] = ELT_FORALL;
ELEMENT_NAMES[209] = ELT_FILTER;
ELEMENT_NAMES[210] = ELT_FOOTER;
ELEMENT_NAMES[211] = ELT_HGROUP;
ELEMENT_NAMES[212] = ELT_HEADER;
ELEMENT_NAMES[213] = ELT_IFRAME;
ELEMENT_NAMES[214] = ELT_KEYGEN;
ELEMENT_NAMES[215] = ELT_LAMBDA;
ELEMENT_NAMES[216] = ELT_LEGEND;
ELEMENT_NAMES[217] = ELT_MSPACE;
ELEMENT_NAMES[218] = ELT_MTABLE;
ELEMENT_NAMES[219] = ELT_MSTYLE;
ELEMENT_NAMES[220] = ELT_MGLYPH;
ELEMENT_NAMES[221] = ELT_MEDIAN;
ELEMENT_NAMES[222] = ELT_MUNDER;
ELEMENT_NAMES[223] = ELT_MARKER;
ELEMENT_NAMES[224] = ELT_MERROR;
ELEMENT_NAMES[225] = ELT_MOMENT;
ELEMENT_NAMES[226] = ELT_MATRIX;
ELEMENT_NAMES[227] = ELT_OPTION;
ELEMENT_NAMES[228] = ELT_OBJECT;
ELEMENT_NAMES[229] = ELT_OUTPUT;
ELEMENT_NAMES[230] = ELT_PRIMES;
ELEMENT_NAMES[231] = ELT_SOURCE;
ELEMENT_NAMES[232] = ELT_STRIKE;
ELEMENT_NAMES[233] = ELT_STRONG;
ELEMENT_NAMES[234] = ELT_SWITCH;
ELEMENT_NAMES[235] = ELT_SYMBOL;
ELEMENT_NAMES[236] = ELT_SELECT;
ELEMENT_NAMES[237] = ELT_SUBSET;
ELEMENT_NAMES[238] = ELT_SCRIPT;
ELEMENT_NAMES[239] = ELT_TBREAK;
ELEMENT_NAMES[240] = ELT_VECTOR;
ELEMENT_NAMES[241] = ELT_ARTICLE;
ELEMENT_NAMES[242] = ELT_ANIMATE;
ELEMENT_NAMES[243] = ELT_ARCSECH;
ELEMENT_NAMES[244] = ELT_ARCCSCH;
ELEMENT_NAMES[245] = ELT_ARCTANH;
ELEMENT_NAMES[246] = ELT_ARCSINH;
ELEMENT_NAMES[247] = ELT_ARCCOSH;
ELEMENT_NAMES[248] = ELT_ARCCOTH;
ELEMENT_NAMES[249] = ELT_ACRONYM;
ELEMENT_NAMES[250] = ELT_ADDRESS;
ELEMENT_NAMES[251] = ELT_BGSOUND;
ELEMENT_NAMES[252] = ELT_COMPOSE;
ELEMENT_NAMES[253] = ELT_CEILING;
ELEMENT_NAMES[254] = ELT_CSYMBOL;
ELEMENT_NAMES[255] = ELT_CAPTION;
ELEMENT_NAMES[256] = ELT_DISCARD;
ELEMENT_NAMES[257] = ELT_DECLARE;
ELEMENT_NAMES[258] = ELT_DETAILS;
ELEMENT_NAMES[259] = ELT_ELLIPSE;
ELEMENT_NAMES[260] = ELT_FEFUNCA;
ELEMENT_NAMES[261] = ELT_FEFUNCB;
ELEMENT_NAMES[262] = ELT_FEBLEND;
ELEMENT_NAMES[263] = ELT_FEFLOOD;
ELEMENT_NAMES[264] = ELT_FEIMAGE;
ELEMENT_NAMES[265] = ELT_FEMERGE;
ELEMENT_NAMES[266] = ELT_FEFUNCG;
ELEMENT_NAMES[267] = ELT_FEFUNCR;
ELEMENT_NAMES[268] = ELT_HANDLER;
ELEMENT_NAMES[269] = ELT_INVERSE;
ELEMENT_NAMES[270] = ELT_IMPLIES;
ELEMENT_NAMES[271] = ELT_ISINDEX;
ELEMENT_NAMES[272] = ELT_LOGBASE;
ELEMENT_NAMES[273] = ELT_LISTING;
ELEMENT_NAMES[274] = ELT_MFENCED;
ELEMENT_NAMES[275] = ELT_MPADDED;
ELEMENT_NAMES[276] = ELT_MARQUEE;
ELEMENT_NAMES[277] = ELT_MACTION;
ELEMENT_NAMES[278] = ELT_MSUBSUP;
ELEMENT_NAMES[279] = ELT_NOEMBED;
ELEMENT_NAMES[280] = ELT_POLYGON;
ELEMENT_NAMES[281] = ELT_PATTERN;
ELEMENT_NAMES[282] = ELT_PRODUCT;
ELEMENT_NAMES[283] = ELT_SETDIFF;
ELEMENT_NAMES[284] = ELT_SECTION;
ELEMENT_NAMES[285] = ELT_SUMMARY;
ELEMENT_NAMES[286] = ELT_TENDSTO;
ELEMENT_NAMES[287] = ELT_UPLIMIT;
ELEMENT_NAMES[288] = ELT_ALTGLYPH;
ELEMENT_NAMES[289] = ELT_BASEFONT;
ELEMENT_NAMES[290] = ELT_CLIPPATH;
ELEMENT_NAMES[291] = ELT_CODOMAIN;
ELEMENT_NAMES[292] = ELT_COLGROUP;
ELEMENT_NAMES[293] = ELT_EMPTYSET;
ELEMENT_NAMES[294] = ELT_FACTOROF;
ELEMENT_NAMES[295] = ELT_FIELDSET;
ELEMENT_NAMES[296] = ELT_FRAMESET;
ELEMENT_NAMES[297] = ELT_FEOFFSET;
ELEMENT_NAMES[298] = ELT_GLYPHREF;
ELEMENT_NAMES[299] = ELT_INTERVAL;
ELEMENT_NAMES[300] = ELT_INTEGERS;
ELEMENT_NAMES[301] = ELT_INFINITY;
ELEMENT_NAMES[302] = ELT_LISTENER;
ELEMENT_NAMES[303] = ELT_LOWLIMIT;
ELEMENT_NAMES[304] = ELT_METADATA;
ELEMENT_NAMES[305] = ELT_MENCLOSE;
ELEMENT_NAMES[306] = ELT_MENUITEM;
ELEMENT_NAMES[307] = ELT_MPHANTOM;
ELEMENT_NAMES[308] = ELT_NOFRAMES;
ELEMENT_NAMES[309] = ELT_NOSCRIPT;
ELEMENT_NAMES[310] = ELT_OPTGROUP;
ELEMENT_NAMES[311] = ELT_POLYLINE;
ELEMENT_NAMES[312] = ELT_PREFETCH;
ELEMENT_NAMES[313] = ELT_PROGRESS;
ELEMENT_NAMES[314] = ELT_PRSUBSET;
ELEMENT_NAMES[315] = ELT_QUOTIENT;
ELEMENT_NAMES[316] = ELT_SELECTOR;
ELEMENT_NAMES[317] = ELT_TEXTAREA;
ELEMENT_NAMES[318] = ELT_TEMPLATE;
ELEMENT_NAMES[319] = ELT_TEXTPATH;
ELEMENT_NAMES[320] = ELT_VARIANCE;
ELEMENT_NAMES[321] = ELT_ANIMATION;
ELEMENT_NAMES[322] = ELT_CONJUGATE;
ELEMENT_NAMES[323] = ELT_CONDITION;
ELEMENT_NAMES[324] = ELT_COMPLEXES;
ELEMENT_NAMES[325] = ELT_FONT_FACE;
ELEMENT_NAMES[326] = ELT_FACTORIAL;
ELEMENT_NAMES[327] = ELT_INTERSECT;
ELEMENT_NAMES[328] = ELT_IMAGINARY;
ELEMENT_NAMES[329] = ELT_LAPLACIAN;
ELEMENT_NAMES[330] = ELT_MATRIXROW;
ELEMENT_NAMES[331] = ELT_NOTSUBSET;
ELEMENT_NAMES[332] = ELT_OTHERWISE;
ELEMENT_NAMES[333] = ELT_PIECEWISE;
ELEMENT_NAMES[334] = ELT_PLAINTEXT;
ELEMENT_NAMES[335] = ELT_RATIONALS;
ELEMENT_NAMES[336] = ELT_SEMANTICS;
ELEMENT_NAMES[337] = ELT_TRANSPOSE;
ELEMENT_NAMES[338] = ELT_ANNOTATION;
ELEMENT_NAMES[339] = ELT_BLOCKQUOTE;
ELEMENT_NAMES[340] = ELT_DIVERGENCE;
ELEMENT_NAMES[341] = ELT_EULERGAMMA;
ELEMENT_NAMES[342] = ELT_EQUIVALENT;
ELEMENT_NAMES[343] = ELT_FIGCAPTION;
ELEMENT_NAMES[344] = ELT_IMAGINARYI;
ELEMENT_NAMES[345] = ELT_MALIGNMARK;
ELEMENT_NAMES[346] = ELT_MUNDEROVER;
ELEMENT_NAMES[347] = ELT_MLABELEDTR;
ELEMENT_NAMES[348] = ELT_NOTANUMBER;
ELEMENT_NAMES[349] = ELT_SOLIDCOLOR;
ELEMENT_NAMES[350] = ELT_ALTGLYPHDEF;
ELEMENT_NAMES[351] = ELT_DETERMINANT;
ELEMENT_NAMES[352] = ELT_FEMERGENODE;
ELEMENT_NAMES[353] = ELT_FECOMPOSITE;
ELEMENT_NAMES[354] = ELT_FESPOTLIGHT;
ELEMENT_NAMES[355] = ELT_MALIGNGROUP;
ELEMENT_NAMES[356] = ELT_MPRESCRIPTS;
ELEMENT_NAMES[357] = ELT_MOMENTABOUT;
ELEMENT_NAMES[358] = ELT_NOTPRSUBSET;
ELEMENT_NAMES[359] = ELT_PARTIALDIFF;
ELEMENT_NAMES[360] = ELT_ALTGLYPHITEM;
ELEMENT_NAMES[361] = ELT_ANIMATECOLOR;
ELEMENT_NAMES[362] = ELT_DATATEMPLATE;
ELEMENT_NAMES[363] = ELT_EXPONENTIALE;
ELEMENT_NAMES[364] = ELT_FETURBULENCE;
ELEMENT_NAMES[365] = ELT_FEPOINTLIGHT;
ELEMENT_NAMES[366] = ELT_FEDROPSHADOW;
ELEMENT_NAMES[367] = ELT_FEMORPHOLOGY;
ELEMENT_NAMES[368] = ELT_OUTERPRODUCT;
ELEMENT_NAMES[369] = ELT_ANIMATEMOTION;
ELEMENT_NAMES[370] = ELT_COLOR_PROFILE;
ELEMENT_NAMES[371] = ELT_FONT_FACE_SRC;
ELEMENT_NAMES[372] = ELT_FONT_FACE_URI;
ELEMENT_NAMES[373] = ELT_FOREIGNOBJECT;
ELEMENT_NAMES[374] = ELT_FECOLORMATRIX;
ELEMENT_NAMES[375] = ELT_MISSING_GLYPH;
ELEMENT_NAMES[376] = ELT_MMULTISCRIPTS;
ELEMENT_NAMES[377] = ELT_SCALARPRODUCT;
ELEMENT_NAMES[378] = ELT_VECTORPRODUCT;
ELEMENT_NAMES[379] = ELT_ANNOTATION_XML;
ELEMENT_NAMES[380] = ELT_DEFINITION_SRC;
ELEMENT_NAMES[381] = ELT_FONT_FACE_NAME;
ELEMENT_NAMES[382] = ELT_FEGAUSSIANBLUR;
ELEMENT_NAMES[383] = ELT_FEDISTANTLIGHT;
ELEMENT_NAMES[384] = ELT_LINEARGRADIENT;
ELEMENT_NAMES[385] = ELT_NATURALNUMBERS;
ELEMENT_NAMES[386] = ELT_RADIALGRADIENT;
ELEMENT_NAMES[387] = ELT_ANIMATETRANSFORM;
ELEMENT_NAMES[388] = ELT_CARTESIANPRODUCT;
ELEMENT_NAMES[389] = ELT_FONT_FACE_FORMAT;
ELEMENT_NAMES[390] = ELT_FECONVOLVEMATRIX;
ELEMENT_NAMES[391] = ELT_FEDIFFUSELIGHTING;
ELEMENT_NAMES[392] = ELT_FEDISPLACEMENTMAP;
ELEMENT_NAMES[393] = ELT_FESPECULARLIGHTING;
ELEMENT_NAMES[394] = ELT_DOMAINOFAPPLICATION;
ELEMENT_NAMES[395] = ELT_FECOMPONENTTRANSFER;
}
void
@ -1367,6 +1373,7 @@ nsHtml5ElementName::releaseStatics()
delete ELT_OL;
delete ELT_OR;
delete ELT_PI;
delete ELT_RB;
delete ELT_RP;
delete ELT_RT;
delete ELT_TD;
@ -1406,6 +1413,7 @@ nsHtml5ElementName::releaseStatics()
delete ELT_NOT;
delete ELT_NAV;
delete ELT_PRE;
delete ELT_RTC;
delete ELT_REM;
delete ELT_SUB;
delete ELT_SEC;

View File

@ -115,6 +115,7 @@ class nsHtml5ElementName
static nsHtml5ElementName* ELT_OL;
static nsHtml5ElementName* ELT_OR;
static nsHtml5ElementName* ELT_PI;
static nsHtml5ElementName* ELT_RB;
static nsHtml5ElementName* ELT_RP;
static nsHtml5ElementName* ELT_RT;
static nsHtml5ElementName* ELT_TD;
@ -154,6 +155,7 @@ class nsHtml5ElementName
static nsHtml5ElementName* ELT_NOT;
static nsHtml5ElementName* ELT_NAV;
static nsHtml5ElementName* ELT_PRE;
static nsHtml5ElementName* ELT_RTC;
static nsHtml5ElementName* ELT_REM;
static nsHtml5ElementName* ELT_SUB;
static nsHtml5ElementName* ELT_SEC;

View File

@ -1322,7 +1322,7 @@ nsHtml5TreeBuilder::startTag(nsHtml5ElementName* elementName, nsHtml5HtmlAttribu
attributes = nullptr;
NS_HTML5_BREAK(starttagloop);
}
case NS_HTML5TREE_BUILDER_RT_OR_RP: {
case NS_HTML5TREE_BUILDER_RB_OR_RP_OR_RTC: {
eltPos = findLastInScope(nsHtml5Atoms::ruby);
if (eltPos != NS_HTML5TREE_BUILDER_NOT_FOUND_ON_STACK) {
generateImpliedEndTags();
@ -1338,6 +1338,24 @@ nsHtml5TreeBuilder::startTag(nsHtml5ElementName* elementName, nsHtml5HtmlAttribu
attributes = nullptr;
NS_HTML5_BREAK(starttagloop);
}
case NS_HTML5TREE_BUILDER_RT: {
eltPos = findLastInScope(nsHtml5Atoms::ruby);
if (eltPos != NS_HTML5TREE_BUILDER_NOT_FOUND_ON_STACK) {
generateImpliedEndTagsExceptFor(nsHtml5Atoms::rtc);
}
if (eltPos != currentPtr) {
if (!isCurrent(nsHtml5Atoms::rtc)) {
if (eltPos != NS_HTML5TREE_BUILDER_NOT_FOUND_ON_STACK) {
errStartTagSeenWithoutRuby(name);
} else {
errUnclosedChildrenInRuby();
}
}
}
appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
attributes = nullptr;
NS_HTML5_BREAK(starttagloop);
}
case NS_HTML5TREE_BUILDER_MATH: {
reconstructTheActiveFormattingElements();
attributes->adjustForMath();
@ -2448,7 +2466,8 @@ nsHtml5TreeBuilder::endTag(nsHtml5ElementName* elementName)
case NS_HTML5TREE_BUILDER_OPTGROUP:
case NS_HTML5TREE_BUILDER_OPTION:
case NS_HTML5TREE_BUILDER_P:
case NS_HTML5TREE_BUILDER_RT_OR_RP:
case NS_HTML5TREE_BUILDER_RB_OR_RP_OR_RTC:
case NS_HTML5TREE_BUILDER_RT:
case NS_HTML5TREE_BUILDER_TD_OR_TH:
case NS_HTML5TREE_BUILDER_TBODY_OR_THEAD_OR_TFOOT: {
break;
@ -2476,6 +2495,8 @@ nsHtml5TreeBuilder::endTag(nsHtml5ElementName* elementName)
case NS_HTML5TREE_BUILDER_DD_OR_DT:
case NS_HTML5TREE_BUILDER_LI:
case NS_HTML5TREE_BUILDER_P:
case NS_HTML5TREE_BUILDER_RB_OR_RP_OR_RTC:
case NS_HTML5TREE_BUILDER_RT:
case NS_HTML5TREE_BUILDER_TBODY_OR_THEAD_OR_TFOOT:
case NS_HTML5TREE_BUILDER_TD_OR_TH:
case NS_HTML5TREE_BUILDER_BODY:
@ -3115,7 +3136,8 @@ nsHtml5TreeBuilder::generateImpliedEndTagsExceptFor(nsIAtom* name)
case NS_HTML5TREE_BUILDER_DD_OR_DT:
case NS_HTML5TREE_BUILDER_OPTION:
case NS_HTML5TREE_BUILDER_OPTGROUP:
case NS_HTML5TREE_BUILDER_RT_OR_RP: {
case NS_HTML5TREE_BUILDER_RB_OR_RP_OR_RTC:
case NS_HTML5TREE_BUILDER_RT: {
if (node->ns == kNameSpaceID_XHTML && node->name == name) {
return;
}
@ -3139,7 +3161,8 @@ nsHtml5TreeBuilder::generateImpliedEndTags()
case NS_HTML5TREE_BUILDER_DD_OR_DT:
case NS_HTML5TREE_BUILDER_OPTION:
case NS_HTML5TREE_BUILDER_OPTGROUP:
case NS_HTML5TREE_BUILDER_RT_OR_RP: {
case NS_HTML5TREE_BUILDER_RB_OR_RP_OR_RTC:
case NS_HTML5TREE_BUILDER_RT: {
pop();
continue;
}

View File

@ -323,7 +323,7 @@ class nsHtml5TreeBuilder : public nsAHtml5TreeBuilderState
#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_MAIN_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_RB_OR_RP_OR_RTC 53
#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
@ -338,6 +338,7 @@ class nsHtml5TreeBuilder : public nsAHtml5TreeBuilderState
#define NS_HTML5TREE_BUILDER_MENUITEM 66
#define NS_HTML5TREE_BUILDER_TEMPLATE 67
#define NS_HTML5TREE_BUILDER_IMG 68
#define NS_HTML5TREE_BUILDER_RT 69
#define NS_HTML5TREE_BUILDER_IN_ROW 0
#define NS_HTML5TREE_BUILDER_IN_TABLE_BODY 1
#define NS_HTML5TREE_BUILDER_IN_TABLE 2