Implement HMTL5 <dialog>.

master
Fedor 2020-03-12 20:40:37 +03:00
parent 132c48cbbf
commit 30e6400e30
30 changed files with 462 additions and 520 deletions

View File

@ -421,7 +421,7 @@
//////////////////////////////////////////////////////////////////////////
// HTML:dialog
todo(isAccessible("dialog"), "dialog element is not accessible");
ok(isAccessible("dialog"), "dialog element is not accessible");
//////////////////////////////////////////////////////////////////////////
// HTML:div

View File

@ -172,6 +172,10 @@ EVENT(click,
eMouseClick,
EventNameType_All,
eMouseEventClass)
EVENT(close,
eClose,
EventNameType_HTMLXUL,
eBasicEventClass)
EVENT(contextmenu,
eContextMenu,
EventNameType_HTMLXUL,
@ -773,10 +777,6 @@ NON_IDL_EVENT(command,
eXULCommand,
EventNameType_XUL,
eInputEventClass)
NON_IDL_EVENT(close,
eWindowClose,
EventNameType_XUL,
eBasicEventClass)
NON_IDL_EVENT(popupshowing,
eXULPopupShowing,
EventNameType_XUL,

View File

@ -0,0 +1,95 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/dom/HTMLDialogElement.h"
#include "mozilla/dom/HTMLDialogElementBinding.h"
#include "mozilla/dom/HTMLUnknownElement.h"
#include "mozilla/Preferences.h"
// Expand NS_IMPL_NS_NEW_HTML_ELEMENT(Dialog) with pref check
nsGenericHTMLElement*
NS_NewHTMLDialogElement(already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
mozilla::dom::FromParser aFromParser)
{
if (!mozilla::dom::HTMLDialogElement::IsDialogEnabled()) {
return new mozilla::dom::HTMLUnknownElement(aNodeInfo);
}
return new mozilla::dom::HTMLDialogElement(aNodeInfo);
}
namespace mozilla {
namespace dom {
HTMLDialogElement::~HTMLDialogElement()
{
}
NS_IMPL_ELEMENT_CLONE(HTMLDialogElement)
bool
HTMLDialogElement::IsDialogEnabled()
{
static bool isDialogEnabled = false;
static bool added = false;
if (!added) {
Preferences::AddBoolVarCache(&isDialogEnabled,
"dom.dialog_element.enabled");
added = true;
}
return isDialogEnabled;
}
void
HTMLDialogElement::Close(const mozilla::dom::Optional<nsAString>& aReturnValue)
{
if (!Open()) {
return;
}
if (aReturnValue.WasPassed()) {
SetReturnValue(aReturnValue.Value());
}
ErrorResult ignored;
SetOpen(false, ignored);
ignored.SuppressException();
RefPtr<AsyncEventDispatcher> eventDispatcher =
new AsyncEventDispatcher(this, NS_LITERAL_STRING("close"), false);
eventDispatcher->PostDOMEvent();
}
void
HTMLDialogElement::Show()
{
if (Open()) {
return;
}
ErrorResult ignored;
SetOpen(true, ignored);
ignored.SuppressException();
}
void
HTMLDialogElement::ShowModal(ErrorResult& aError)
{
if (!IsInComposedDoc() || Open()) {
aError.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return;
}
SetOpen(true, aError);
aError.SuppressException();
}
JSObject*
HTMLDialogElement::WrapNode(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
{
return HTMLDialogElementBinding::Wrap(aCx, this, aGivenProto);
}
} // namespace dom
} // namespace mozilla

View File

@ -0,0 +1,61 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef HTMLDialogElement_h
#define HTMLDialogElement_h
#include "mozilla/AsyncEventDispatcher.h"
#include "mozilla/Attributes.h"
#include "nsGenericHTMLElement.h"
#include "nsGkAtoms.h"
namespace mozilla {
namespace dom {
class HTMLDialogElement final : public nsGenericHTMLElement
{
public:
explicit HTMLDialogElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo) : nsGenericHTMLElement(aNodeInfo)
{
}
NS_IMPL_FROMCONTENT_HTML_WITH_TAG(HTMLDialogElement, dialog)
virtual nsresult Clone(mozilla::dom::NodeInfo* aNodeInfo, nsINode** aResult) const override;
static bool IsDialogEnabled();
bool Open() const { return GetBoolAttr(nsGkAtoms::open); }
void SetOpen(bool aOpen, ErrorResult& aError)
{
SetHTMLBoolAttr(nsGkAtoms::open, aOpen, aError);
}
void GetReturnValue(nsAString& aReturnValue)
{
aReturnValue = mReturnValue;
}
void SetReturnValue(const nsAString& aReturnValue)
{
mReturnValue = aReturnValue;
}
void Close(const mozilla::dom::Optional<nsAString>& aReturnValue);
void Show();
void ShowModal(ErrorResult& aError);
nsString mReturnValue;
protected:
virtual ~HTMLDialogElement();
JSObject* WrapNode(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto) override;
};
} // namespace dom
} // namespace mozilla
#endif

View File

@ -56,6 +56,7 @@ EXPORTS.mozilla.dom += [
'HTMLDataElement.h',
'HTMLDataListElement.h',
'HTMLDetailsElement.h',
'HTMLDialogElement.h',
'HTMLDivElement.h',
'HTMLFieldSetElement.h',
'HTMLFontElement.h',
@ -134,6 +135,7 @@ UNIFIED_SOURCES += [
'HTMLDataElement.cpp',
'HTMLDataListElement.cpp',
'HTMLDetailsElement.cpp',
'HTMLDialogElement.cpp',
'HTMLDivElement.cpp',
'HTMLElement.cpp',
'HTMLFieldSetElement.cpp',

View File

@ -1654,6 +1654,7 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT(Mod)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Data)
NS_DECLARE_NS_NEW_HTML_ELEMENT(DataList)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Details)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Dialog)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Div)
NS_DECLARE_NS_NEW_HTML_ELEMENT(FieldSet)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Font)

View File

@ -442,6 +442,8 @@ var interfaceNamesInGlobalScope =
"HTMLDataListElement",
// IMPORTANT: Do not change this list without review from a DOM peer!
"HTMLDetailsElement",
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "HTMLDialogElement", disabled: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
"HTMLDirectoryElement",
// IMPORTANT: Do not change this list without review from a DOM peer!

View File

@ -38,7 +38,7 @@ interface GlobalEventHandlers {
attribute EventHandler oncanplaythrough;
attribute EventHandler onchange;
attribute EventHandler onclick;
//(Not implemented)attribute EventHandler onclose;
attribute EventHandler onclose;
attribute EventHandler oncontextmenu;
//(Not implemented)attribute EventHandler oncuechange;
attribute EventHandler ondblclick;

View File

@ -0,0 +1,23 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element
*
* © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
* Opera Software ASA. You are granted a license to use, reproduce
* and create derivative works of this document.
*/
[Pref="dom.dialog_element.enabled"]
interface HTMLDialogElement : HTMLElement {
[SetterThrows] attribute boolean open;
attribute DOMString returnValue;
void show();
[Throws] void showModal();
void close(optional DOMString returnValue);
};

View File

@ -184,6 +184,7 @@ WEBIDL_FILES = [
'HTMLDataElement.webidl',
'HTMLDataListElement.webidl',
'HTMLDetailsElement.webidl',
'HTMLDialogElement.webidl',
'HTMLDirectoryElement.webidl',
'HTMLDivElement.webidl',
'HTMLDListElement.webidl',

View File

@ -517,9 +517,9 @@ HTMLEditUtils::SupportsAlignAttr(nsIDOMNode* aNode)
#define GROUP_FORMCONTROL (1 << 6)
// address, applet, article, aside, blockquote, button, center, del, details,
// dir, div, dl, fieldset, figure, footer, form, h1, h2, h3, h4, h5, h6, header,
// hgroup, hr, iframe, ins, main, map, menu, nav, noframes, noscript, object,
// ol, p, pre, table, section, summary, ul
// dialog, dir, div, dl, fieldset, figure, footer, form, h1, h2, h3, h4, h5,
// h6, header, hgroup, hr, iframe, ins, main, map, menu, nav, noframes,
// noscript, object, ol, p, pre, table, section, summary, ul
#define GROUP_BLOCK (1 << 7)
// frame, frameset
@ -638,6 +638,7 @@ static const ElementInfo kElements[eHTMLTag_userdefined] = {
ELEM(del, true, true, GROUP_PHRASE | GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(details, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(dfn, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
ELEM(dialog, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(dir, true, false, GROUP_BLOCK, GROUP_LI),
ELEM(div, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(dl, true, false, GROUP_BLOCK, GROUP_DL_CONTENT),

View File

@ -799,6 +799,27 @@ input[type="date"] > xul|datetimebox {
}
}
/* <dialog> element styles */
dialog {
position: absolute;
offset-inline-start: 0;
offset-inline-end: 0;
color: black;
margin: auto;
border-width: initial;
border-style: solid;
border-color: initial;
border-image: initial;
padding: 1em;
background: white;
width: -moz-fit-content;
}
dialog:not([open]) {
display: none;
}
/* emulation of non-standard HTML <marquee> tag */
marquee {
inline-size: -moz-available;

View File

@ -5355,6 +5355,9 @@ pref("narrate.filter-voices", true);
pref("dom.audiochannel.mutedByDefault", false);
// HTML <dialog> element
pref("dom.dialog_element.enabled", false);
// Enable <details> and <summary> tags.
pref("dom.details_element.enabled", true);

View File

@ -867,6 +867,7 @@ HTML5_ATOM(center, "center")
HTML5_ATOM(canvas, "canvas")
HTML5_ATOM(divide, "divide")
HTML5_ATOM(degree, "degree")
HTML5_ATOM(dialog, "dialog")
HTML5_ATOM(domain, "domain")
HTML5_ATOM(exists, "exists")
HTML5_ATOM(fetile, "fetile")
@ -942,8 +943,8 @@ HTML5_ATOM(mpadded, "mpadded")
HTML5_ATOM(marquee, "marquee")
HTML5_ATOM(maction, "maction")
HTML5_ATOM(msubsup, "msubsup")
HTML5_ATOM(polygon, "polygon")
HTML5_ATOM(picture, "picture")
HTML5_ATOM(polygon, "polygon")
HTML5_ATOM(product, "product")
HTML5_ATOM(setdiff, "setdiff")
HTML5_ATOM(section, "section")

View File

@ -1,6 +1,6 @@
/*
* Copyright (c) 2008-2014 Mozilla Foundation
* Copyright (c) 2019 Moonchild Productions
* Copyright (c) 2020 Moonchild Productions
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@ -335,6 +335,7 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_CURSOR = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_CANVAS = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_DIVIDE = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_DEGREE = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_DIALOG = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_DOMAIN = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_EXISTS = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_FETILE = nullptr;
@ -411,9 +412,9 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_MARQUEE = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_MACTION = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_MSUBSUP = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_NOEMBED = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_PICTURE = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_POLYGON = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_PATTERN = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_PICTURE = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_PRODUCT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SETDIFF = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SECTION = nullptr;
@ -529,7 +530,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, 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, 251841204, 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, 205766017, 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, 251841204, 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()
@ -590,7 +591,7 @@ nsHtml5ElementName::initializeStatics()
ELT_COT = new nsHtml5ElementName(nsHtml5Atoms::cot, nsHtml5Atoms::cot, NS_HTML5TREE_BUILDER_OTHER);
ELT_DEL = new nsHtml5ElementName(nsHtml5Atoms::del, nsHtml5Atoms::del, NS_HTML5TREE_BUILDER_OTHER);
ELT_DFN = new nsHtml5ElementName(nsHtml5Atoms::dfn, nsHtml5Atoms::dfn, NS_HTML5TREE_BUILDER_OTHER);
ELT_DIR = new nsHtml5ElementName(nsHtml5Atoms::dir, nsHtml5Atoms::dir, 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_DIR = new nsHtml5ElementName(nsHtml5Atoms::dir, nsHtml5Atoms::dir, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_DIV = new nsHtml5ElementName(nsHtml5Atoms::div, nsHtml5Atoms::div, NS_HTML5TREE_BUILDER_DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | NS_HTML5ELEMENT_NAME_SPECIAL);
ELT_EXP = new nsHtml5ElementName(nsHtml5Atoms::exp, nsHtml5Atoms::exp, NS_HTML5TREE_BUILDER_OTHER);
ELT_GCD = new nsHtml5ElementName(nsHtml5Atoms::gcd, nsHtml5Atoms::gcd, NS_HTML5TREE_BUILDER_OTHER);
@ -609,7 +610,7 @@ nsHtml5ElementName::initializeStatics()
ELT_MAX = new nsHtml5ElementName(nsHtml5Atoms::max, nsHtml5Atoms::max, NS_HTML5TREE_BUILDER_OTHER);
ELT_NEQ = new nsHtml5ElementName(nsHtml5Atoms::neq, nsHtml5Atoms::neq, NS_HTML5TREE_BUILDER_OTHER);
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_NAV = new nsHtml5ElementName(nsHtml5Atoms::nav, nsHtml5Atoms::nav, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_RTC | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
ELT_REM = new nsHtml5ElementName(nsHtml5Atoms::rem, nsHtml5Atoms::rem, NS_HTML5TREE_BUILDER_OTHER);
@ -657,7 +658,7 @@ nsHtml5ElementName::initializeStatics()
ELT_MARK = new nsHtml5ElementName(nsHtml5Atoms::mark, nsHtml5Atoms::mark, NS_HTML5TREE_BUILDER_OTHER);
ELT_MASK = new nsHtml5ElementName(nsHtml5Atoms::mask, nsHtml5Atoms::mask, NS_HTML5TREE_BUILDER_OTHER);
ELT_MEAN = new nsHtml5ElementName(nsHtml5Atoms::mean, nsHtml5Atoms::mean, NS_HTML5TREE_BUILDER_OTHER);
ELT_MAIN = new nsHtml5ElementName(nsHtml5Atoms::main, nsHtml5Atoms::main, 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_MAIN = new nsHtml5ElementName(nsHtml5Atoms::main, nsHtml5Atoms::main, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_MSUP = new nsHtml5ElementName(nsHtml5Atoms::msup, nsHtml5Atoms::msup, NS_HTML5TREE_BUILDER_OTHER);
ELT_MENU = new nsHtml5ElementName(nsHtml5Atoms::menu, nsHtml5Atoms::menu, NS_HTML5TREE_BUILDER_DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | NS_HTML5ELEMENT_NAME_SPECIAL);
ELT_MROW = new nsHtml5ElementName(nsHtml5Atoms::mrow, nsHtml5Atoms::mrow, NS_HTML5TREE_BUILDER_OTHER);
@ -684,7 +685,7 @@ nsHtml5ElementName::initializeStatics()
ELT_TANH = new nsHtml5ElementName(nsHtml5Atoms::tanh, nsHtml5Atoms::tanh, NS_HTML5TREE_BUILDER_OTHER);
ELT_TEXT = new nsHtml5ElementName(nsHtml5Atoms::text, nsHtml5Atoms::text, NS_HTML5TREE_BUILDER_OTHER);
ELT_VIEW = new nsHtml5ElementName(nsHtml5Atoms::view, nsHtml5Atoms::view, NS_HTML5TREE_BUILDER_OTHER);
ELT_ASIDE = new nsHtml5ElementName(nsHtml5Atoms::aside, nsHtml5Atoms::aside, 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_ASIDE = new nsHtml5ElementName(nsHtml5Atoms::aside, nsHtml5Atoms::aside, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_AUDIO = new nsHtml5ElementName(nsHtml5Atoms::audio, nsHtml5Atoms::audio, NS_HTML5TREE_BUILDER_OTHER);
ELT_APPLY = new nsHtml5ElementName(nsHtml5Atoms::apply, nsHtml5Atoms::apply, NS_HTML5TREE_BUILDER_OTHER);
ELT_EMBED = new nsHtml5ElementName(nsHtml5Atoms::embed, nsHtml5Atoms::embed, NS_HTML5TREE_BUILDER_EMBED | NS_HTML5ELEMENT_NAME_SPECIAL);
@ -739,15 +740,16 @@ nsHtml5ElementName::initializeStatics()
ELT_CANVAS = new nsHtml5ElementName(nsHtml5Atoms::canvas, nsHtml5Atoms::canvas, NS_HTML5TREE_BUILDER_OTHER);
ELT_DIVIDE = new nsHtml5ElementName(nsHtml5Atoms::divide, nsHtml5Atoms::divide, NS_HTML5TREE_BUILDER_OTHER);
ELT_DEGREE = new nsHtml5ElementName(nsHtml5Atoms::degree, nsHtml5Atoms::degree, NS_HTML5TREE_BUILDER_OTHER);
ELT_DIALOG = new nsHtml5ElementName(nsHtml5Atoms::dialog, nsHtml5Atoms::dialog, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_DOMAIN = new nsHtml5ElementName(nsHtml5Atoms::domain, nsHtml5Atoms::domain, NS_HTML5TREE_BUILDER_OTHER);
ELT_EXISTS = new nsHtml5ElementName(nsHtml5Atoms::exists, nsHtml5Atoms::exists, NS_HTML5TREE_BUILDER_OTHER);
ELT_FETILE = new nsHtml5ElementName(nsHtml5Atoms::fetile, nsHtml5Atoms::feTile, NS_HTML5TREE_BUILDER_OTHER);
ELT_FIGURE = new nsHtml5ElementName(nsHtml5Atoms::figure, nsHtml5Atoms::figure, 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_FIGURE = new nsHtml5ElementName(nsHtml5Atoms::figure, nsHtml5Atoms::figure, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_FORALL = new nsHtml5ElementName(nsHtml5Atoms::forall, nsHtml5Atoms::forall, NS_HTML5TREE_BUILDER_OTHER);
ELT_FILTER = new nsHtml5ElementName(nsHtml5Atoms::filter, nsHtml5Atoms::filter, NS_HTML5TREE_BUILDER_OTHER);
ELT_FOOTER = new nsHtml5ElementName(nsHtml5Atoms::footer, nsHtml5Atoms::footer, 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_HGROUP = new nsHtml5ElementName(nsHtml5Atoms::hgroup, nsHtml5Atoms::hgroup, 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_HEADER = new nsHtml5ElementName(nsHtml5Atoms::header, nsHtml5Atoms::header, 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_FOOTER = new nsHtml5ElementName(nsHtml5Atoms::footer, nsHtml5Atoms::footer, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_HGROUP = new nsHtml5ElementName(nsHtml5Atoms::hgroup, nsHtml5Atoms::hgroup, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_HEADER = new nsHtml5ElementName(nsHtml5Atoms::header, nsHtml5Atoms::header, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_IFRAME = new nsHtml5ElementName(nsHtml5Atoms::iframe, nsHtml5Atoms::iframe, NS_HTML5TREE_BUILDER_IFRAME | NS_HTML5ELEMENT_NAME_SPECIAL);
ELT_KEYGEN = new nsHtml5ElementName(nsHtml5Atoms::keygen, nsHtml5Atoms::keygen, NS_HTML5TREE_BUILDER_KEYGEN);
ELT_LAMBDA = new nsHtml5ElementName(nsHtml5Atoms::lambda, nsHtml5Atoms::lambda, NS_HTML5TREE_BUILDER_OTHER);
@ -776,7 +778,7 @@ nsHtml5ElementName::initializeStatics()
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);
ELT_VECTOR = new nsHtml5ElementName(nsHtml5Atoms::vector, nsHtml5Atoms::vector, NS_HTML5TREE_BUILDER_OTHER);
ELT_ARTICLE = new nsHtml5ElementName(nsHtml5Atoms::article, nsHtml5Atoms::article, 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_ARTICLE = new nsHtml5ElementName(nsHtml5Atoms::article, nsHtml5Atoms::article, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_ANIMATE = new nsHtml5ElementName(nsHtml5Atoms::animate, nsHtml5Atoms::animate, NS_HTML5TREE_BUILDER_OTHER);
ELT_ARCSECH = new nsHtml5ElementName(nsHtml5Atoms::arcsech, nsHtml5Atoms::arcsech, NS_HTML5TREE_BUILDER_OTHER);
ELT_ARCCSCH = new nsHtml5ElementName(nsHtml5Atoms::arccsch, nsHtml5Atoms::arccsch, NS_HTML5TREE_BUILDER_OTHER);
@ -785,7 +787,7 @@ nsHtml5ElementName::initializeStatics()
ELT_ARCCOSH = new nsHtml5ElementName(nsHtml5Atoms::arccosh, nsHtml5Atoms::arccosh, NS_HTML5TREE_BUILDER_OTHER);
ELT_ARCCOTH = new nsHtml5ElementName(nsHtml5Atoms::arccoth, nsHtml5Atoms::arccoth, NS_HTML5TREE_BUILDER_OTHER);
ELT_ACRONYM = new nsHtml5ElementName(nsHtml5Atoms::acronym, nsHtml5Atoms::acronym, NS_HTML5TREE_BUILDER_OTHER);
ELT_ADDRESS = new nsHtml5ElementName(nsHtml5Atoms::address, nsHtml5Atoms::address, 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_ADDRESS = new nsHtml5ElementName(nsHtml5Atoms::address, nsHtml5Atoms::address, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_BGSOUND = new nsHtml5ElementName(nsHtml5Atoms::bgsound, nsHtml5Atoms::bgsound, NS_HTML5TREE_BUILDER_LINK_OR_BASEFONT_OR_BGSOUND | NS_HTML5ELEMENT_NAME_SPECIAL);
ELT_COMPOSE = new nsHtml5ElementName(nsHtml5Atoms::compose, nsHtml5Atoms::compose, NS_HTML5TREE_BUILDER_OTHER);
ELT_CEILING = new nsHtml5ElementName(nsHtml5Atoms::ceiling, nsHtml5Atoms::ceiling, NS_HTML5TREE_BUILDER_OTHER);
@ -793,7 +795,7 @@ nsHtml5ElementName::initializeStatics()
ELT_CAPTION = new nsHtml5ElementName(nsHtml5Atoms::caption, nsHtml5Atoms::caption, NS_HTML5TREE_BUILDER_CAPTION | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_SCOPING);
ELT_DISCARD = new nsHtml5ElementName(nsHtml5Atoms::discard, nsHtml5Atoms::discard, NS_HTML5TREE_BUILDER_OTHER);
ELT_DECLARE = new nsHtml5ElementName(nsHtml5Atoms::declare, nsHtml5Atoms::declare, NS_HTML5TREE_BUILDER_OTHER);
ELT_DETAILS = new nsHtml5ElementName(nsHtml5Atoms::details, nsHtml5Atoms::details, 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_DETAILS = new nsHtml5ElementName(nsHtml5Atoms::details, nsHtml5Atoms::details, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_ELLIPSE = new nsHtml5ElementName(nsHtml5Atoms::ellipse, nsHtml5Atoms::ellipse, NS_HTML5TREE_BUILDER_OTHER);
ELT_FEFUNCA = new nsHtml5ElementName(nsHtml5Atoms::fefunca, nsHtml5Atoms::feFuncA, NS_HTML5TREE_BUILDER_OTHER);
ELT_FEFUNCB = new nsHtml5ElementName(nsHtml5Atoms::fefuncb, nsHtml5Atoms::feFuncB, NS_HTML5TREE_BUILDER_OTHER);
@ -815,13 +817,13 @@ nsHtml5ElementName::initializeStatics()
ELT_MACTION = new nsHtml5ElementName(nsHtml5Atoms::maction, nsHtml5Atoms::maction, NS_HTML5TREE_BUILDER_OTHER);
ELT_MSUBSUP = new nsHtml5ElementName(nsHtml5Atoms::msubsup, nsHtml5Atoms::msubsup, NS_HTML5TREE_BUILDER_OTHER);
ELT_NOEMBED = new nsHtml5ElementName(nsHtml5Atoms::noembed, nsHtml5Atoms::noembed, NS_HTML5TREE_BUILDER_NOEMBED | NS_HTML5ELEMENT_NAME_SPECIAL);
ELT_PICTURE = new nsHtml5ElementName(nsHtml5Atoms::picture, nsHtml5Atoms::picture, NS_HTML5TREE_BUILDER_OTHER);
ELT_POLYGON = new nsHtml5ElementName(nsHtml5Atoms::polygon, nsHtml5Atoms::polygon, NS_HTML5TREE_BUILDER_OTHER);
ELT_PATTERN = new nsHtml5ElementName(nsHtml5Atoms::pattern, nsHtml5Atoms::pattern, NS_HTML5TREE_BUILDER_OTHER);
ELT_PICTURE = new nsHtml5ElementName(nsHtml5Atoms::picture, nsHtml5Atoms::picture, NS_HTML5TREE_BUILDER_OTHER);
ELT_PRODUCT = new nsHtml5ElementName(nsHtml5Atoms::product, nsHtml5Atoms::product, NS_HTML5TREE_BUILDER_OTHER);
ELT_SETDIFF = new nsHtml5ElementName(nsHtml5Atoms::setdiff, nsHtml5Atoms::setdiff, NS_HTML5TREE_BUILDER_OTHER);
ELT_SECTION = new nsHtml5ElementName(nsHtml5Atoms::section, nsHtml5Atoms::section, 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_SUMMARY = new nsHtml5ElementName(nsHtml5Atoms::summary, nsHtml5Atoms::summary, 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_SECTION = new nsHtml5ElementName(nsHtml5Atoms::section, nsHtml5Atoms::section, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_SUMMARY = new nsHtml5ElementName(nsHtml5Atoms::summary, nsHtml5Atoms::summary, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_TENDSTO = new nsHtml5ElementName(nsHtml5Atoms::tendsto, nsHtml5Atoms::tendsto, NS_HTML5TREE_BUILDER_OTHER);
ELT_UPLIMIT = new nsHtml5ElementName(nsHtml5Atoms::uplimit, nsHtml5Atoms::uplimit, NS_HTML5TREE_BUILDER_OTHER);
ELT_ALTGLYPH = new nsHtml5ElementName(nsHtml5Atoms::altglyph, nsHtml5Atoms::altGlyph, NS_HTML5TREE_BUILDER_OTHER);
@ -879,7 +881,7 @@ nsHtml5ElementName::initializeStatics()
ELT_DIVERGENCE = new nsHtml5ElementName(nsHtml5Atoms::divergence, nsHtml5Atoms::divergence, NS_HTML5TREE_BUILDER_OTHER);
ELT_EULERGAMMA = new nsHtml5ElementName(nsHtml5Atoms::eulergamma, nsHtml5Atoms::eulergamma, NS_HTML5TREE_BUILDER_OTHER);
ELT_EQUIVALENT = new nsHtml5ElementName(nsHtml5Atoms::equivalent, nsHtml5Atoms::equivalent, NS_HTML5TREE_BUILDER_OTHER);
ELT_FIGCAPTION = new nsHtml5ElementName(nsHtml5Atoms::figcaption, nsHtml5Atoms::figcaption, 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_FIGCAPTION = new nsHtml5ElementName(nsHtml5Atoms::figcaption, nsHtml5Atoms::figcaption, NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_IMAGINARYI = new nsHtml5ElementName(nsHtml5Atoms::imaginaryi, nsHtml5Atoms::imaginaryi, NS_HTML5TREE_BUILDER_OTHER);
ELT_MALIGNMARK = new nsHtml5ElementName(nsHtml5Atoms::malignmark, nsHtml5Atoms::malignmark, NS_HTML5TREE_BUILDER_MGLYPH_OR_MALIGNMARK);
ELT_MUNDEROVER = new nsHtml5ElementName(nsHtml5Atoms::munderover, nsHtml5Atoms::munderover, NS_HTML5TREE_BUILDER_OTHER);
@ -932,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*[397];
ELEMENT_NAMES = new nsHtml5ElementName*[398];
ELEMENT_NAMES[0] = ELT_A;
ELEMENT_NAMES[1] = ELT_B;
ELEMENT_NAMES[2] = ELT_G;
@ -1137,199 +1139,200 @@ nsHtml5ElementName::initializeStatics()
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_PICTURE;
ELEMENT_NAMES[283] = ELT_PRODUCT;
ELEMENT_NAMES[284] = ELT_SETDIFF;
ELEMENT_NAMES[285] = ELT_SECTION;
ELEMENT_NAMES[286] = ELT_SUMMARY;
ELEMENT_NAMES[287] = ELT_TENDSTO;
ELEMENT_NAMES[288] = ELT_UPLIMIT;
ELEMENT_NAMES[289] = ELT_ALTGLYPH;
ELEMENT_NAMES[290] = ELT_BASEFONT;
ELEMENT_NAMES[291] = ELT_CLIPPATH;
ELEMENT_NAMES[292] = ELT_CODOMAIN;
ELEMENT_NAMES[293] = ELT_COLGROUP;
ELEMENT_NAMES[294] = ELT_EMPTYSET;
ELEMENT_NAMES[295] = ELT_FACTOROF;
ELEMENT_NAMES[296] = ELT_FIELDSET;
ELEMENT_NAMES[297] = ELT_FRAMESET;
ELEMENT_NAMES[298] = ELT_FEOFFSET;
ELEMENT_NAMES[299] = ELT_GLYPHREF;
ELEMENT_NAMES[300] = ELT_INTERVAL;
ELEMENT_NAMES[301] = ELT_INTEGERS;
ELEMENT_NAMES[302] = ELT_INFINITY;
ELEMENT_NAMES[303] = ELT_LISTENER;
ELEMENT_NAMES[304] = ELT_LOWLIMIT;
ELEMENT_NAMES[305] = ELT_METADATA;
ELEMENT_NAMES[306] = ELT_MENCLOSE;
ELEMENT_NAMES[307] = ELT_MENUITEM;
ELEMENT_NAMES[308] = ELT_MPHANTOM;
ELEMENT_NAMES[309] = ELT_NOFRAMES;
ELEMENT_NAMES[310] = ELT_NOSCRIPT;
ELEMENT_NAMES[311] = ELT_OPTGROUP;
ELEMENT_NAMES[312] = ELT_POLYLINE;
ELEMENT_NAMES[313] = ELT_PREFETCH;
ELEMENT_NAMES[314] = ELT_PROGRESS;
ELEMENT_NAMES[315] = ELT_PRSUBSET;
ELEMENT_NAMES[316] = ELT_QUOTIENT;
ELEMENT_NAMES[317] = ELT_SELECTOR;
ELEMENT_NAMES[318] = ELT_TEXTAREA;
ELEMENT_NAMES[319] = ELT_TEMPLATE;
ELEMENT_NAMES[320] = ELT_TEXTPATH;
ELEMENT_NAMES[321] = ELT_VARIANCE;
ELEMENT_NAMES[322] = ELT_ANIMATION;
ELEMENT_NAMES[323] = ELT_CONJUGATE;
ELEMENT_NAMES[324] = ELT_CONDITION;
ELEMENT_NAMES[325] = ELT_COMPLEXES;
ELEMENT_NAMES[326] = ELT_FONT_FACE;
ELEMENT_NAMES[327] = ELT_FACTORIAL;
ELEMENT_NAMES[328] = ELT_INTERSECT;
ELEMENT_NAMES[329] = ELT_IMAGINARY;
ELEMENT_NAMES[330] = ELT_LAPLACIAN;
ELEMENT_NAMES[331] = ELT_MATRIXROW;
ELEMENT_NAMES[332] = ELT_NOTSUBSET;
ELEMENT_NAMES[333] = ELT_OTHERWISE;
ELEMENT_NAMES[334] = ELT_PIECEWISE;
ELEMENT_NAMES[335] = ELT_PLAINTEXT;
ELEMENT_NAMES[336] = ELT_RATIONALS;
ELEMENT_NAMES[337] = ELT_SEMANTICS;
ELEMENT_NAMES[338] = ELT_TRANSPOSE;
ELEMENT_NAMES[339] = ELT_ANNOTATION;
ELEMENT_NAMES[340] = ELT_BLOCKQUOTE;
ELEMENT_NAMES[341] = ELT_DIVERGENCE;
ELEMENT_NAMES[342] = ELT_EULERGAMMA;
ELEMENT_NAMES[343] = ELT_EQUIVALENT;
ELEMENT_NAMES[344] = ELT_FIGCAPTION;
ELEMENT_NAMES[345] = ELT_IMAGINARYI;
ELEMENT_NAMES[346] = ELT_MALIGNMARK;
ELEMENT_NAMES[347] = ELT_MUNDEROVER;
ELEMENT_NAMES[348] = ELT_MLABELEDTR;
ELEMENT_NAMES[349] = ELT_NOTANUMBER;
ELEMENT_NAMES[350] = ELT_SOLIDCOLOR;
ELEMENT_NAMES[351] = ELT_ALTGLYPHDEF;
ELEMENT_NAMES[352] = ELT_DETERMINANT;
ELEMENT_NAMES[353] = ELT_FEMERGENODE;
ELEMENT_NAMES[354] = ELT_FECOMPOSITE;
ELEMENT_NAMES[355] = ELT_FESPOTLIGHT;
ELEMENT_NAMES[356] = ELT_MALIGNGROUP;
ELEMENT_NAMES[357] = ELT_MPRESCRIPTS;
ELEMENT_NAMES[358] = ELT_MOMENTABOUT;
ELEMENT_NAMES[359] = ELT_NOTPRSUBSET;
ELEMENT_NAMES[360] = ELT_PARTIALDIFF;
ELEMENT_NAMES[361] = ELT_ALTGLYPHITEM;
ELEMENT_NAMES[362] = ELT_ANIMATECOLOR;
ELEMENT_NAMES[363] = ELT_DATATEMPLATE;
ELEMENT_NAMES[364] = ELT_EXPONENTIALE;
ELEMENT_NAMES[365] = ELT_FETURBULENCE;
ELEMENT_NAMES[366] = ELT_FEPOINTLIGHT;
ELEMENT_NAMES[367] = ELT_FEDROPSHADOW;
ELEMENT_NAMES[368] = ELT_FEMORPHOLOGY;
ELEMENT_NAMES[369] = ELT_OUTERPRODUCT;
ELEMENT_NAMES[370] = ELT_ANIMATEMOTION;
ELEMENT_NAMES[371] = ELT_COLOR_PROFILE;
ELEMENT_NAMES[372] = ELT_FONT_FACE_SRC;
ELEMENT_NAMES[373] = ELT_FONT_FACE_URI;
ELEMENT_NAMES[374] = ELT_FOREIGNOBJECT;
ELEMENT_NAMES[375] = ELT_FECOLORMATRIX;
ELEMENT_NAMES[376] = ELT_MISSING_GLYPH;
ELEMENT_NAMES[377] = ELT_MMULTISCRIPTS;
ELEMENT_NAMES[378] = ELT_SCALARPRODUCT;
ELEMENT_NAMES[379] = ELT_VECTORPRODUCT;
ELEMENT_NAMES[380] = ELT_ANNOTATION_XML;
ELEMENT_NAMES[381] = ELT_DEFINITION_SRC;
ELEMENT_NAMES[382] = ELT_FONT_FACE_NAME;
ELEMENT_NAMES[383] = ELT_FEGAUSSIANBLUR;
ELEMENT_NAMES[384] = ELT_FEDISTANTLIGHT;
ELEMENT_NAMES[385] = ELT_LINEARGRADIENT;
ELEMENT_NAMES[386] = ELT_NATURALNUMBERS;
ELEMENT_NAMES[387] = ELT_RADIALGRADIENT;
ELEMENT_NAMES[388] = ELT_ANIMATETRANSFORM;
ELEMENT_NAMES[389] = ELT_CARTESIANPRODUCT;
ELEMENT_NAMES[390] = ELT_FONT_FACE_FORMAT;
ELEMENT_NAMES[391] = ELT_FECONVOLVEMATRIX;
ELEMENT_NAMES[392] = ELT_FEDIFFUSELIGHTING;
ELEMENT_NAMES[393] = ELT_FEDISPLACEMENTMAP;
ELEMENT_NAMES[394] = ELT_FESPECULARLIGHTING;
ELEMENT_NAMES[395] = ELT_DOMAINOFAPPLICATION;
ELEMENT_NAMES[396] = ELT_FECOMPONENTTRANSFER;
ELEMENT_NAMES[204] = ELT_DIALOG;
ELEMENT_NAMES[205] = ELT_DOMAIN;
ELEMENT_NAMES[206] = ELT_EXISTS;
ELEMENT_NAMES[207] = ELT_FETILE;
ELEMENT_NAMES[208] = ELT_FIGURE;
ELEMENT_NAMES[209] = ELT_FORALL;
ELEMENT_NAMES[210] = ELT_FILTER;
ELEMENT_NAMES[211] = ELT_FOOTER;
ELEMENT_NAMES[212] = ELT_HGROUP;
ELEMENT_NAMES[213] = ELT_HEADER;
ELEMENT_NAMES[214] = ELT_IFRAME;
ELEMENT_NAMES[215] = ELT_KEYGEN;
ELEMENT_NAMES[216] = ELT_LAMBDA;
ELEMENT_NAMES[217] = ELT_LEGEND;
ELEMENT_NAMES[218] = ELT_MSPACE;
ELEMENT_NAMES[219] = ELT_MTABLE;
ELEMENT_NAMES[220] = ELT_MSTYLE;
ELEMENT_NAMES[221] = ELT_MGLYPH;
ELEMENT_NAMES[222] = ELT_MEDIAN;
ELEMENT_NAMES[223] = ELT_MUNDER;
ELEMENT_NAMES[224] = ELT_MARKER;
ELEMENT_NAMES[225] = ELT_MERROR;
ELEMENT_NAMES[226] = ELT_MOMENT;
ELEMENT_NAMES[227] = ELT_MATRIX;
ELEMENT_NAMES[228] = ELT_OPTION;
ELEMENT_NAMES[229] = ELT_OBJECT;
ELEMENT_NAMES[230] = ELT_OUTPUT;
ELEMENT_NAMES[231] = ELT_PRIMES;
ELEMENT_NAMES[232] = ELT_SOURCE;
ELEMENT_NAMES[233] = ELT_STRIKE;
ELEMENT_NAMES[234] = ELT_STRONG;
ELEMENT_NAMES[235] = ELT_SWITCH;
ELEMENT_NAMES[236] = ELT_SYMBOL;
ELEMENT_NAMES[237] = ELT_SELECT;
ELEMENT_NAMES[238] = ELT_SUBSET;
ELEMENT_NAMES[239] = ELT_SCRIPT;
ELEMENT_NAMES[240] = ELT_TBREAK;
ELEMENT_NAMES[241] = ELT_VECTOR;
ELEMENT_NAMES[242] = ELT_ARTICLE;
ELEMENT_NAMES[243] = ELT_ANIMATE;
ELEMENT_NAMES[244] = ELT_ARCSECH;
ELEMENT_NAMES[245] = ELT_ARCCSCH;
ELEMENT_NAMES[246] = ELT_ARCTANH;
ELEMENT_NAMES[247] = ELT_ARCSINH;
ELEMENT_NAMES[248] = ELT_ARCCOSH;
ELEMENT_NAMES[249] = ELT_ARCCOTH;
ELEMENT_NAMES[250] = ELT_ACRONYM;
ELEMENT_NAMES[251] = ELT_ADDRESS;
ELEMENT_NAMES[252] = ELT_BGSOUND;
ELEMENT_NAMES[253] = ELT_COMPOSE;
ELEMENT_NAMES[254] = ELT_CEILING;
ELEMENT_NAMES[255] = ELT_CSYMBOL;
ELEMENT_NAMES[256] = ELT_CAPTION;
ELEMENT_NAMES[257] = ELT_DISCARD;
ELEMENT_NAMES[258] = ELT_DECLARE;
ELEMENT_NAMES[259] = ELT_DETAILS;
ELEMENT_NAMES[260] = ELT_ELLIPSE;
ELEMENT_NAMES[261] = ELT_FEFUNCA;
ELEMENT_NAMES[262] = ELT_FEFUNCB;
ELEMENT_NAMES[263] = ELT_FEBLEND;
ELEMENT_NAMES[264] = ELT_FEFLOOD;
ELEMENT_NAMES[265] = ELT_FEIMAGE;
ELEMENT_NAMES[266] = ELT_FEMERGE;
ELEMENT_NAMES[267] = ELT_FEFUNCG;
ELEMENT_NAMES[268] = ELT_FEFUNCR;
ELEMENT_NAMES[269] = ELT_HANDLER;
ELEMENT_NAMES[270] = ELT_INVERSE;
ELEMENT_NAMES[271] = ELT_IMPLIES;
ELEMENT_NAMES[272] = ELT_ISINDEX;
ELEMENT_NAMES[273] = ELT_LOGBASE;
ELEMENT_NAMES[274] = ELT_LISTING;
ELEMENT_NAMES[275] = ELT_MFENCED;
ELEMENT_NAMES[276] = ELT_MPADDED;
ELEMENT_NAMES[277] = ELT_MARQUEE;
ELEMENT_NAMES[278] = ELT_MACTION;
ELEMENT_NAMES[279] = ELT_MSUBSUP;
ELEMENT_NAMES[280] = ELT_NOEMBED;
ELEMENT_NAMES[281] = ELT_PICTURE;
ELEMENT_NAMES[282] = ELT_POLYGON;
ELEMENT_NAMES[283] = ELT_PATTERN;
ELEMENT_NAMES[284] = ELT_PRODUCT;
ELEMENT_NAMES[285] = ELT_SETDIFF;
ELEMENT_NAMES[286] = ELT_SECTION;
ELEMENT_NAMES[287] = ELT_SUMMARY;
ELEMENT_NAMES[288] = ELT_TENDSTO;
ELEMENT_NAMES[289] = ELT_UPLIMIT;
ELEMENT_NAMES[290] = ELT_ALTGLYPH;
ELEMENT_NAMES[291] = ELT_BASEFONT;
ELEMENT_NAMES[292] = ELT_CLIPPATH;
ELEMENT_NAMES[293] = ELT_CODOMAIN;
ELEMENT_NAMES[294] = ELT_COLGROUP;
ELEMENT_NAMES[295] = ELT_EMPTYSET;
ELEMENT_NAMES[296] = ELT_FACTOROF;
ELEMENT_NAMES[297] = ELT_FIELDSET;
ELEMENT_NAMES[298] = ELT_FRAMESET;
ELEMENT_NAMES[299] = ELT_FEOFFSET;
ELEMENT_NAMES[300] = ELT_GLYPHREF;
ELEMENT_NAMES[301] = ELT_INTERVAL;
ELEMENT_NAMES[302] = ELT_INTEGERS;
ELEMENT_NAMES[303] = ELT_INFINITY;
ELEMENT_NAMES[304] = ELT_LISTENER;
ELEMENT_NAMES[305] = ELT_LOWLIMIT;
ELEMENT_NAMES[306] = ELT_METADATA;
ELEMENT_NAMES[307] = ELT_MENCLOSE;
ELEMENT_NAMES[308] = ELT_MENUITEM;
ELEMENT_NAMES[309] = ELT_MPHANTOM;
ELEMENT_NAMES[310] = ELT_NOFRAMES;
ELEMENT_NAMES[311] = ELT_NOSCRIPT;
ELEMENT_NAMES[312] = ELT_OPTGROUP;
ELEMENT_NAMES[313] = ELT_POLYLINE;
ELEMENT_NAMES[314] = ELT_PREFETCH;
ELEMENT_NAMES[315] = ELT_PROGRESS;
ELEMENT_NAMES[316] = ELT_PRSUBSET;
ELEMENT_NAMES[317] = ELT_QUOTIENT;
ELEMENT_NAMES[318] = ELT_SELECTOR;
ELEMENT_NAMES[319] = ELT_TEXTAREA;
ELEMENT_NAMES[320] = ELT_TEMPLATE;
ELEMENT_NAMES[321] = ELT_TEXTPATH;
ELEMENT_NAMES[322] = ELT_VARIANCE;
ELEMENT_NAMES[323] = ELT_ANIMATION;
ELEMENT_NAMES[324] = ELT_CONJUGATE;
ELEMENT_NAMES[325] = ELT_CONDITION;
ELEMENT_NAMES[326] = ELT_COMPLEXES;
ELEMENT_NAMES[327] = ELT_FONT_FACE;
ELEMENT_NAMES[328] = ELT_FACTORIAL;
ELEMENT_NAMES[329] = ELT_INTERSECT;
ELEMENT_NAMES[330] = ELT_IMAGINARY;
ELEMENT_NAMES[331] = ELT_LAPLACIAN;
ELEMENT_NAMES[332] = ELT_MATRIXROW;
ELEMENT_NAMES[333] = ELT_NOTSUBSET;
ELEMENT_NAMES[334] = ELT_OTHERWISE;
ELEMENT_NAMES[335] = ELT_PIECEWISE;
ELEMENT_NAMES[336] = ELT_PLAINTEXT;
ELEMENT_NAMES[337] = ELT_RATIONALS;
ELEMENT_NAMES[338] = ELT_SEMANTICS;
ELEMENT_NAMES[339] = ELT_TRANSPOSE;
ELEMENT_NAMES[340] = ELT_ANNOTATION;
ELEMENT_NAMES[341] = ELT_BLOCKQUOTE;
ELEMENT_NAMES[342] = ELT_DIVERGENCE;
ELEMENT_NAMES[343] = ELT_EULERGAMMA;
ELEMENT_NAMES[344] = ELT_EQUIVALENT;
ELEMENT_NAMES[345] = ELT_FIGCAPTION;
ELEMENT_NAMES[346] = ELT_IMAGINARYI;
ELEMENT_NAMES[347] = ELT_MALIGNMARK;
ELEMENT_NAMES[348] = ELT_MUNDEROVER;
ELEMENT_NAMES[349] = ELT_MLABELEDTR;
ELEMENT_NAMES[350] = ELT_NOTANUMBER;
ELEMENT_NAMES[351] = ELT_SOLIDCOLOR;
ELEMENT_NAMES[352] = ELT_ALTGLYPHDEF;
ELEMENT_NAMES[353] = ELT_DETERMINANT;
ELEMENT_NAMES[354] = ELT_FEMERGENODE;
ELEMENT_NAMES[355] = ELT_FECOMPOSITE;
ELEMENT_NAMES[356] = ELT_FESPOTLIGHT;
ELEMENT_NAMES[357] = ELT_MALIGNGROUP;
ELEMENT_NAMES[358] = ELT_MPRESCRIPTS;
ELEMENT_NAMES[359] = ELT_MOMENTABOUT;
ELEMENT_NAMES[360] = ELT_NOTPRSUBSET;
ELEMENT_NAMES[361] = ELT_PARTIALDIFF;
ELEMENT_NAMES[362] = ELT_ALTGLYPHITEM;
ELEMENT_NAMES[363] = ELT_ANIMATECOLOR;
ELEMENT_NAMES[364] = ELT_DATATEMPLATE;
ELEMENT_NAMES[365] = ELT_EXPONENTIALE;
ELEMENT_NAMES[366] = ELT_FETURBULENCE;
ELEMENT_NAMES[367] = ELT_FEPOINTLIGHT;
ELEMENT_NAMES[368] = ELT_FEDROPSHADOW;
ELEMENT_NAMES[369] = ELT_FEMORPHOLOGY;
ELEMENT_NAMES[370] = ELT_OUTERPRODUCT;
ELEMENT_NAMES[371] = ELT_ANIMATEMOTION;
ELEMENT_NAMES[372] = ELT_COLOR_PROFILE;
ELEMENT_NAMES[373] = ELT_FONT_FACE_SRC;
ELEMENT_NAMES[374] = ELT_FONT_FACE_URI;
ELEMENT_NAMES[375] = ELT_FOREIGNOBJECT;
ELEMENT_NAMES[376] = ELT_FECOLORMATRIX;
ELEMENT_NAMES[377] = ELT_MISSING_GLYPH;
ELEMENT_NAMES[378] = ELT_MMULTISCRIPTS;
ELEMENT_NAMES[379] = ELT_SCALARPRODUCT;
ELEMENT_NAMES[380] = ELT_VECTORPRODUCT;
ELEMENT_NAMES[381] = ELT_ANNOTATION_XML;
ELEMENT_NAMES[382] = ELT_DEFINITION_SRC;
ELEMENT_NAMES[383] = ELT_FONT_FACE_NAME;
ELEMENT_NAMES[384] = ELT_FEGAUSSIANBLUR;
ELEMENT_NAMES[385] = ELT_FEDISTANTLIGHT;
ELEMENT_NAMES[386] = ELT_LINEARGRADIENT;
ELEMENT_NAMES[387] = ELT_NATURALNUMBERS;
ELEMENT_NAMES[388] = ELT_RADIALGRADIENT;
ELEMENT_NAMES[389] = ELT_ANIMATETRANSFORM;
ELEMENT_NAMES[390] = ELT_CARTESIANPRODUCT;
ELEMENT_NAMES[391] = ELT_FONT_FACE_FORMAT;
ELEMENT_NAMES[392] = ELT_FECONVOLVEMATRIX;
ELEMENT_NAMES[393] = ELT_FEDIFFUSELIGHTING;
ELEMENT_NAMES[394] = ELT_FEDISPLACEMENTMAP;
ELEMENT_NAMES[395] = ELT_FESPECULARLIGHTING;
ELEMENT_NAMES[396] = ELT_DOMAINOFAPPLICATION;
ELEMENT_NAMES[397] = ELT_FECOMPONENTTRANSFER;
}
void
@ -1540,6 +1543,7 @@ nsHtml5ElementName::releaseStatics()
delete ELT_CANVAS;
delete ELT_DIVIDE;
delete ELT_DEGREE;
delete ELT_DIALOG;
delete ELT_DOMAIN;
delete ELT_EXISTS;
delete ELT_FETILE;
@ -1616,9 +1620,9 @@ nsHtml5ElementName::releaseStatics()
delete ELT_MACTION;
delete ELT_MSUBSUP;
delete ELT_NOEMBED;
delete ELT_PICTURE;
delete ELT_POLYGON;
delete ELT_PATTERN;
delete ELT_PICTURE;
delete ELT_PRODUCT;
delete ELT_SETDIFF;
delete ELT_SECTION;

View File

@ -1,6 +1,6 @@
/*
* Copyright (c) 2008-2014 Mozilla Foundation
* Copyright (c) 2019 Moonchild Productions
* Copyright (c) 2020 Moonchild Productions
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@ -279,6 +279,7 @@ class nsHtml5ElementName
static nsHtml5ElementName* ELT_CANVAS;
static nsHtml5ElementName* ELT_DIVIDE;
static nsHtml5ElementName* ELT_DEGREE;
static nsHtml5ElementName* ELT_DIALOG;
static nsHtml5ElementName* ELT_DOMAIN;
static nsHtml5ElementName* ELT_EXISTS;
static nsHtml5ElementName* ELT_FETILE;
@ -355,9 +356,9 @@ class nsHtml5ElementName
static nsHtml5ElementName* ELT_MACTION;
static nsHtml5ElementName* ELT_MSUBSUP;
static nsHtml5ElementName* ELT_NOEMBED;
static nsHtml5ElementName* ELT_PICTURE;
static nsHtml5ElementName* ELT_POLYGON;
static nsHtml5ElementName* ELT_PATTERN;
static nsHtml5ElementName* ELT_PICTURE;
static nsHtml5ElementName* ELT_PRODUCT;
static nsHtml5ElementName* ELT_SETDIFF;
static nsHtml5ElementName* ELT_SECTION;

View File

@ -1,7 +1,7 @@
/*
* Copyright (c) 2007 Henri Sivonen
* Copyright (c) 2007-2015 Mozilla Foundation
* Copyright (c) 2019 Moonchild Productions
* Copyright (c) 2020 Moonchild Productions
* Portions of comments Copyright 2004-2008 Apple Computer, Inc., Mozilla
* Foundation, and Opera Software ASA.
*
@ -1052,7 +1052,7 @@ nsHtml5TreeBuilder::startTag(nsHtml5ElementName* elementName, nsHtml5HtmlAttribu
case NS_HTML5TREE_BUILDER_P:
case NS_HTML5TREE_BUILDER_DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU:
case NS_HTML5TREE_BUILDER_UL_OR_OL_OR_DL:
case 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: {
case NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY: {
implicitlyCloseP();
appendToCurrentNodeAndPushElementMayFoster(elementName, attributes);
attributes = nullptr;
@ -2556,7 +2556,7 @@ nsHtml5TreeBuilder::endTag(nsHtml5ElementName* elementName)
case NS_HTML5TREE_BUILDER_PRE_OR_LISTING:
case NS_HTML5TREE_BUILDER_FIELDSET:
case NS_HTML5TREE_BUILDER_BUTTON:
case 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: {
case NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY: {
eltPos = findLastInScope(name);
if (eltPos == NS_HTML5TREE_BUILDER_NOT_FOUND_ON_STACK) {
errStrayEndTag(name);

View File

@ -1,7 +1,7 @@
/*
* Copyright (c) 2007 Henri Sivonen
* Copyright (c) 2007-2015 Mozilla Foundation
* Copyright (c) 2019 Moonchild Productions
* Copyright (c) 2020 Moonchild Productions
* Portions of comments Copyright 2004-2008 Apple Computer, Inc., Mozilla
* Foundation, and Opera Software ASA.
*
@ -333,7 +333,7 @@ class nsHtml5TreeBuilder : public nsAHtml5TreeBuilderState
#define NS_HTML5TREE_BUILDER_EMBED 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_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY 51
#define NS_HTML5TREE_BUILDER_ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_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_RB_OR_RTC 53
#define NS_HTML5TREE_BUILDER_PARAM_OR_SOURCE_OR_TRACK 55

View File

@ -151,6 +151,10 @@ const nsHTMLElement gHTMLElements[] = {
/*tag*/ eHTMLTag_dfn,
/*parent,leaf*/ kPhrase, false
},
{
/*tag*/ eHTMLTag_dialog,
/*parent,leaf*/ kBlock, false
},
{
/*tag*/ eHTMLTag_dir,
/*parent,leaf*/ kList, false

View File

@ -68,6 +68,7 @@ HTML_HTMLELEMENT_TAG(dd)
HTML_TAG(del, Mod)
HTML_TAG(details, Details)
HTML_HTMLELEMENT_TAG(dfn)
HTML_TAG(dialog, Dialog)
HTML_TAG(dir, Shared)
HTML_TAG(div, Div)
HTML_TAG(dl, SharedList)

View File

@ -3,9 +3,6 @@
[Window attribute: oncancel]
expected: FAIL
[Window attribute: onclose]
expected: FAIL
[Window attribute: oncuechange]
expected: FAIL

View File

@ -1,6 +1,6 @@
[interfaces.html]
type: testharness
prefs: [dom.forms.inputmode:true, dom.details_element.enabled:true]
prefs: [dom.forms.inputmode:true, dom.details_element.enabled:true, dom.dialog_element.enabled:true]
[Document interface: attribute domain]
expected: FAIL
@ -121,9 +121,6 @@
[Document interface: attribute oncancel]
expected: FAIL
[Document interface: attribute onclose]
expected: FAIL
[Document interface: attribute oncuechange]
expected: FAIL
@ -172,9 +169,6 @@
[Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type (97)]
expected: FAIL
[Document interface: iframe.contentDocument must inherit property "onclose" with the proper type (102)]
expected: FAIL
[Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type (104)]
expected: FAIL
@ -358,9 +352,6 @@
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncancel" with the proper type (97)]
expected: FAIL
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "onclose" with the proper type (102)]
expected: FAIL
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncuechange" with the proper type (104)]
expected: FAIL
@ -469,9 +460,6 @@
[HTMLElement interface: attribute oncancel]
expected: FAIL
[HTMLElement interface: attribute onclose]
expected: FAIL
[HTMLElement interface: attribute oncuechange]
expected: FAIL
@ -517,9 +505,6 @@
[HTMLElement interface: document.createElement("noscript") must inherit property "oncancel" with the proper type (29)]
expected: FAIL
[HTMLElement interface: document.createElement("noscript") must inherit property "onclose" with the proper type (34)]
expected: FAIL
[HTMLElement interface: document.createElement("noscript") must inherit property "oncuechange" with the proper type (36)]
expected: FAIL
@ -1324,33 +1309,6 @@
[RelatedEvent interface: attribute relatedTarget]
expected: FAIL
[HTMLDialogElement interface: existence and properties of interface object]
expected: FAIL
[HTMLDialogElement interface object length]
expected: FAIL
[HTMLDialogElement interface: existence and properties of interface prototype object]
expected: FAIL
[HTMLDialogElement interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[HTMLDialogElement interface: attribute open]
expected: FAIL
[HTMLDialogElement interface: attribute returnValue]
expected: FAIL
[HTMLDialogElement interface: operation show([object Object\],[object Object\])]
expected: FAIL
[HTMLDialogElement interface: operation showModal([object Object\],[object Object\])]
expected: FAIL
[HTMLDialogElement interface: operation close(DOMString)]
expected: FAIL
[HTMLCanvasElement interface: operation probablySupportsContext(DOMString,any)]
expected: FAIL
@ -1607,9 +1565,6 @@
[Window interface: attribute oncancel]
expected: FAIL
[Window interface: attribute onclose]
expected: FAIL
[Window interface: attribute oncuechange]
expected: FAIL
@ -1635,9 +1590,6 @@
[Window interface: window must inherit property "oncancel" with the proper type (42)]
expected: FAIL
[Window interface: window must inherit property "onclose" with the proper type (47)]
expected: FAIL
[Window interface: window must inherit property "oncuechange" with the proper type (49)]
expected: FAIL
@ -2119,9 +2071,6 @@
[Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type (98)]
expected: FAIL
[Document interface: iframe.contentDocument must inherit property "onclose" with the proper type (103)]
expected: FAIL
[Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type (105)]
expected: FAIL
@ -2257,9 +2206,6 @@
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncancel" with the proper type (98)]
expected: FAIL
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "onclose" with the proper type (103)]
expected: FAIL
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncuechange" with the proper type (105)]
expected: FAIL
@ -2332,9 +2278,6 @@
[RelatedEvent interface object name]
expected: FAIL
[HTMLDialogElement interface object name]
expected: FAIL
[CanvasProxy interface object name]
expected: FAIL
@ -2551,9 +2494,6 @@
[Document interface: new Document() must inherit property "oncancel" with the proper type (97)]
expected: FAIL
[Document interface: new Document() must inherit property "onclose" with the proper type (102)]
expected: FAIL
[Document interface: new Document() must inherit property "oncuechange" with the proper type (104)]
expected: FAIL
@ -2878,9 +2818,6 @@
[Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type (91)]
expected: FAIL
[Document interface: iframe.contentDocument must inherit property "onclose" with the proper type (96)]
expected: FAIL
[Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type (98)]
expected: FAIL
@ -2959,9 +2896,6 @@
[Document interface: new Document() must inherit property "oncancel" with the proper type (91)]
expected: FAIL
[Document interface: new Document() must inherit property "onclose" with the proper type (96)]
expected: FAIL
[Document interface: new Document() must inherit property "oncuechange" with the proper type (98)]
expected: FAIL
@ -3040,9 +2974,6 @@
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncancel" with the proper type (91)]
expected: FAIL
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "onclose" with the proper type (96)]
expected: FAIL
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncuechange" with the proper type (98)]
expected: FAIL
@ -3055,9 +2986,6 @@
[HTMLElement interface: document.createElement("noscript") must inherit property "oncancel" with the proper type (20)]
expected: FAIL
[HTMLElement interface: document.createElement("noscript") must inherit property "onclose" with the proper type (25)]
expected: FAIL
[HTMLElement interface: document.createElement("noscript") must inherit property "oncuechange" with the proper type (27)]
expected: FAIL
@ -3214,9 +3142,6 @@
[Window interface: window must inherit property "oncancel" with the proper type (40)]
expected: FAIL
[Window interface: window must inherit property "onclose" with the proper type (45)]
expected: FAIL
[Window interface: window must inherit property "oncuechange" with the proper type (47)]
expected: FAIL
@ -3271,9 +3196,6 @@
[Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type (92)]
expected: FAIL
[Document interface: iframe.contentDocument must inherit property "onclose" with the proper type (97)]
expected: FAIL
[Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type (99)]
expected: FAIL
@ -3352,9 +3274,6 @@
[Document interface: new Document() must inherit property "oncancel" with the proper type (92)]
expected: FAIL
[Document interface: new Document() must inherit property "onclose" with the proper type (97)]
expected: FAIL
[Document interface: new Document() must inherit property "oncuechange" with the proper type (99)]
expected: FAIL
@ -3433,9 +3352,6 @@
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncancel" with the proper type (92)]
expected: FAIL
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "onclose" with the proper type (97)]
expected: FAIL
[Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncuechange" with the proper type (99)]
expected: FAIL

View File

@ -1,6 +1,6 @@
[reflection-misc.html]
type: testharness
prefs: [dom.details_element.enabled:true]
prefs: [dom.details_element.enabled: true, dom.dialog_element.enabled: true]
[html.tabIndex: setAttribute() to object "3" followed by getAttribute()]
expected: FAIL

View File

@ -1,20 +1,3 @@
[dialog-close.html]
type: testharness
[close() fires a close event]
expected: FAIL
[close() on a <dialog> that doesn't have an open attribute throws an InvalidStateError exception]
expected: FAIL
[close() removes the open attribute and set the returnValue to the first argument]
expected: FAIL
[close() without argument removes the open attribute and there's no returnValue]
expected: FAIL
[close() should set the returnValue IDL attribute but not the JS property]
expected: FAIL
[close() on a <dialog> that doesn't have an open attribute aborts the steps]
expected: FAIL
prefs: [dom.dialog_element.enabled:true]

View File

@ -1,8 +1,3 @@
[dialog-open.html]
type: testharness
[On getting, the IDL open attribute must return true if the content open attribute is set, and false if it is absent.]
expected: FAIL
[On setting, the content open attribute must be removed if the IDL open attribute is set to false, and must be present if the IDL open attribute is set to true.]
expected: FAIL
prefs: [dom.dialog_element.enabled:true]

View File

@ -1,14 +1,9 @@
[dialog-showModal.html]
type: testharness
prefs: [dom.dialog_element.enabled:true]
[dialog element: showModal()]
expected: FAIL
[showModal() on a <dialog> that already has an open attribute throws an InvalidStateError exception]
expected: FAIL
[showModal() on a <dialog> not in a Document throws an InvalidStateError exception]
expected: FAIL
[when opening multiple dialogs, only the newest one is non-inert]
expected: FAIL

View File

@ -1,6 +1,6 @@
[interfaces.html]
type: testharness
prefs: [dom.details_element.enabled:true]
prefs: [dom.details_element.enabled: true, dom.dialog_element.enabled: true]
[Interfaces for image]
expected: FAIL
@ -13,9 +13,6 @@
[Interfaces for bdi]
expected: FAIL
[Interfaces for dialog]
expected: FAIL
[Interfaces for IMAGE]
expected: FAIL
@ -28,9 +25,6 @@
[Interfaces for BDI]
expected: FAIL
[Interfaces for DIALOG]
expected: FAIL
[Interfaces for slot]
expected: FAIL

View File

@ -118,9 +118,6 @@
[SVGElement interface: svg must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: svg must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: svg must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -136,9 +133,6 @@
[SVGElement interface: g must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: g must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: g must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -169,9 +163,6 @@
[SVGElement interface: defs must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: defs must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: defs must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -187,9 +178,6 @@
[SVGElement interface: Desc must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: Desc must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: Desc must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -205,9 +193,6 @@
[SVGElement interface: metadata must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: metadata must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: metadata must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -223,9 +208,6 @@
[SVGElement interface: title must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: title must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: title must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -241,9 +223,6 @@
[SVGElement interface: symbol must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: symbol must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: symbol must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -259,9 +238,6 @@
[SVGElement interface: use must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: use must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: use must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -277,9 +253,6 @@
[SVGElement interface: Switch must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: Switch must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: Switch must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -295,9 +268,6 @@
[SVGElement interface: style must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: style must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: style must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -406,9 +376,6 @@
[SVGElement interface: circle must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: circle must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: circle must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -442,9 +409,6 @@
[SVGElement interface: ellipse must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: ellipse must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: ellipse must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -478,9 +442,6 @@
[SVGElement interface: line must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: line must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: line must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -514,9 +475,6 @@
[SVGElement interface: polyline must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: polyline must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: polyline must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -550,9 +508,6 @@
[SVGElement interface: polygon must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: polygon must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: polygon must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -658,9 +613,6 @@
[SVGElement interface: textContent must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: textContent must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: textContent must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -676,9 +628,6 @@
[SVGElement interface: text must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: text must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: text must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -694,9 +643,6 @@
[SVGElement interface: tspan must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: tspan must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: tspan must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -712,9 +658,6 @@
[SVGElement interface: textPath must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: textPath must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: textPath must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -736,9 +679,6 @@
[SVGElement interface: image must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: image must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: image must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -754,9 +694,6 @@
[SVGElement interface: foreignObject must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: foreignObject must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: foreignObject must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -778,9 +715,6 @@
[SVGElement interface: marker must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: marker must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: marker must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -811,9 +745,6 @@
[SVGElement interface: linearGradient must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: linearGradient must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: linearGradient must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -829,9 +760,6 @@
[SVGElement interface: radialGradient must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: radialGradient must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: radialGradient must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -892,9 +820,6 @@
[SVGElement interface: stop must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: stop must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: stop must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -910,9 +835,6 @@
[SVGElement interface: pattern must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: pattern must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: pattern must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -997,9 +919,6 @@
[SVGElement interface: cursor must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: cursor must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: cursor must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1018,9 +937,6 @@
[SVGElement interface: script must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: script must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: script must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1045,9 +961,6 @@
[SVGElement interface: a must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: a must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: a must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1063,9 +976,6 @@
[SVGElement interface: view must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: view must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: view must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1081,9 +991,6 @@
[SVGElement interface: filter must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: filter must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: filter must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1099,9 +1006,6 @@
[SVGElement interface: feBlend must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feBlend must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feBlend must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1117,9 +1021,6 @@
[SVGElement interface: feColorMatrix must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feColorMatrix must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feColorMatrix must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1135,9 +1036,6 @@
[SVGElement interface: feComponentTransfer must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feComponentTransfer must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feComponentTransfer must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1153,9 +1051,6 @@
[SVGElement interface: feFuncR must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feFuncR must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feFuncR must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1171,9 +1066,6 @@
[SVGElement interface: feFuncG must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feFuncG must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feFuncG must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1189,9 +1081,6 @@
[SVGElement interface: feFuncB must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feFuncB must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feFuncB must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1207,9 +1096,6 @@
[SVGElement interface: feFuncA must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feFuncA must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feFuncA must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1225,9 +1111,6 @@
[SVGElement interface: feComposite must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feComposite must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feComposite must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1243,9 +1126,6 @@
[SVGElement interface: feConvolveMatrix must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feConvolveMatrix must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feConvolveMatrix must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1261,9 +1141,6 @@
[SVGElement interface: feDiffuseLighting must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feDiffuseLighting must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feDiffuseLighting must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1279,9 +1156,6 @@
[SVGElement interface: fePointLight must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: fePointLight must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: fePointLight must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1297,9 +1171,6 @@
[SVGElement interface: feSpotLight must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feSpotLight must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feSpotLight must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1315,9 +1186,6 @@
[SVGElement interface: feDisplacementMap must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feDisplacementMap must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feDisplacementMap must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1333,9 +1201,6 @@
[SVGElement interface: feDropShadow must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feDropShadow must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feDropShadow must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1351,9 +1216,6 @@
[SVGElement interface: feFlood must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feFlood must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feFlood must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1411,9 +1273,6 @@
[SVGElement interface: feGaussianBlur must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feGaussianBlur must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feGaussianBlur must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1435,9 +1294,6 @@
[SVGElement interface: feImage must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feImage must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feImage must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1453,9 +1309,6 @@
[SVGElement interface: feMerge must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feMerge must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feMerge must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1471,9 +1324,6 @@
[SVGElement interface: feMergeNode must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feMergeNode must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feMergeNode must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1489,9 +1339,6 @@
[SVGElement interface: feMorphology must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feMorphology must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feMorphology must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1507,9 +1354,6 @@
[SVGElement interface: feSpecularLighting must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feSpecularLighting must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feSpecularLighting must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1525,9 +1369,6 @@
[SVGElement interface: feTile must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feTile must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feTile must inherit property "oncuechange" with the proper type (18)]
expected: FAIL
@ -1543,9 +1384,6 @@
[SVGElement interface: feTurbulence must inherit property "oncancel" with the proper type (11)]
expected: FAIL
[SVGElement interface: feTurbulence must inherit property "onclose" with the proper type (16)]
expected: FAIL
[SVGElement interface: feTurbulence must inherit property "oncuechange" with the proper type (18)]
expected: FAIL

View File

@ -457,6 +457,9 @@ NS_EVENT_MESSAGE(eVisibilityChange)
// Details element events.
NS_EVENT_MESSAGE(eToggle)
// Dialog element events.
NS_EVENT_MESSAGE(eClose)
#ifdef UNDEF_NS_EVENT_MESSAGE_FIRST_LAST
#undef UNDEF_NS_EVENT_MESSAGE_FIRST_LAST
#undef NS_EVENT_MESSAGE_FIRST_LAST

View File

@ -323,7 +323,7 @@ nsWebShellWindow::RequestWindowClose(nsIWidget* aWidget)
RefPtr<nsPresContext> presContext = presShell->GetPresContext();
nsEventStatus status = nsEventStatus_eIgnore;
WidgetMouseEvent event(true, eWindowClose, nullptr,
WidgetMouseEvent event(true, eClose, nullptr,
WidgetMouseEvent::eReal);
if (NS_SUCCEEDED(eventTarget->DispatchDOMEvent(&event, nullptr, presContext, &status)) &&
status == nsEventStatus_eConsumeNoDefault)
@ -759,7 +759,7 @@ bool nsWebShellWindow::ExecuteCloseHandler()
contentViewer->GetPresContext(getter_AddRefs(presContext));
nsEventStatus status = nsEventStatus_eIgnore;
WidgetMouseEvent event(true, eWindowClose, nullptr,
WidgetMouseEvent event(true, eClose, nullptr,
WidgetMouseEvent::eReal);
nsresult rv =