Backed out 7 changesets (bug 1322938) for test_lowDiskSpace.html failures on android a=backout
authorWes Kocher <wkocher@mozilla.com>
Fri, 23 Dec 2016 20:55:55 -0800
changeset 327294 6a9625f2382a3ab5d7b6fbaa39e9397da57a2b82
parent 327293 1de6bfc4c9737598cf51ea92dca3ed7652244c19
child 327295 79598bf912839f42ebf1231b5e1840bd221522ab
push id31122
push userphilringnalda@gmail.com
push dateSun, 25 Dec 2016 00:51:37 +0000
treeherdermozilla-central@1156db49e976 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbackout
bugs1322938
milestone53.0a1
backs out1de6bfc4c9737598cf51ea92dca3ed7652244c19
45b81607acd2dbec60c916dbe059c8e6ced91d91
2f3c2e660d28bac8fb3e125e904df3f91b89721d
d93937b3f80e61fe0b1236d9312b8e41f44e7cf5
91c8b6d99e3513c0eda1e95e6f0ad2f39a2e8978
b6bdaf0dd93250e192d7fe75164a5933ba335282
4b6ed4bb4263b3fc1d916dd3a0c6ccba65c32568
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 7 changesets (bug 1322938) for test_lowDiskSpace.html failures on android a=backout Backed out changeset 1de6bfc4c973 (bug 1322938) Backed out changeset 45b81607acd2 (bug 1322938) Backed out changeset 2f3c2e660d28 (bug 1322938) Backed out changeset d93937b3f80e (bug 1322938) Backed out changeset 91c8b6d99e35 (bug 1322938) Backed out changeset b6bdaf0dd932 (bug 1322938) Backed out changeset 4b6ed4bb4263 (bug 1322938)
CLOBBER
accessible/tests/mochitest/elm/test_HTMLSpec.html
dom/events/EventNameList.h
dom/html/HTMLDialogElement.cpp
dom/html/HTMLDialogElement.h
dom/html/moz.build
dom/html/nsGenericHTMLElement.h
dom/html/test/mochitest.ini
dom/html/test/test_dialog_pref.html
dom/tests/mochitest/general/test_interfaces.html
dom/webidl/EventHandler.webidl
dom/webidl/HTMLDialogElement.webidl
dom/webidl/moz.build
editor/libeditor/HTMLEditUtils.cpp
layout/style/res/html.css
modules/libpref/init/all.js
parser/html/javasrc/ElementName.java
parser/html/javasrc/TreeBuilder.java
parser/html/nsHtml5AtomList.h
parser/html/nsHtml5ElementName.cpp
parser/html/nsHtml5ElementName.h
parser/html/nsHtml5TreeBuilder.cpp
parser/html/nsHtml5TreeBuilder.h
parser/htmlparser/nsElementTable.cpp
parser/htmlparser/nsHTMLTagList.h
testing/web-platform/meta/html/browsers/the-window-object/window-properties.html.ini
testing/web-platform/meta/html/dom/interfaces.html.ini
testing/web-platform/meta/html/dom/reflection-misc.html.ini
testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-close.html.ini
testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-open.html.ini
testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html.ini
testing/web-platform/meta/html/semantics/interfaces.html.ini
testing/web-platform/meta/svg/interfaces.html.ini
widget/EventMessageList.h
--- a/CLOBBER
+++ b/CLOBBER
@@ -17,9 +17,9 @@
 #
 # Modifying this file will now automatically clobber the buildbot machines \o/
 #
 
 # Are you updating CLOBBER because you think it's needed for your WebIDL
 # changes to stick? As of bug 928195, this shouldn't be necessary! Please
 # don't change CLOBBER for WebIDL changes any more.
 
-Bug 1322938 (relanding) needs a clobber for test_lowDiskSpace.html on Android
+Bug 1322938 needs a clobber for test_lowDiskSpace.html on Android
--- a/accessible/tests/mochitest/elm/test_HTMLSpec.html
+++ b/accessible/tests/mochitest/elm/test_HTMLSpec.html
@@ -416,17 +416,17 @@
           { role: ROLE_TEXT_LEAF } // plain text
         ]
       };
       testElm("dfn_container", obj);
 
       //////////////////////////////////////////////////////////////////////////
       // HTML:dialog
 
-      ok(isAccessible("dialog"), "dialog element is not accessible");
+      todo(isAccessible("dialog"), "dialog element is not accessible");
 
       //////////////////////////////////////////////////////////////////////////
       // HTML:div
 
       obj = {
         role: ROLE_SECTION,
         interfaces: [ nsIAccessibleText, nsIAccessibleHyperText ],
         children: [
--- a/dom/events/EventNameList.h
+++ b/dom/events/EventNameList.h
@@ -167,20 +167,16 @@ EVENT(change,
 EVENT(auxclick,
       eMouseAuxClick,
       EventNameType_All,
       eMouseEventClass)
 EVENT(click,
       eMouseClick,
       EventNameType_All,
       eMouseEventClass)
-EVENT(close,
-      eClose,
-      EventNameType_HTML,
-      eBasicEventClass)
 EVENT(contextmenu,
       eContextMenu,
       EventNameType_HTMLXUL,
       eMouseEventClass)
 NON_IDL_EVENT(mouselongtap,
       eMouseLongTap,
       EventNameType_HTMLXUL,
       eMouseEventClass)
@@ -1089,8 +1085,9 @@ NON_IDL_EVENT(complete,
 
 #ifdef MESSAGE_TO_EVENT
 #undef EVENT
 #undef WINDOW_ONLY_EVENT
 #undef TOUCH_EVENT
 #undef DOCUMENT_ONLY_EVENT
 #undef NON_IDL_EVENT
 #endif /* MESSAGE_TO_EVENT */
+
deleted file mode 100644
--- a/dom/html/HTMLDialogElement.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/* -*- 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
deleted file mode 100644
--- a/dom/html/HTMLDialogElement.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- 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
--- a/dom/html/moz.build
+++ b/dom/html/moz.build
@@ -50,17 +50,16 @@ EXPORTS.mozilla.dom += [
     'HTMLBodyElement.h',
     'HTMLBRElement.h',
     'HTMLButtonElement.h',
     'HTMLCanvasElement.h',
     'HTMLContentElement.h',
     'HTMLDataElement.h',
     'HTMLDataListElement.h',
     'HTMLDetailsElement.h',
-    'HTMLDialogElement.h',
     'HTMLDivElement.h',
     'HTMLFieldSetElement.h',
     'HTMLFontElement.h',
     'HTMLFormControlsCollection.h',
     'HTMLFormElement.h',
     'HTMLFormSubmission.h',
     'HTMLFrameElement.h',
     'HTMLFrameSetElement.h',
@@ -129,17 +128,16 @@ UNIFIED_SOURCES += [
     'HTMLBodyElement.cpp',
     'HTMLBRElement.cpp',
     'HTMLButtonElement.cpp',
     'HTMLCanvasElement.cpp',
     'HTMLContentElement.cpp',
     'HTMLDataElement.cpp',
     'HTMLDataListElement.cpp',
     'HTMLDetailsElement.cpp',
-    'HTMLDialogElement.cpp',
     'HTMLDivElement.cpp',
     'HTMLElement.cpp',
     'HTMLFieldSetElement.cpp',
     'HTMLFontElement.cpp',
     'HTMLFormControlsCollection.cpp',
     'HTMLFormElement.cpp',
     'HTMLFormSubmission.cpp',
     'HTMLFrameElement.cpp',
--- a/dom/html/nsGenericHTMLElement.h
+++ b/dom/html/nsGenericHTMLElement.h
@@ -1653,17 +1653,16 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT(BR)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Body)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Button)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Canvas)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Content)
 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)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Form)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Frame)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(FrameSet)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(HR)
 NS_DECLARE_NS_NEW_HTML_ELEMENT_AS_SHARED(Head)
--- a/dom/html/test/mochitest.ini
+++ b/dom/html/test/mochitest.ini
@@ -421,17 +421,16 @@ support-files =
 [test_bug1003539.html]
 [test_bug1045270.html]
 [test_bug1146116.html]
 [test_bug1264157.html]
 [test_bug1287321.html]
 [test_bug1323815.html]
 [test_change_crossorigin.html]
 [test_checked.html]
-[test_dialog_pref.html]
 [test_dir_attributes_reflection.html]
 [test_dl_attributes_reflection.html]
 [test_element_prototype.html]
 [test_embed_attributes_reflection.html]
 [test_focusshift_button.html]
 [test_formData.html]
 [test_formSubmission.html]
 skip-if = toolkit == 'android' #TIMED_OUT
deleted file mode 100644
--- a/dom/html/test/test_dialog_pref.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=dialog-element
--->
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <title>Test dialog pref</title>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>        
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-<a target="_blank"
-href="https://bugzilla.mozilla.org/show_bug.cgi?id=dialog-element">Test dialog element pref</a>
-<div id="testDiv">
-</div>
-<pre id="test">
-<script class="testbody" type="text/javascript">
-
-/** Test for dom.dialog_element.enabled **/
-
-SimpleTest.waitForExplicitFinish();
-
-function testPref() {
-  is(typeof HTMLDialogElement, "undefined",
-     "HTMLDialogElement should not be exposed with pref disabled");
-
-  info("Testing if createElement doesn't expose HTMLDialogElement with pref disabled");
-  let newElement = document.createElement("dialog");
-  testElement(newElement);
-
-  info("Testing if HTML Parser doesn't expose HTMLDialogElement with pref disabled");
-  let testDiv = document.getElementById("testDiv");
-  testDiv.innerHTML = "<dialog></dialog>";
-  testElement(testDiv.firstChild);
-
-  SimpleTest.finish();
-}
-
-function testElement(element) {
-  ok(element instanceof HTMLUnknownElement,
-     "New <dialog> should be instances of HTMLUnknownElement when pref is disabled");
-}
-addLoadEvent(testPref);
-
-</script>
-</pre>
-</body>
-</html>
--- a/dom/tests/mochitest/general/test_interfaces.html
+++ b/dom/tests/mochitest/general/test_interfaces.html
@@ -442,18 +442,16 @@ var interfaceNamesInGlobalScope =
     "HTMLContentElement",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "HTMLDataElement",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "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!
     "HTMLDivElement",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "HTMLDListElement",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "HTMLDocument",
 // IMPORTANT: Do not change this list without review from a DOM peer!
--- a/dom/webidl/EventHandler.webidl
+++ b/dom/webidl/EventHandler.webidl
@@ -33,17 +33,17 @@ interface GlobalEventHandlers {
 //         attribute OnErrorEventHandler onerror;
            attribute EventHandler onfocus;
            //(Not implemented)attribute EventHandler oncancel;
            attribute EventHandler onauxclick;
            attribute EventHandler oncanplay;
            attribute EventHandler oncanplaythrough;
            attribute EventHandler onchange;
            attribute EventHandler onclick;
-           attribute EventHandler onclose;
+           //(Not implemented)attribute EventHandler onclose;
            attribute EventHandler oncontextmenu;
            //(Not implemented)attribute EventHandler oncuechange;
            attribute EventHandler ondblclick;
            attribute EventHandler ondrag;
            attribute EventHandler ondragend;
            attribute EventHandler ondragenter;
            attribute EventHandler ondragexit;
            attribute EventHandler ondragleave;
deleted file mode 100644
--- a/dom/webidl/HTMLDialogElement.webidl
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- 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);
-};
--- a/dom/webidl/moz.build
+++ b/dom/webidl/moz.build
@@ -184,17 +184,16 @@ WEBIDL_FILES = [
     'HTMLBRElement.webidl',
     'HTMLButtonElement.webidl',
     'HTMLCanvasElement.webidl',
     'HTMLCollection.webidl',
     'HTMLContentElement.webidl',
     'HTMLDataElement.webidl',
     'HTMLDataListElement.webidl',
     'HTMLDetailsElement.webidl',
-    'HTMLDialogElement.webidl',
     'HTMLDirectoryElement.webidl',
     'HTMLDivElement.webidl',
     'HTMLDListElement.webidl',
     'HTMLDocument.webidl',
     'HTMLElement.webidl',
     'HTMLEmbedElement.webidl',
     'HTMLFieldSetElement.webidl',
     'HTMLFontElement.webidl',
--- a/editor/libeditor/HTMLEditUtils.cpp
+++ b/editor/libeditor/HTMLEditUtils.cpp
@@ -512,19 +512,19 @@ HTMLEditUtils::SupportsAlignAttr(nsIDOMN
 // a, applet, basefont, bdo, br, font, iframe, img, map, meter, object, output,
 // picture, progress, q, script, span, sub, sup
 #define GROUP_SPECIAL          (1 << 5)
 
 // button, form, input, label, select, textarea
 #define GROUP_FORMCONTROL      (1 << 6)
 
 // address, applet, article, aside, blockquote, button, center, del, details,
-// 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
+// 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
 #define GROUP_FRAME            (1 << 8)
 
 // col, tbody
 #define GROUP_TABLE_CONTENT    (1 << 9)
 
@@ -633,17 +633,16 @@ static const ElementInfo kElements[eHTML
   ELEM(content, true, false, GROUP_NONE, GROUP_INLINE_ELEMENT),
   ELEM(data, true, false, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
   ELEM(datalist, true, false, GROUP_PHRASE,
        GROUP_OPTIONS | GROUP_INLINE_ELEMENT),
   ELEM(dd, true, false, GROUP_DL_CONTENT, GROUP_FLOW_ELEMENT),
   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),
   ELEM(dt, true, true, GROUP_DL_CONTENT, GROUP_INLINE_ELEMENT),
   ELEM(em, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
   ELEM(embed, false, false, GROUP_NONE, GROUP_NONE),
   ELEM(fieldset, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
   ELEM(figcaption, true, false, GROUP_FIGCAPTION, GROUP_FLOW_ELEMENT),
--- a/layout/style/res/html.css
+++ b/layout/style/res/html.css
@@ -793,37 +793,16 @@ details[open] > summary:-moz-native-anon
   list-style-type: disclosure-open;
 }
 
 details > summary:first-of-type > *|* {
   /* Cancel "list-style-position: inside" inherited from summary. */
   list-style-position: initial;
 }
 
-/* <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;
   display: inline-block;
   vertical-align: text-bottom;
   text-align: start;
   -moz-binding: url('chrome://xbl-marquee/content/xbl-marquee.xml#marquee-horizontal');
 }
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5428,19 +5428,16 @@ pref("narrate.filter-voices", true);
 // Whether to allow, on a Linux system that doesn't support the necessary sandboxing
 // features, loading Gecko Media Plugins unsandboxed.  However, EME CDMs will not be
 // loaded without sandboxing even if this pref is changed.
 pref("media.gmp.insecure.allow", false);
 #endif
 
 pref("dom.audiochannel.mutedByDefault", false);
 
-// HTML <dialog> element
-pref("dom.dialog_element.enabled", false);
-
 // Secure Element API
 #ifdef MOZ_SECUREELEMENT
 pref("dom.secureelement.enabled", false);
 #endif
 
 // Allow control characters appear in composition string.
 // When this is false, control characters except
 // CHARACTER TABULATION (horizontal tab) are removed from
@@ -5562,9 +5559,10 @@ pref("dom.storageManager.enabled", false
 // a single web page in a row, all following authentication dialogs will
 // be blocked (automatically canceled) for that page. The counter resets
 // when the page is reloaded. To turn this feature off, just set the limit to 0.
 pref("prompts.authentication_dialog_abuse_limit", 3);
 
 // Enable the Storage management in about:preferences and persistent-storage permission request
 // To enable the DOM implementation, turn on "dom.storageManager.enabled"
 pref("browser.storageManager.enabled", false);
+
 pref("dom.IntersectionObserver.enabled", false);
--- a/parser/html/javasrc/ElementName.java
+++ b/parser/html/javasrc/ElementName.java
@@ -1,27 +1,27 @@
 /*
- * Copyright (c) 2008-2016 Mozilla Foundation
+ * Copyright (c) 2008-2014 Mozilla Foundation
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
+ * Permission is hereby granted, free of charge, to any person obtaining a 
+ * copy of this software and associated documentation files (the "Software"), 
+ * to deal in the Software without restriction, including without limitation 
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ * and/or sell copies of the Software, and to permit persons to whom the 
  * Software is furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included in
+ * The above copyright notice and this permission notice shall be included in 
  * all copies or substantial portions of the Software.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
  * DEALINGS IN THE SOFTWARE.
  */
 
 package nu.validator.htmlparser.impl;
 
 import java.util.Arrays;
 
 import nu.validator.htmlparser.annotation.Inline;
@@ -36,17 +36,17 @@ public final class ElementName
 {
 
     /**
      * The mask for extracting the dispatch group.
      */
     public static final int GROUP_MASK = 127;
 
     /**
-     * Indicates that the element is not a pre-interned element. Forbidden
+     * Indicates that the element is not a pre-interned element. Forbidden 
      * on preinterned elements.
      */
     public static final int CUSTOM = (1 << 30);
 
     /**
      * Indicates that the element is in the "special" category. This bit
      * should not be pre-set on MathML or SVG specials--only on HTML specials.
      */
@@ -93,21 +93,21 @@ public final class ElementName
     /**
      * The lowest 7 bits are the dispatch group. The high bits are flags.
      */
     public final int flags;
 
     @Inline public int getFlags() {
         return flags;
     }
-
+    
     public int getGroup() {
         return flags & GROUP_MASK;
     }
-
+    
     public boolean isCustom() {
         return (flags & CUSTOM) != 0;
     }
 
     static ElementName elementNameByBuffer(@NoLength char[] buf, int offset, int length, Interner interner) {
         int hash = ElementName.bufToHash(buf, length);
         int index = Arrays.binarySearch(ElementName.ELEMENT_HASHES, hash);
         if (index < 0) {
@@ -121,17 +121,17 @@ public final class ElementName
             }
             return elementName;
         }
     }
 
     /**
      * This method has to return a unique integer for each well-known
      * lower-cased element name.
-     *
+     * 
      * @param buf
      * @param len
      * @return
      */
     private static int bufToHash(@NoLength char[] buf, int len) {
         int hash = len;
         hash <<= 5;
         hash += buf[0] - 0x60;
@@ -151,30 +151,30 @@ public final class ElementName
         this.flags = flags;
     }
 
     protected ElementName(@Local String name) {
         this.name = name;
         this.camelCaseName = name;
         this.flags = TreeBuilder.OTHER | CUSTOM;
     }
-
+    
     @Virtual void release() {
-        // No-op in Java.
+        // No-op in Java. 
         // Implement as delete this in subclass.
         // Be sure to release the local name
     }
-
+    
     @SuppressWarnings("unused") @Virtual private void destructor() {
     }
 
     @Virtual public ElementName cloneElementName(Interner interner) {
         return this;
     }
-
+    
     // START CODE ONLY USED FOR GENERATING CODE uncomment and run to regenerate
 
 //    /**
 //     * @see java.lang.Object#toString()
 //     */
 //    @Override public String toString() {
 //        return "(\"" + name + "\", \"" + camelCaseName + "\", " + decomposedFlags() + ")";
 //    }
@@ -347,18 +347,18 @@ public final class ElementName
 //            case TreeBuilder.IMG:
 //                return "IMG";
 //            case TreeBuilder.AREA_OR_WBR:
 //                return "AREA_OR_WBR";
 //            case TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU:
 //                return "DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU";
 //            case TreeBuilder.FIELDSET:
 //                return "FIELDSET";
-//            case TreeBuilder.ADDRESS_OR_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:
-//                return "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";
+//            case 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:
+//                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.RB_OR_RTC:
 //                return "RB_OR_RTC";
 //            case TreeBuilder.RT_OR_RP:
 //                return "RT_OR_RP";
 //            case TreeBuilder.PARAM_OR_SOURCE_OR_TRACK:
 //                return "PARAM_OR_SOURCE_OR_TRACK";
@@ -461,17 +461,17 @@ public final class ElementName
     public static final ElementName BIG = new ElementName("big", "big", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
     public static final ElementName BDO = new ElementName("bdo", "bdo", TreeBuilder.OTHER);
     public static final ElementName CSC = new ElementName("csc", "csc", TreeBuilder.OTHER);
     public static final ElementName COL = new ElementName("col", "col", TreeBuilder.COL | SPECIAL);
     public static final ElementName COS = new ElementName("cos", "cos", TreeBuilder.OTHER);
     public static final ElementName COT = new ElementName("cot", "cot", TreeBuilder.OTHER);
     public static final ElementName DEL = new ElementName("del", "del", TreeBuilder.OTHER);
     public static final ElementName DFN = new ElementName("dfn", "dfn", TreeBuilder.OTHER);
-    public static final ElementName DIR = new ElementName("dir", "dir", TreeBuilder.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 | SPECIAL);
+    public static final ElementName DIR = new ElementName("dir", "dir", 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 DIV = new ElementName("div", "div", TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
     public static final ElementName EXP = new ElementName("exp", "exp", TreeBuilder.OTHER);
     public static final ElementName GCD = new ElementName("gcd", "gcd", TreeBuilder.OTHER);
     public static final ElementName GEQ = new ElementName("geq", "geq", TreeBuilder.OTHER);
     public static final ElementName IMG = new ElementName("img", "img", TreeBuilder.IMG | SPECIAL);
     public static final ElementName INS = new ElementName("ins", "ins", TreeBuilder.OTHER);
     public static final ElementName INT = new ElementName("int", "int", TreeBuilder.OTHER);
     public static final ElementName KBD = new ElementName("kbd", "kbd", TreeBuilder.OTHER);
@@ -480,17 +480,17 @@ public final class ElementName
     public static final ElementName LEQ = new ElementName("leq", "leq", TreeBuilder.OTHER);
     public static final ElementName MTD = new ElementName("mtd", "mtd", TreeBuilder.OTHER);
     public static final ElementName MIN = new ElementName("min", "min", TreeBuilder.OTHER);
     public static final ElementName MAP = new ElementName("map", "map", TreeBuilder.OTHER);
     public static final ElementName MTR = new ElementName("mtr", "mtr", TreeBuilder.OTHER);
     public static final ElementName MAX = new ElementName("max", "max", TreeBuilder.OTHER);
     public static final ElementName NEQ = new ElementName("neq", "neq", TreeBuilder.OTHER);
     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_DIALOG_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 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_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);
     public static final ElementName SVG = new ElementName("svg", "svg", TreeBuilder.SVG);
     public static final ElementName SUM = new ElementName("sum", "sum", TreeBuilder.OTHER);
     public static final ElementName SIN = new ElementName("sin", "sin", TreeBuilder.OTHER);
@@ -528,17 +528,17 @@ public final class ElementName
     public static final ElementName LIST = new ElementName("list", "list", TreeBuilder.OTHER);
     public static final ElementName META = new ElementName("meta", "meta", TreeBuilder.META | SPECIAL);
     public static final ElementName MSUB = new ElementName("msub", "msub", TreeBuilder.OTHER);
     public static final ElementName MODE = new ElementName("mode", "mode", TreeBuilder.OTHER);
     public static final ElementName MATH = new ElementName("math", "math", TreeBuilder.MATH);
     public static final ElementName MARK = new ElementName("mark", "mark", TreeBuilder.OTHER);
     public static final ElementName MASK = new ElementName("mask", "mask", TreeBuilder.OTHER);
     public static final ElementName MEAN = new ElementName("mean", "mean", TreeBuilder.OTHER);
-    public static final ElementName MAIN = new ElementName("main", "main", TreeBuilder.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 | SPECIAL);
+    public static final ElementName MAIN = new ElementName("main", "main", 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 MSUP = new ElementName("msup", "msup", TreeBuilder.OTHER);
     public static final ElementName MENU = new ElementName("menu", "menu", TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
     public static final ElementName MROW = new ElementName("mrow", "mrow", TreeBuilder.OTHER);
     public static final ElementName NONE = new ElementName("none", "none", TreeBuilder.OTHER);
     public static final ElementName NOBR = new ElementName("nobr", "nobr", TreeBuilder.NOBR);
     public static final ElementName NEST = new ElementName("nest", "nest", TreeBuilder.OTHER);
     public static final ElementName PATH = new ElementName("path", "path", TreeBuilder.OTHER);
     public static final ElementName PLUS = new ElementName("plus", "plus", TreeBuilder.OTHER);
@@ -555,17 +555,17 @@ public final class ElementName
     public static final ElementName STOP = new ElementName("stop", "stop", TreeBuilder.OTHER);
     public static final ElementName SDEV = new ElementName("sdev", "sdev", TreeBuilder.OTHER);
     public static final ElementName TIME = new ElementName("time", "time", TreeBuilder.OTHER);
     public static final ElementName TRUE = new ElementName("true", "true", TreeBuilder.OTHER);
     public static final ElementName TREF = new ElementName("tref", "tref", TreeBuilder.OTHER);
     public static final ElementName TANH = new ElementName("tanh", "tanh", TreeBuilder.OTHER);
     public static final ElementName TEXT = new ElementName("text", "text", TreeBuilder.OTHER);
     public static final ElementName VIEW = new ElementName("view", "view", TreeBuilder.OTHER);
-    public static final ElementName ASIDE = new ElementName("aside", "aside", TreeBuilder.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 | SPECIAL);
+    public static final ElementName ASIDE = new ElementName("aside", "aside", 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 AUDIO = new ElementName("audio", "audio", TreeBuilder.OTHER);
     public static final ElementName APPLY = new ElementName("apply", "apply", TreeBuilder.OTHER);
     public static final ElementName EMBED = new ElementName("embed", "embed", TreeBuilder.EMBED | SPECIAL);
     public static final ElementName FRAME = new ElementName("frame", "frame", TreeBuilder.FRAME | SPECIAL);
     public static final ElementName FALSE = new ElementName("false", "false", TreeBuilder.OTHER);
     public static final ElementName FLOOR = new ElementName("floor", "floor", TreeBuilder.OTHER);
     public static final ElementName GLYPH = new ElementName("glyph", "glyph", TreeBuilder.OTHER);
     public static final ElementName HKERN = new ElementName("hkern", "hkern", TreeBuilder.OTHER);
@@ -610,26 +610,25 @@ public final class ElementName
     public static final ElementName APPROX = new ElementName("approx", "approx", TreeBuilder.OTHER);
     public static final ElementName BUTTON = new ElementName("button", "button", TreeBuilder.BUTTON | SPECIAL);
     public static final ElementName CIRCLE = new ElementName("circle", "circle", TreeBuilder.OTHER);
     public static final ElementName CENTER = new ElementName("center", "center", TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
     public static final ElementName CURSOR = new ElementName("cursor", "cursor", TreeBuilder.OTHER);
     public static final ElementName CANVAS = new ElementName("canvas", "canvas", TreeBuilder.OTHER);
     public static final ElementName DIVIDE = new ElementName("divide", "divide", TreeBuilder.OTHER);
     public static final ElementName DEGREE = new ElementName("degree", "degree", TreeBuilder.OTHER);
-    public static final ElementName DIALOG = new ElementName("dialog", "dialog", TreeBuilder.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 | SPECIAL);
     public static final ElementName DOMAIN = new ElementName("domain", "domain", TreeBuilder.OTHER);
     public static final ElementName EXISTS = new ElementName("exists", "exists", TreeBuilder.OTHER);
     public static final ElementName FETILE = new ElementName("fetile", "feTile", TreeBuilder.OTHER);
-    public static final ElementName FIGURE = new ElementName("figure", "figure", TreeBuilder.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 | SPECIAL);
+    public static final ElementName FIGURE = new ElementName("figure", "figure", 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 FORALL = new ElementName("forall", "forall", TreeBuilder.OTHER);
     public static final ElementName FILTER = new ElementName("filter", "filter", TreeBuilder.OTHER);
-    public static final ElementName FOOTER = new ElementName("footer", "footer", TreeBuilder.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 | SPECIAL);
-    public static final ElementName HGROUP = new ElementName("hgroup", "hgroup", TreeBuilder.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 | SPECIAL);
-    public static final ElementName HEADER = new ElementName("header", "header", TreeBuilder.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 | SPECIAL);
+    public static final ElementName FOOTER = new ElementName("footer", "footer", 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 HGROUP = new ElementName("hgroup", "hgroup", 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 HEADER = new ElementName("header", "header", 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 IFRAME = new ElementName("iframe", "iframe", TreeBuilder.IFRAME | SPECIAL);
     public static final ElementName KEYGEN = new ElementName("keygen", "keygen", TreeBuilder.KEYGEN);
     public static final ElementName LAMBDA = new ElementName("lambda", "lambda", TreeBuilder.OTHER);
     public static final ElementName LEGEND = new ElementName("legend", "legend", TreeBuilder.OTHER);
     public static final ElementName MSPACE = new ElementName("mspace", "mspace", TreeBuilder.OTHER);
     public static final ElementName MTABLE = new ElementName("mtable", "mtable", TreeBuilder.OTHER);
     public static final ElementName MSTYLE = new ElementName("mstyle", "mstyle", TreeBuilder.OTHER);
     public static final ElementName MGLYPH = new ElementName("mglyph", "mglyph", TreeBuilder.MGLYPH_OR_MALIGNMARK);
@@ -648,34 +647,34 @@ public final class ElementName
     public static final ElementName STRONG = new ElementName("strong", "strong", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
     public static final ElementName SWITCH = new ElementName("switch", "switch", TreeBuilder.OTHER);
     public static final ElementName SYMBOL = new ElementName("symbol", "symbol", TreeBuilder.OTHER);
     public static final ElementName SELECT = new ElementName("select", "select", TreeBuilder.SELECT | SPECIAL);
     public static final ElementName SUBSET = new ElementName("subset", "subset", TreeBuilder.OTHER);
     public static final ElementName SCRIPT = new ElementName("script", "script", TreeBuilder.SCRIPT | SPECIAL);
     public static final ElementName TBREAK = new ElementName("tbreak", "tbreak", TreeBuilder.OTHER);
     public static final ElementName VECTOR = new ElementName("vector", "vector", TreeBuilder.OTHER);
-    public static final ElementName ARTICLE = new ElementName("article", "article", TreeBuilder.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 | SPECIAL);
+    public static final ElementName ARTICLE = new ElementName("article", "article", 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 ANIMATE = new ElementName("animate", "animate", TreeBuilder.OTHER);
     public static final ElementName ARCSECH = new ElementName("arcsech", "arcsech", TreeBuilder.OTHER);
     public static final ElementName ARCCSCH = new ElementName("arccsch", "arccsch", TreeBuilder.OTHER);
     public static final ElementName ARCTANH = new ElementName("arctanh", "arctanh", TreeBuilder.OTHER);
     public static final ElementName ARCSINH = new ElementName("arcsinh", "arcsinh", TreeBuilder.OTHER);
     public static final ElementName ARCCOSH = new ElementName("arccosh", "arccosh", TreeBuilder.OTHER);
     public static final ElementName ARCCOTH = new ElementName("arccoth", "arccoth", TreeBuilder.OTHER);
     public static final ElementName ACRONYM = new ElementName("acronym", "acronym", TreeBuilder.OTHER);
-    public static final ElementName ADDRESS = new ElementName("address", "address", TreeBuilder.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 | SPECIAL);
+    public static final ElementName ADDRESS = new ElementName("address", "address", 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 BGSOUND = new ElementName("bgsound", "bgsound", TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
     public static final ElementName COMPOSE = new ElementName("compose", "compose", TreeBuilder.OTHER);
     public static final ElementName CEILING = new ElementName("ceiling", "ceiling", TreeBuilder.OTHER);
     public static final ElementName CSYMBOL = new ElementName("csymbol", "csymbol", TreeBuilder.OTHER);
     public static final ElementName CAPTION = new ElementName("caption", "caption", TreeBuilder.CAPTION | SPECIAL | SCOPING);
     public static final ElementName DISCARD = new ElementName("discard", "discard", TreeBuilder.OTHER);
     public static final ElementName DECLARE = new ElementName("declare", "declare", TreeBuilder.OTHER);
-    public static final ElementName DETAILS = new ElementName("details", "details", TreeBuilder.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 | SPECIAL);
+    public static final ElementName DETAILS = new ElementName("details", "details", 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 ELLIPSE = new ElementName("ellipse", "ellipse", TreeBuilder.OTHER);
     public static final ElementName FEFUNCA = new ElementName("fefunca", "feFuncA", TreeBuilder.OTHER);
     public static final ElementName FEFUNCB = new ElementName("fefuncb", "feFuncB", TreeBuilder.OTHER);
     public static final ElementName FEBLEND = new ElementName("feblend", "feBlend", TreeBuilder.OTHER);
     public static final ElementName FEFLOOD = new ElementName("feflood", "feFlood", TreeBuilder.OTHER);
     public static final ElementName FEIMAGE = new ElementName("feimage", "feImage", TreeBuilder.OTHER);
     public static final ElementName FEMERGE = new ElementName("femerge", "feMerge", TreeBuilder.OTHER);
     public static final ElementName FEFUNCG = new ElementName("fefuncg", "feFuncG", TreeBuilder.OTHER);
@@ -687,23 +686,23 @@ public final class ElementName
     public static final ElementName LOGBASE = new ElementName("logbase", "logbase", TreeBuilder.OTHER);
     public static final ElementName LISTING = new ElementName("listing", "listing", TreeBuilder.PRE_OR_LISTING | SPECIAL);
     public static final ElementName MFENCED = new ElementName("mfenced", "mfenced", TreeBuilder.OTHER);
     public static final ElementName MPADDED = new ElementName("mpadded", "mpadded", TreeBuilder.OTHER);
     public static final ElementName MARQUEE = new ElementName("marquee", "marquee", TreeBuilder.MARQUEE_OR_APPLET | SPECIAL | SCOPING);
     public static final ElementName MACTION = new ElementName("maction", "maction", TreeBuilder.OTHER);
     public static final ElementName MSUBSUP = new ElementName("msubsup", "msubsup", TreeBuilder.OTHER);
     public static final ElementName NOEMBED = new ElementName("noembed", "noembed", TreeBuilder.NOEMBED | SPECIAL);
-    public static final ElementName PICTURE = new ElementName("picture", "picture", TreeBuilder.OTHER);
     public static final ElementName POLYGON = new ElementName("polygon", "polygon", TreeBuilder.OTHER);
     public static final ElementName PATTERN = new ElementName("pattern", "pattern", TreeBuilder.OTHER);
+    public static final ElementName PICTURE = new ElementName("picture", "picture", TreeBuilder.OTHER);
     public static final ElementName PRODUCT = new ElementName("product", "product", TreeBuilder.OTHER);
     public static final ElementName SETDIFF = new ElementName("setdiff", "setdiff", TreeBuilder.OTHER);
-    public static final ElementName SECTION = new ElementName("section", "section", TreeBuilder.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 | SPECIAL);
-    public static final ElementName SUMMARY = new ElementName("summary", "summary", TreeBuilder.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 | SPECIAL);
+    public static final ElementName SECTION = new ElementName("section", "section", 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 SUMMARY = new ElementName("summary", "summary", 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 TENDSTO = new ElementName("tendsto", "tendsto", TreeBuilder.OTHER);
     public static final ElementName UPLIMIT = new ElementName("uplimit", "uplimit", TreeBuilder.OTHER);
     public static final ElementName ALTGLYPH = new ElementName("altglyph", "altGlyph", TreeBuilder.OTHER);
     public static final ElementName BASEFONT = new ElementName("basefont", "basefont", TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL);
     public static final ElementName CLIPPATH = new ElementName("clippath", "clipPath", TreeBuilder.OTHER);
     public static final ElementName CODOMAIN = new ElementName("codomain", "codomain", TreeBuilder.OTHER);
     public static final ElementName COLGROUP = new ElementName("colgroup", "colgroup", TreeBuilder.COLGROUP | SPECIAL | OPTIONAL_END_TAG);
     public static final ElementName EMPTYSET = new ElementName("emptyset", "emptyset", TreeBuilder.OTHER);
@@ -751,17 +750,17 @@ public final class ElementName
     public static final ElementName RATIONALS = new ElementName("rationals", "rationals", TreeBuilder.OTHER);
     public static final ElementName SEMANTICS = new ElementName("semantics", "semantics", TreeBuilder.OTHER);
     public static final ElementName TRANSPOSE = new ElementName("transpose", "transpose", TreeBuilder.OTHER);
     public static final ElementName ANNOTATION = new ElementName("annotation", "annotation", TreeBuilder.OTHER);
     public static final ElementName BLOCKQUOTE = new ElementName("blockquote", "blockquote", TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL);
     public static final ElementName DIVERGENCE = new ElementName("divergence", "divergence", TreeBuilder.OTHER);
     public static final ElementName EULERGAMMA = new ElementName("eulergamma", "eulergamma", TreeBuilder.OTHER);
     public static final ElementName EQUIVALENT = new ElementName("equivalent", "equivalent", TreeBuilder.OTHER);
-    public static final ElementName FIGCAPTION = new ElementName("figcaption", "figcaption", TreeBuilder.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 | SPECIAL);
+    public static final ElementName FIGCAPTION = new ElementName("figcaption", "figcaption", 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 IMAGINARYI = new ElementName("imaginaryi", "imaginaryi", TreeBuilder.OTHER);
     public static final ElementName MALIGNMARK = new ElementName("malignmark", "malignmark", TreeBuilder.MGLYPH_OR_MALIGNMARK);
     public static final ElementName MUNDEROVER = new ElementName("munderover", "munderover", TreeBuilder.OTHER);
     public static final ElementName MLABELEDTR = new ElementName("mlabeledtr", "mlabeledtr", TreeBuilder.OTHER);
     public static final ElementName NOTANUMBER = new ElementName("notanumber", "notanumber", TreeBuilder.OTHER);
     public static final ElementName SOLIDCOLOR = new ElementName("solidcolor", "solidcolor", TreeBuilder.OTHER);
     public static final ElementName ALTGLYPHDEF = new ElementName("altglyphdef", "altGlyphDef", TreeBuilder.OTHER);
     public static final ElementName DETERMINANT = new ElementName("determinant", "determinant", TreeBuilder.OTHER);
@@ -1009,17 +1008,16 @@ public final class ElementName
     APPROX,
     BUTTON,
     CIRCLE,
     CENTER,
     CURSOR,
     CANVAS,
     DIVIDE,
     DEGREE,
-    DIALOG,
     DOMAIN,
     EXISTS,
     FETILE,
     FIGURE,
     FORALL,
     FILTER,
     FOOTER,
     HGROUP,
@@ -1086,19 +1084,19 @@ public final class ElementName
     LOGBASE,
     LISTING,
     MFENCED,
     MPADDED,
     MARQUEE,
     MACTION,
     MSUBSUP,
     NOEMBED,
-    PICTURE,
     POLYGON,
     PATTERN,
+    PICTURE,
     PRODUCT,
     SETDIFF,
     SECTION,
     SUMMARY,
     TENDSTO,
     UPLIMIT,
     ALTGLYPH,
     BASEFONT,
@@ -1409,17 +1407,16 @@ public final class ElementName
     203177552,
     203898516,
     204648562,
     205067918,
     205078130,
     205096654,
     205689142,
     205690439,
-    205766017,
     205988909,
     207213161,
     207794484,
     207800999,
     208023602,
     208213644,
     208213647,
     210261490,
@@ -1486,19 +1483,19 @@ public final class ElementName
     247647266,
     247707956,
     248648814,
     248648836,
     248682161,
     248986932,
     249058914,
     249697357,
-    251841204,
     252132601,
     252135604,
+    251841204,
     252317348,
     255007012,
     255278388,
     255641645,
     256365156,
     257566121,
     269763372,
     271202790,
--- a/parser/html/javasrc/TreeBuilder.java
+++ b/parser/html/javasrc/TreeBuilder.java
@@ -164,17 +164,17 @@ public abstract class TreeBuilder<T> imp
     final static int IFRAME = 47;
 
     final static int EMBED = 48;
 
     final static int AREA_OR_WBR = 49;
 
     final static int DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU = 50;
 
-    final static int 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;
+    final static int 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;
 
     final static int RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR = 52;
 
     final static int RB_OR_RTC = 53;
 
     final static int PARAM_OR_SOURCE_OR_TRACK = 55;
 
     final static int MGLYPH_OR_MALIGNMARK = 56;
@@ -2117,17 +2117,17 @@ public abstract class TreeBuilder<T> imp
                                 }
                                 if (addAttributesToBody(attributes)) {
                                     attributes = null; // CPP
                                 }
                                 break starttagloop;
                             case P:
                             case DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU:
                             case UL_OR_OL_OR_DL:
-                            case 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:
+                            case 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:
                                 implicitlyCloseP();
                                 appendToCurrentNodeAndPushElementMayFoster(
                                         elementName,
                                         attributes);
                                 attributes = null; // CPP
                                 break starttagloop;
                             case H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6:
                                 implicitlyCloseP();
@@ -3675,17 +3675,17 @@ public abstract class TreeBuilder<T> imp
                             }
                             mode = AFTER_BODY;
                             continue;
                         case DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU:
                         case UL_OR_OL_OR_DL:
                         case PRE_OR_LISTING:
                         case FIELDSET:
                         case BUTTON:
-                        case 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:
+                        case 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:
                             eltPos = findLastInScope(name);
                             if (eltPos == TreeBuilder.NOT_FOUND_ON_STACK) {
                                 errStrayEndTag(name);
                             } else {
                                 generateImpliedEndTags();
                                 if (errorHandler != null && !isCurrent(name)) {
                                     errUnclosedElements(eltPos, name);
                                 }
--- a/parser/html/nsHtml5AtomList.h
+++ b/parser/html/nsHtml5AtomList.h
@@ -862,17 +862,16 @@ HTML5_ATOM(arccos, "arccos")
 HTML5_ATOM(applet, "applet")
 HTML5_ATOM(arccot, "arccot")
 HTML5_ATOM(approx, "approx")
 HTML5_ATOM(circle, "circle")
 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")
 HTML5_ATOM(feTile, "feTile")
 HTML5_ATOM(figure, "figure")
 HTML5_ATOM(forall, "forall")
 HTML5_ATOM(footer, "footer")
 HTML5_ATOM(hgroup, "hgroup")
@@ -938,18 +937,18 @@ HTML5_ATOM(implies, "implies")
 HTML5_ATOM(isindex, "isindex")
 HTML5_ATOM(logbase, "logbase")
 HTML5_ATOM(listing, "listing")
 HTML5_ATOM(mfenced, "mfenced")
 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")
 HTML5_ATOM(tendsto, "tendsto")
 HTML5_ATOM(uplimit, "uplimit")
 HTML5_ATOM(altglyph, "altglyph")
 HTML5_ATOM(altGlyph, "altGlyph")
 HTML5_ATOM(basefont, "basefont")
--- a/parser/html/nsHtml5ElementName.cpp
+++ b/parser/html/nsHtml5ElementName.cpp
@@ -1,27 +1,27 @@
 /*
- * Copyright (c) 2008-2016 Mozilla Foundation
+ * Copyright (c) 2008-2014 Mozilla Foundation
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
+ * Permission is hereby granted, free of charge, to any person obtaining a 
+ * copy of this software and associated documentation files (the "Software"), 
+ * to deal in the Software without restriction, including without limitation 
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ * and/or sell copies of the Software, and to permit persons to whom the 
  * Software is furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included in
+ * The above copyright notice and this permission notice shall be included in 
  * all copies or substantial portions of the Software.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
  * DEALINGS IN THE SOFTWARE.
  */
 
 /*
  * THIS IS A GENERATED FILE. PLEASE DO NOT EDIT.
  * Please edit ElementName.java instead and regenerate.
  */
 
@@ -334,17 +334,16 @@ nsHtml5ElementName* nsHtml5ElementName::
 nsHtml5ElementName* nsHtml5ElementName::ELT_APPROX = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_BUTTON = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_CIRCLE = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_CENTER = nullptr;
 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;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FIGURE = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FORALL = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FILTER = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FOOTER = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_HGROUP = nullptr;
@@ -411,19 +410,19 @@ nsHtml5ElementName* nsHtml5ElementName::
 nsHtml5ElementName* nsHtml5ElementName::ELT_LOGBASE = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_LISTING = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_MFENCED = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_MPADDED = nullptr;
 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;
 nsHtml5ElementName* nsHtml5ElementName::ELT_SUMMARY = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_TENDSTO = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_UPLIMIT = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_ALTGLYPH = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_BASEFONT = nullptr;
@@ -529,17 +528,17 @@ nsHtml5ElementName* nsHtml5ElementName::
 nsHtml5ElementName* nsHtml5ElementName::ELT_FONT_FACE_FORMAT = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FECONVOLVEMATRIX = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FEDIFFUSELIGHTING = nullptr;
 nsHtml5ElementName* nsHtml5ElementName::ELT_FEDISPLACEMENTMAP = nullptr;
 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, 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 };
+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 };
 staticJArray<int32_t,int32_t> nsHtml5ElementName::ELEMENT_HASHES = { ELEMENT_HASHES_DATA, MOZ_ARRAY_LENGTH(ELEMENT_HASHES_DATA) };
 void
 nsHtml5ElementName::initializeStatics()
 {
   ELT_NULL_ELEMENT_NAME = new nsHtml5ElementName(nullptr);
   ELT_A = new nsHtml5ElementName(nsHtml5Atoms::a, nsHtml5Atoms::a, NS_HTML5TREE_BUILDER_A);
   ELT_B = new nsHtml5ElementName(nsHtml5Atoms::b, nsHtml5Atoms::b, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
   ELT_G = new nsHtml5ElementName(nsHtml5Atoms::g, nsHtml5Atoms::g, NS_HTML5TREE_BUILDER_OTHER);
@@ -590,17 +589,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_BIG = new nsHtml5ElementName(nsHtml5Atoms::big, nsHtml5Atoms::big, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
   ELT_BDO = new nsHtml5ElementName(nsHtml5Atoms::bdo, nsHtml5Atoms::bdo, NS_HTML5TREE_BUILDER_OTHER);
   ELT_CSC = new nsHtml5ElementName(nsHtml5Atoms::csc, nsHtml5Atoms::csc, NS_HTML5TREE_BUILDER_OTHER);
   ELT_COL = new nsHtml5ElementName(nsHtml5Atoms::col, nsHtml5Atoms::col, NS_HTML5TREE_BUILDER_COL | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_COS = new nsHtml5ElementName(nsHtml5Atoms::cos, nsHtml5Atoms::cos, NS_HTML5TREE_BUILDER_OTHER);
   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_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_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_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);
   ELT_GEQ = new nsHtml5ElementName(nsHtml5Atoms::geq, nsHtml5Atoms::geq, NS_HTML5TREE_BUILDER_OTHER);
   ELT_IMG = new nsHtml5ElementName(nsHtml5Atoms::img, nsHtml5Atoms::img, NS_HTML5TREE_BUILDER_IMG | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_INS = new nsHtml5ElementName(nsHtml5Atoms::ins, nsHtml5Atoms::ins, NS_HTML5TREE_BUILDER_OTHER);
   ELT_INT = new nsHtml5ElementName(nsHtml5Atoms::int_, nsHtml5Atoms::int_, NS_HTML5TREE_BUILDER_OTHER);
   ELT_KBD = new nsHtml5ElementName(nsHtml5Atoms::kbd, nsHtml5Atoms::kbd, NS_HTML5TREE_BUILDER_OTHER);
@@ -609,17 +608,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_LEQ = new nsHtml5ElementName(nsHtml5Atoms::leq, nsHtml5Atoms::leq, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MTD = new nsHtml5ElementName(nsHtml5Atoms::mtd, nsHtml5Atoms::mtd, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MIN = new nsHtml5ElementName(nsHtml5Atoms::min, nsHtml5Atoms::min, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MAP = new nsHtml5ElementName(nsHtml5Atoms::map, nsHtml5Atoms::map, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MTR = new nsHtml5ElementName(nsHtml5Atoms::mtr, nsHtml5Atoms::mtr, NS_HTML5TREE_BUILDER_OTHER);
   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_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_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_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);
   ELT_SVG = new nsHtml5ElementName(nsHtml5Atoms::svg, nsHtml5Atoms::svg, NS_HTML5TREE_BUILDER_SVG);
   ELT_SUM = new nsHtml5ElementName(nsHtml5Atoms::sum, nsHtml5Atoms::sum, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SIN = new nsHtml5ElementName(nsHtml5Atoms::sin, nsHtml5Atoms::sin, NS_HTML5TREE_BUILDER_OTHER);
@@ -657,17 +656,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_LIST = new nsHtml5ElementName(nsHtml5Atoms::list, nsHtml5Atoms::list, NS_HTML5TREE_BUILDER_OTHER);
   ELT_META = new nsHtml5ElementName(nsHtml5Atoms::meta, nsHtml5Atoms::meta, NS_HTML5TREE_BUILDER_META | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_MSUB = new nsHtml5ElementName(nsHtml5Atoms::msub, nsHtml5Atoms::msub, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MODE = new nsHtml5ElementName(nsHtml5Atoms::mode, nsHtml5Atoms::mode, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MATH = new nsHtml5ElementName(nsHtml5Atoms::math, nsHtml5Atoms::math, NS_HTML5TREE_BUILDER_MATH);
   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_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_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_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);
   ELT_NONE = new nsHtml5ElementName(nsHtml5Atoms::none, nsHtml5Atoms::none, NS_HTML5TREE_BUILDER_OTHER);
   ELT_NOBR = new nsHtml5ElementName(nsHtml5Atoms::nobr, nsHtml5Atoms::nobr, NS_HTML5TREE_BUILDER_NOBR);
   ELT_NEST = new nsHtml5ElementName(nsHtml5Atoms::nest, nsHtml5Atoms::nest, NS_HTML5TREE_BUILDER_OTHER);
   ELT_PATH = new nsHtml5ElementName(nsHtml5Atoms::path, nsHtml5Atoms::path, NS_HTML5TREE_BUILDER_OTHER);
   ELT_PLUS = new nsHtml5ElementName(nsHtml5Atoms::plus, nsHtml5Atoms::plus, NS_HTML5TREE_BUILDER_OTHER);
@@ -684,17 +683,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_STOP = new nsHtml5ElementName(nsHtml5Atoms::stop, nsHtml5Atoms::stop, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SDEV = new nsHtml5ElementName(nsHtml5Atoms::sdev, nsHtml5Atoms::sdev, NS_HTML5TREE_BUILDER_OTHER);
   ELT_TIME = new nsHtml5ElementName(nsHtml5Atoms::time, nsHtml5Atoms::time, NS_HTML5TREE_BUILDER_OTHER);
   ELT_TRUE = new nsHtml5ElementName(nsHtml5Atoms::true_, nsHtml5Atoms::true_, NS_HTML5TREE_BUILDER_OTHER);
   ELT_TREF = new nsHtml5ElementName(nsHtml5Atoms::tref, nsHtml5Atoms::tref, NS_HTML5TREE_BUILDER_OTHER);
   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_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_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_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);
   ELT_FRAME = new nsHtml5ElementName(nsHtml5Atoms::frame, nsHtml5Atoms::frame, NS_HTML5TREE_BUILDER_FRAME | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_FALSE = new nsHtml5ElementName(nsHtml5Atoms::false_, nsHtml5Atoms::false_, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FLOOR = new nsHtml5ElementName(nsHtml5Atoms::floor, nsHtml5Atoms::floor, NS_HTML5TREE_BUILDER_OTHER);
   ELT_GLYPH = new nsHtml5ElementName(nsHtml5Atoms::glyph, nsHtml5Atoms::glyph, NS_HTML5TREE_BUILDER_OTHER);
   ELT_HKERN = new nsHtml5ElementName(nsHtml5Atoms::hkern, nsHtml5Atoms::hkern, NS_HTML5TREE_BUILDER_OTHER);
@@ -739,26 +738,25 @@ nsHtml5ElementName::initializeStatics()
   ELT_APPROX = new nsHtml5ElementName(nsHtml5Atoms::approx, nsHtml5Atoms::approx, NS_HTML5TREE_BUILDER_OTHER);
   ELT_BUTTON = new nsHtml5ElementName(nsHtml5Atoms::button, nsHtml5Atoms::button, NS_HTML5TREE_BUILDER_BUTTON | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_CIRCLE = new nsHtml5ElementName(nsHtml5Atoms::circle, nsHtml5Atoms::circle, NS_HTML5TREE_BUILDER_OTHER);
   ELT_CENTER = new nsHtml5ElementName(nsHtml5Atoms::center, nsHtml5Atoms::center, NS_HTML5TREE_BUILDER_DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_CURSOR = new nsHtml5ElementName(nsHtml5Atoms::cursor, nsHtml5Atoms::cursor, NS_HTML5TREE_BUILDER_OTHER);
   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_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_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_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_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_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_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);
   ELT_LEGEND = new nsHtml5ElementName(nsHtml5Atoms::legend, nsHtml5Atoms::legend, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MSPACE = new nsHtml5ElementName(nsHtml5Atoms::mspace, nsHtml5Atoms::mspace, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MTABLE = new nsHtml5ElementName(nsHtml5Atoms::mtable, nsHtml5Atoms::mtable, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MSTYLE = new nsHtml5ElementName(nsHtml5Atoms::mstyle, nsHtml5Atoms::mstyle, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MGLYPH = new nsHtml5ElementName(nsHtml5Atoms::mglyph, nsHtml5Atoms::mglyph, NS_HTML5TREE_BUILDER_MGLYPH_OR_MALIGNMARK);
@@ -777,34 +775,34 @@ nsHtml5ElementName::initializeStatics()
   ELT_STRONG = new nsHtml5ElementName(nsHtml5Atoms::strong, nsHtml5Atoms::strong, NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U);
   ELT_SWITCH = new nsHtml5ElementName(nsHtml5Atoms::switch_, nsHtml5Atoms::switch_, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SYMBOL = new nsHtml5ElementName(nsHtml5Atoms::symbol, nsHtml5Atoms::symbol, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SELECT = new nsHtml5ElementName(nsHtml5Atoms::select, nsHtml5Atoms::select, NS_HTML5TREE_BUILDER_SELECT | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_SUBSET = new nsHtml5ElementName(nsHtml5Atoms::subset, nsHtml5Atoms::subset, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SCRIPT = new nsHtml5ElementName(nsHtml5Atoms::script, nsHtml5Atoms::script, NS_HTML5TREE_BUILDER_SCRIPT | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_TBREAK = new nsHtml5ElementName(nsHtml5Atoms::tbreak, nsHtml5Atoms::tbreak, NS_HTML5TREE_BUILDER_OTHER);
   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_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_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_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);
   ELT_ARCTANH = new nsHtml5ElementName(nsHtml5Atoms::arctanh, nsHtml5Atoms::arctanh, NS_HTML5TREE_BUILDER_OTHER);
   ELT_ARCSINH = new nsHtml5ElementName(nsHtml5Atoms::arcsinh, nsHtml5Atoms::arcsinh, NS_HTML5TREE_BUILDER_OTHER);
   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_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_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_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);
   ELT_CSYMBOL = new nsHtml5ElementName(nsHtml5Atoms::csymbol, nsHtml5Atoms::csymbol, NS_HTML5TREE_BUILDER_OTHER);
   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_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_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_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);
   ELT_FEBLEND = new nsHtml5ElementName(nsHtml5Atoms::feblend, nsHtml5Atoms::feBlend, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FEFLOOD = new nsHtml5ElementName(nsHtml5Atoms::feflood, nsHtml5Atoms::feFlood, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FEIMAGE = new nsHtml5ElementName(nsHtml5Atoms::feimage, nsHtml5Atoms::feImage, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FEMERGE = new nsHtml5ElementName(nsHtml5Atoms::femerge, nsHtml5Atoms::feMerge, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FEFUNCG = new nsHtml5ElementName(nsHtml5Atoms::fefuncg, nsHtml5Atoms::feFuncG, NS_HTML5TREE_BUILDER_OTHER);
@@ -816,23 +814,23 @@ nsHtml5ElementName::initializeStatics()
   ELT_LOGBASE = new nsHtml5ElementName(nsHtml5Atoms::logbase, nsHtml5Atoms::logbase, NS_HTML5TREE_BUILDER_OTHER);
   ELT_LISTING = new nsHtml5ElementName(nsHtml5Atoms::listing, nsHtml5Atoms::listing, NS_HTML5TREE_BUILDER_PRE_OR_LISTING | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_MFENCED = new nsHtml5ElementName(nsHtml5Atoms::mfenced, nsHtml5Atoms::mfenced, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MPADDED = new nsHtml5ElementName(nsHtml5Atoms::mpadded, nsHtml5Atoms::mpadded, NS_HTML5TREE_BUILDER_OTHER);
   ELT_MARQUEE = new nsHtml5ElementName(nsHtml5Atoms::marquee, nsHtml5Atoms::marquee, NS_HTML5TREE_BUILDER_MARQUEE_OR_APPLET | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_SCOPING);
   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_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_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_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);
   ELT_BASEFONT = new nsHtml5ElementName(nsHtml5Atoms::basefont, nsHtml5Atoms::basefont, NS_HTML5TREE_BUILDER_LINK_OR_BASEFONT_OR_BGSOUND | NS_HTML5ELEMENT_NAME_SPECIAL);
   ELT_CLIPPATH = new nsHtml5ElementName(nsHtml5Atoms::clippath, nsHtml5Atoms::clipPath, NS_HTML5TREE_BUILDER_OTHER);
   ELT_CODOMAIN = new nsHtml5ElementName(nsHtml5Atoms::codomain, nsHtml5Atoms::codomain, NS_HTML5TREE_BUILDER_OTHER);
   ELT_COLGROUP = new nsHtml5ElementName(nsHtml5Atoms::colgroup, nsHtml5Atoms::colgroup, NS_HTML5TREE_BUILDER_COLGROUP | NS_HTML5ELEMENT_NAME_SPECIAL | NS_HTML5ELEMENT_NAME_OPTIONAL_END_TAG);
   ELT_EMPTYSET = new nsHtml5ElementName(nsHtml5Atoms::emptyset, nsHtml5Atoms::emptyset, NS_HTML5TREE_BUILDER_OTHER);
@@ -880,17 +878,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_RATIONALS = new nsHtml5ElementName(nsHtml5Atoms::rationals, nsHtml5Atoms::rationals, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SEMANTICS = new nsHtml5ElementName(nsHtml5Atoms::semantics, nsHtml5Atoms::semantics, NS_HTML5TREE_BUILDER_OTHER);
   ELT_TRANSPOSE = new nsHtml5ElementName(nsHtml5Atoms::transpose, nsHtml5Atoms::transpose, NS_HTML5TREE_BUILDER_OTHER);
   ELT_ANNOTATION = new nsHtml5ElementName(nsHtml5Atoms::annotation, nsHtml5Atoms::annotation, NS_HTML5TREE_BUILDER_OTHER);
   ELT_BLOCKQUOTE = new nsHtml5ElementName(nsHtml5Atoms::blockquote, nsHtml5Atoms::blockquote, NS_HTML5TREE_BUILDER_DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | NS_HTML5ELEMENT_NAME_SPECIAL);
   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_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_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_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);
   ELT_MLABELEDTR = new nsHtml5ElementName(nsHtml5Atoms::mlabeledtr, nsHtml5Atoms::mlabeledtr, NS_HTML5TREE_BUILDER_OTHER);
   ELT_NOTANUMBER = new nsHtml5ElementName(nsHtml5Atoms::notanumber, nsHtml5Atoms::notanumber, NS_HTML5TREE_BUILDER_OTHER);
   ELT_SOLIDCOLOR = new nsHtml5ElementName(nsHtml5Atoms::solidcolor, nsHtml5Atoms::solidcolor, NS_HTML5TREE_BUILDER_OTHER);
   ELT_ALTGLYPHDEF = new nsHtml5ElementName(nsHtml5Atoms::altglyphdef, nsHtml5Atoms::altGlyphDef, NS_HTML5TREE_BUILDER_OTHER);
   ELT_DETERMINANT = new nsHtml5ElementName(nsHtml5Atoms::determinant, nsHtml5Atoms::determinant, NS_HTML5TREE_BUILDER_OTHER);
@@ -933,17 +931,17 @@ nsHtml5ElementName::initializeStatics()
   ELT_CARTESIANPRODUCT = new nsHtml5ElementName(nsHtml5Atoms::cartesianproduct, nsHtml5Atoms::cartesianproduct, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FONT_FACE_FORMAT = new nsHtml5ElementName(nsHtml5Atoms::font_face_format, nsHtml5Atoms::font_face_format, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FECONVOLVEMATRIX = new nsHtml5ElementName(nsHtml5Atoms::feconvolvematrix, nsHtml5Atoms::feConvolveMatrix, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FEDIFFUSELIGHTING = new nsHtml5ElementName(nsHtml5Atoms::fediffuselighting, nsHtml5Atoms::feDiffuseLighting, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FEDISPLACEMENTMAP = new nsHtml5ElementName(nsHtml5Atoms::fedisplacementmap, nsHtml5Atoms::feDisplacementMap, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FESPECULARLIGHTING = new nsHtml5ElementName(nsHtml5Atoms::fespecularlighting, nsHtml5Atoms::feSpecularLighting, NS_HTML5TREE_BUILDER_OTHER);
   ELT_DOMAINOFAPPLICATION = new nsHtml5ElementName(nsHtml5Atoms::domainofapplication, nsHtml5Atoms::domainofapplication, NS_HTML5TREE_BUILDER_OTHER);
   ELT_FECOMPONENTTRANSFER = new nsHtml5ElementName(nsHtml5Atoms::fecomponenttransfer, nsHtml5Atoms::feComponentTransfer, NS_HTML5TREE_BUILDER_OTHER);
-  ELEMENT_NAMES = new nsHtml5ElementName*[398];
+  ELEMENT_NAMES = new nsHtml5ElementName*[397];
   ELEMENT_NAMES[0] = ELT_A;
   ELEMENT_NAMES[1] = ELT_B;
   ELEMENT_NAMES[2] = ELT_G;
   ELEMENT_NAMES[3] = ELT_I;
   ELEMENT_NAMES[4] = ELT_P;
   ELEMENT_NAMES[5] = ELT_Q;
   ELEMENT_NAMES[6] = ELT_S;
   ELEMENT_NAMES[7] = ELT_U;
@@ -1138,210 +1136,209 @@ nsHtml5ElementName::initializeStatics()
   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_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;
+  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;
 }
 
 void
 nsHtml5ElementName::releaseStatics()
 {
   delete ELT_NULL_ELEMENT_NAME;
   delete ELT_A;
   delete ELT_B;
@@ -1542,17 +1539,16 @@ nsHtml5ElementName::releaseStatics()
   delete ELT_APPROX;
   delete ELT_BUTTON;
   delete ELT_CIRCLE;
   delete ELT_CENTER;
   delete ELT_CURSOR;
   delete ELT_CANVAS;
   delete ELT_DIVIDE;
   delete ELT_DEGREE;
-  delete ELT_DIALOG;
   delete ELT_DOMAIN;
   delete ELT_EXISTS;
   delete ELT_FETILE;
   delete ELT_FIGURE;
   delete ELT_FORALL;
   delete ELT_FILTER;
   delete ELT_FOOTER;
   delete ELT_HGROUP;
@@ -1619,19 +1615,19 @@ nsHtml5ElementName::releaseStatics()
   delete ELT_LOGBASE;
   delete ELT_LISTING;
   delete ELT_MFENCED;
   delete ELT_MPADDED;
   delete ELT_MARQUEE;
   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;
   delete ELT_SUMMARY;
   delete ELT_TENDSTO;
   delete ELT_UPLIMIT;
   delete ELT_ALTGLYPH;
   delete ELT_BASEFONT;
--- a/parser/html/nsHtml5ElementName.h
+++ b/parser/html/nsHtml5ElementName.h
@@ -1,27 +1,27 @@
 /*
- * Copyright (c) 2008-2016 Mozilla Foundation
+ * Copyright (c) 2008-2014 Mozilla Foundation
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
+ * Permission is hereby granted, free of charge, to any person obtaining a 
+ * copy of this software and associated documentation files (the "Software"), 
+ * to deal in the Software without restriction, including without limitation 
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
+ * and/or sell copies of the Software, and to permit persons to whom the 
  * Software is furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included in
+ * The above copyright notice and this permission notice shall be included in 
  * all copies or substantial portions of the Software.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
  * DEALINGS IN THE SOFTWARE.
  */
 
 /*
  * THIS IS A GENERATED FILE. PLEASE DO NOT EDIT.
  * Please edit ElementName.java instead and regenerate.
  */
 
@@ -278,17 +278,16 @@ class nsHtml5ElementName
     static nsHtml5ElementName* ELT_APPROX;
     static nsHtml5ElementName* ELT_BUTTON;
     static nsHtml5ElementName* ELT_CIRCLE;
     static nsHtml5ElementName* ELT_CENTER;
     static nsHtml5ElementName* ELT_CURSOR;
     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;
     static nsHtml5ElementName* ELT_FIGURE;
     static nsHtml5ElementName* ELT_FORALL;
     static nsHtml5ElementName* ELT_FILTER;
     static nsHtml5ElementName* ELT_FOOTER;
     static nsHtml5ElementName* ELT_HGROUP;
@@ -355,19 +354,19 @@ class nsHtml5ElementName
     static nsHtml5ElementName* ELT_LOGBASE;
     static nsHtml5ElementName* ELT_LISTING;
     static nsHtml5ElementName* ELT_MFENCED;
     static nsHtml5ElementName* ELT_MPADDED;
     static nsHtml5ElementName* ELT_MARQUEE;
     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;
     static nsHtml5ElementName* ELT_SUMMARY;
     static nsHtml5ElementName* ELT_TENDSTO;
     static nsHtml5ElementName* ELT_UPLIMIT;
     static nsHtml5ElementName* ELT_ALTGLYPH;
     static nsHtml5ElementName* ELT_BASEFONT;
--- a/parser/html/nsHtml5TreeBuilder.cpp
+++ b/parser/html/nsHtml5TreeBuilder.cpp
@@ -1043,17 +1043,17 @@ nsHtml5TreeBuilder::startTag(nsHtml5Elem
               if (addAttributesToBody(attributes)) {
                 attributes = nullptr;
               }
               NS_HTML5_BREAK(starttagloop);
             }
             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_DIALOG_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_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;
               NS_HTML5_BREAK(starttagloop);
             }
             case NS_HTML5TREE_BUILDER_H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6: {
               implicitlyCloseP();
               if (stack[currentPtr]->getGroup() == NS_HTML5TREE_BUILDER_H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6) {
@@ -2542,17 +2542,17 @@ nsHtml5TreeBuilder::endTag(nsHtml5Elemen
             mode = NS_HTML5TREE_BUILDER_AFTER_BODY;
             continue;
           }
           case NS_HTML5TREE_BUILDER_DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU:
           case NS_HTML5TREE_BUILDER_UL_OR_OL_OR_DL:
           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_DIALOG_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_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);
             } else {
               generateImpliedEndTags();
               if (!!MOZ_UNLIKELY(mViewSource) && !isCurrent(name)) {
                 errUnclosedElements(eltPos, name);
               }
--- a/parser/html/nsHtml5TreeBuilder.h
+++ b/parser/html/nsHtml5TreeBuilder.h
@@ -319,17 +319,17 @@ class nsHtml5TreeBuilder : public nsAHtm
 #define NS_HTML5TREE_BUILDER_MARQUEE_OR_APPLET 43
 #define NS_HTML5TREE_BUILDER_PRE_OR_LISTING 44
 #define NS_HTML5TREE_BUILDER_B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U 45
 #define NS_HTML5TREE_BUILDER_UL_OR_OL_OR_DL 46
 #define NS_HTML5TREE_BUILDER_IFRAME 47
 #define NS_HTML5TREE_BUILDER_EMBED 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_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_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_RB_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
 #define NS_HTML5TREE_BUILDER_ANNOTATION_XML 58
 #define NS_HTML5TREE_BUILDER_FOREIGNOBJECT_OR_DESC 59
 #define NS_HTML5TREE_BUILDER_NOEMBED 60
--- a/parser/htmlparser/nsElementTable.cpp
+++ b/parser/htmlparser/nsElementTable.cpp
@@ -147,20 +147,16 @@ const nsHTMLElement gHTMLElements[] = {
     /*tag*/         eHTMLTag_details,
     /*parent,leaf*/ kBlock, false
   },
   {
     /*tag*/         eHTMLTag_dfn,
     /*parent,leaf*/ kPhrase, false
   },
   {
-    /*tag*/         eHTMLTag_dialog,
-    /*parent,leaf*/ kBlock, false
-  },
-  {
     /*tag*/         eHTMLTag_dir,
     /*parent,leaf*/ kList, false
   },
   {
     /*tag*/         eHTMLTag_div,
     /*parent,leaf*/ kBlock, false
   },
   {
--- a/parser/htmlparser/nsHTMLTagList.h
+++ b/parser/htmlparser/nsHTMLTagList.h
@@ -68,17 +68,16 @@ HTML_TAG(col, TableCol, TableCol)
 HTML_TAG(colgroup, TableCol, TableCol)
 HTML_TAG(content, Content, Content)
 HTML_TAG(data, Data, Data)
 HTML_TAG(datalist, DataList, DataList)
 HTML_HTMLELEMENT_TAG(dd)
 HTML_TAG(del, Mod, Mod)
 HTML_TAG(details, Details, Details)
 HTML_HTMLELEMENT_TAG(dfn)
-HTML_TAG(dialog, Dialog, Dialog)
 HTML_TAG(dir, Shared, Directory)
 HTML_TAG(div, Div, Div)
 HTML_TAG(dl, SharedList, DList)
 HTML_HTMLELEMENT_TAG(dt)
 HTML_HTMLELEMENT_TAG(em)
 HTML_TAG(embed, SharedObject, Embed)
 HTML_TAG(fieldset, FieldSet, FieldSet)
 HTML_HTMLELEMENT_TAG(figcaption)
--- a/testing/web-platform/meta/html/browsers/the-window-object/window-properties.html.ini
+++ b/testing/web-platform/meta/html/browsers/the-window-object/window-properties.html.ini
@@ -1,11 +1,14 @@
 [window-properties.html]
   type: testharness
   [Window attribute: oncancel]
     expected: FAIL
 
+  [Window attribute: onclose]
+    expected: FAIL
+
   [Window attribute: oncuechange]
     expected: FAIL
 
   [Window attribute: onmousewheel]
     expected: FAIL
 
--- a/testing/web-platform/meta/html/dom/interfaces.html.ini
+++ b/testing/web-platform/meta/html/dom/interfaces.html.ini
@@ -1,11 +1,11 @@
 [interfaces.html]
   type: testharness
-  prefs: [dom.forms.inputmode:true, dom.dialog_element.enabled:true]
+  prefs: [dom.forms.inputmode:true]
   [Document interface: attribute domain]
     expected: FAIL
 
   [Document interface: attribute cookie]
     expected: FAIL
 
   [Document interface: attribute body]
     expected: FAIL
@@ -116,16 +116,19 @@
     expected: FAIL
 
   [Document interface: attribute onautocompleteerror]
     expected: FAIL
 
   [Document interface: attribute oncancel]
     expected: FAIL
 
+  [Document interface: attribute onclose]
+    expected: FAIL
+
   [Document interface: attribute oncuechange]
     expected: FAIL
 
   [Document interface: attribute onmousewheel]
     expected: FAIL
 
   [Document interface: attribute onsort]
     expected: FAIL
@@ -164,16 +167,19 @@
     expected: FAIL
 
   [Document interface: iframe.contentDocument must inherit property "onautocompleteerror" with the proper type (95)]
     expected: FAIL
 
   [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
 
   [Document interface: iframe.contentDocument must inherit property "onmousewheel" with the proper type (135)]
     expected: FAIL
 
   [Document interface: iframe.contentDocument must inherit property "onsort" with the proper type (148)]
     expected: FAIL
@@ -347,16 +353,19 @@
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onautocompleteerror" with the proper type (95)]
     expected: FAIL
 
   [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
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousewheel" with the proper type (135)]
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsort" with the proper type (148)]
     expected: FAIL
@@ -464,16 +473,19 @@
     expected: FAIL
 
   [HTMLElement interface: attribute onautocompleteerror]
     expected: FAIL
 
   [HTMLElement interface: attribute oncancel]
     expected: FAIL
 
+  [HTMLElement interface: attribute onclose]
+    expected: FAIL
+
   [HTMLElement interface: attribute oncuechange]
     expected: FAIL
 
   [HTMLElement interface: attribute onmousewheel]
     expected: FAIL
 
   [HTMLElement interface: attribute onsort]
     expected: FAIL
@@ -509,16 +521,19 @@
     expected: FAIL
 
   [HTMLElement interface: document.createElement("noscript") must inherit property "onautocompleteerror" with the proper type (27)]
     expected: FAIL
 
   [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
 
   [HTMLElement interface: document.createElement("noscript") must inherit property "onmousewheel" with the proper type (67)]
     expected: FAIL
 
   [HTMLElement interface: document.createElement("noscript") must inherit property "onsort" with the proper type (80)]
     expected: FAIL
@@ -1313,16 +1328,43 @@
     expected: FAIL
 
   [RelatedEvent interface: existence and properties of interface prototype object's "constructor" property]
     expected: FAIL
 
   [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
 
   [HTMLCanvasElement interface: operation setContext(RenderingContext)]
     expected: FAIL
 
   [HTMLCanvasElement interface: operation transferControlToProxy()]
     expected: FAIL
@@ -1572,16 +1614,19 @@
     expected: FAIL
 
   [Window interface: attribute onautocompleteerror]
     expected: FAIL
 
   [Window interface: attribute oncancel]
     expected: FAIL
 
+  [Window interface: attribute onclose]
+    expected: FAIL
+
   [Window interface: attribute oncuechange]
     expected: FAIL
 
   [Window interface: attribute onmousewheel]
     expected: FAIL
 
   [Window interface: attribute onsort]
     expected: FAIL
@@ -1597,16 +1642,19 @@
     expected: FAIL
 
   [Window interface: window must inherit property "onautocompleteerror" with the proper type (40)]
     expected: FAIL
 
   [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
 
   [Window interface: window must inherit property "onmousewheel" with the proper type (80)]
     expected: FAIL
 
   [Window interface: window must inherit property "onsort" with the proper type (93)]
     expected: FAIL
@@ -2078,16 +2126,19 @@
     expected: FAIL
 
   [Document interface: iframe.contentDocument must inherit property "onautocompleteerror" with the proper type (96)]
     expected: FAIL
 
   [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
 
   [Document interface: iframe.contentDocument must inherit property "onmousewheel" with the proper type (136)]
     expected: FAIL
 
   [Document interface: iframe.contentDocument must inherit property "onsort" with the proper type (149)]
     expected: FAIL
@@ -2213,16 +2264,19 @@
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onautocompleteerror" with the proper type (96)]
     expected: FAIL
 
   [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
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousewheel" with the proper type (136)]
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsort" with the proper type (149)]
     expected: FAIL
@@ -2285,16 +2339,19 @@
     expected: FAIL
 
   [AutocompleteErrorEvent interface object name]
     expected: FAIL
 
   [RelatedEvent interface object name]
     expected: FAIL
 
+  [HTMLDialogElement interface object name]
+    expected: FAIL
+
   [CanvasProxy interface object name]
     expected: FAIL
 
   [DrawingStyle interface object name]
     expected: FAIL
 
   [ApplicationCache interface object name]
     expected: FAIL
@@ -2501,16 +2558,19 @@
     expected: FAIL
 
   [Document interface: new Document() must inherit property "onautocompleteerror" with the proper type (95)]
     expected: FAIL
 
   [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
 
   [Document interface: new Document() must inherit property "onmousewheel" with the proper type (135)]
     expected: FAIL
 
   [Document interface: new Document() must inherit property "onsort" with the proper type (148)]
     expected: FAIL
@@ -2825,16 +2885,19 @@
     expected: FAIL
 
   [Document interface: iframe.contentDocument must inherit property "all" with the proper type (79)]
     expected: FAIL
 
   [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
 
   [Document interface: iframe.contentDocument must inherit property "onmousewheel" with the proper type (129)]
     expected: FAIL
 
   [Document interface: new Document() must inherit property "open" with the proper type (53)]
     expected: FAIL
@@ -2903,16 +2966,19 @@
     expected: FAIL
 
   [Document interface: new Document() must inherit property "all" with the proper type (79)]
     expected: FAIL
 
   [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
 
   [Document interface: new Document() must inherit property "onmousewheel" with the proper type (129)]
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "open" with the proper type (53)]
     expected: FAIL
@@ -2981,28 +3047,34 @@
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "all" with the proper type (79)]
     expected: FAIL
 
   [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
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousewheel" with the proper type (129)]
     expected: FAIL
 
   [HTMLElement interface: document.createElement("noscript") must inherit property "forceSpellCheck" with the proper type (16)]
     expected: FAIL
 
   [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
 
   [HTMLElement interface: document.createElement("noscript") must inherit property "onmousewheel" with the proper type (58)]
     expected: FAIL
 
   [HTMLStyleElement interface: attribute nonce]
     expected: FAIL
@@ -3146,16 +3218,19 @@
     expected: FAIL
 
   [CanvasPattern interface: operation setTransform(DOMMatrixInit)]
     expected: FAIL
 
   [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
 
   [Window interface: window must inherit property "onmousewheel" with the proper type (78)]
     expected: FAIL
 
   [Navigator interface: operation isProtocolHandlerRegistered(DOMString,USVString)]
     expected: FAIL
@@ -3200,16 +3275,19 @@
     expected: FAIL
 
   [Document interface: iframe.contentDocument must inherit property "all" with the proper type (80)]
     expected: FAIL
 
   [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
 
   [Document interface: iframe.contentDocument must inherit property "onmousewheel" with the proper type (130)]
     expected: FAIL
 
   [Document interface: new Document() must inherit property "styleSheetSets" with the proper type (33)]
     expected: FAIL
@@ -3278,16 +3356,19 @@
     expected: FAIL
 
   [Document interface: new Document() must inherit property "all" with the proper type (80)]
     expected: FAIL
 
   [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
 
   [Document interface: new Document() must inherit property "onmousewheel" with the proper type (130)]
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "styleSheetSets" with the proper type (33)]
     expected: FAIL
@@ -3356,16 +3437,20 @@
     expected: FAIL
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "all" with the proper type (80)]
     expected: FAIL
 
   [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
 
   [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousewheel" with the proper type (130)]
     expected: FAIL
 
   [Location interface: stringifier]
     expected: FAIL
+
--- a/testing/web-platform/meta/html/dom/reflection-misc.html.ini
+++ b/testing/web-platform/meta/html/dom/reflection-misc.html.ini
@@ -1,11 +1,10 @@
 [reflection-misc.html]
   type: testharness
-  prefs: [dom.dialog_element.enabled: true]
   [html.tabIndex: setAttribute() to object "3" followed by getAttribute()]
     expected: FAIL
 
   [html.tabIndex: setAttribute() to object "3" followed by IDL get]
     expected: FAIL
 
   [script.tabIndex: setAttribute() to object "3" followed by getAttribute()]
     expected: FAIL
@@ -479,16 +478,124 @@
     expected: FAIL
 
   [undefinedelement.tabIndex: setAttribute() to object "3" followed by getAttribute()]
     expected: FAIL
 
   [undefinedelement.tabIndex: setAttribute() to object "3" followed by IDL get]
     expected: FAIL
 
+  [dialog.open: typeof IDL attribute]
+    expected: FAIL
+
+  [dialog.open: IDL get with DOM attribute unset]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to "" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to " foo " followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to undefined followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to null followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to 7 followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to 1.5 followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to true followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to false followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to object "[object Object\]" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to NaN followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to Infinity followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to -Infinity followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to "\\0" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to object "test-toString" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to object "test-valueOf" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to "open" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to "" followed by hasAttribute()]
+    expected: FAIL
+
+  [dialog.open: IDL set to "" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to " foo " followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to undefined followed by hasAttribute()]
+    expected: FAIL
+
+  [dialog.open: IDL set to undefined followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to null followed by hasAttribute()]
+    expected: FAIL
+
+  [dialog.open: IDL set to null followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to 7 followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to 1.5 followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to false followed by hasAttribute()]
+    expected: FAIL
+
+  [dialog.open: IDL set to object "[object Object\]" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to NaN followed by hasAttribute()]
+    expected: FAIL
+
+  [dialog.open: IDL set to NaN followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to Infinity followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to -Infinity followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to "\\0" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to object "test-toString" followed by IDL get]
+    expected: FAIL
+
+  [dialog.open: IDL set to object "test-valueOf" followed by IDL get]
+    expected: FAIL
+
   [menu.type: setAttribute() to ""]
     expected: FAIL
 
   [menu.type: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f  foo "]
     expected: FAIL
 
   [menu.type: setAttribute() to undefined]
     expected: FAIL
@@ -877,8 +984,99 @@
   [menuitem.default: IDL set to "\\0"]
     expected: FAIL
 
   [menuitem.default: IDL set to object "test-toString"]
     expected: FAIL
 
   [menuitem.default: IDL set to object "test-valueOf"]
     expected: FAIL
+
+  [dialog.open: setAttribute() to ""]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to " foo "]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to undefined]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to null]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to 7]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to 1.5]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to true]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to false]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to object "[object Object\]"]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to NaN]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to Infinity]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to -Infinity]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to "\\0"]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to object "test-toString"]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to object "test-valueOf"]
+    expected: FAIL
+
+  [dialog.open: setAttribute() to "open"]
+    expected: FAIL
+
+  [dialog.open: IDL set to ""]
+    expected: FAIL
+
+  [dialog.open: IDL set to " foo "]
+    expected: FAIL
+
+  [dialog.open: IDL set to undefined]
+    expected: FAIL
+
+  [dialog.open: IDL set to null]
+    expected: FAIL
+
+  [dialog.open: IDL set to 7]
+    expected: FAIL
+
+  [dialog.open: IDL set to 1.5]
+    expected: FAIL
+
+  [dialog.open: IDL set to false]
+    expected: FAIL
+
+  [dialog.open: IDL set to object "[object Object\]"]
+    expected: FAIL
+
+  [dialog.open: IDL set to NaN]
+    expected: FAIL
+
+  [dialog.open: IDL set to Infinity]
+    expected: FAIL
+
+  [dialog.open: IDL set to -Infinity]
+    expected: FAIL
+
+  [dialog.open: IDL set to "\\0"]
+    expected: FAIL
+
+  [dialog.open: IDL set to object "test-toString"]
+    expected: FAIL
+
+  [dialog.open: IDL set to object "test-valueOf"]
+    expected: FAIL
+
--- a/testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-close.html.ini
+++ b/testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-close.html.ini
@@ -1,3 +1,20 @@
 [dialog-close.html]
   type: testharness
-  prefs: [dom.dialog_element.enabled:true]
+  [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
+
--- a/testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-open.html.ini
+++ b/testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-open.html.ini
@@ -1,3 +1,8 @@
 [dialog-open.html]
   type: testharness
-  prefs: [dom.dialog_element.enabled:true]
+  [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
+
--- a/testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html.ini
+++ b/testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html.ini
@@ -1,17 +1,23 @@
 [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
 
   [opening dialog without focusable children]
     expected: FAIL
 
   [opening dialog with multiple focusable children]
     expected: FAIL
 
   [opening dialog with multiple focusable children, one having the autofocus attribute]
     expected: FAIL
+
--- a/testing/web-platform/meta/html/semantics/interfaces.html.ini
+++ b/testing/web-platform/meta/html/semantics/interfaces.html.ini
@@ -1,35 +1,41 @@
 [interfaces.html]
   type: testharness
-  prefs: [dom.dialog_element.enabled: true]
   [Interfaces for image]
     expected: FAIL
 
   [Interfaces for keygen]
     expected: FAIL
 
   [Interfaces for marquee]
     expected: FAIL
 
   [Interfaces for bdi]
     expected: FAIL
 
+  [Interfaces for dialog]
+    expected: FAIL
+
   [Interfaces for IMAGE]
     expected: FAIL
 
   [Interfaces for KEYGEN]
     expected: FAIL
 
   [Interfaces for MARQUEE]
     expected: FAIL
 
   [Interfaces for BDI]
     expected: FAIL
 
+  [Interfaces for DIALOG]
+    expected: FAIL
+
   [Interfaces for slot]
     expected: FAIL
 
   [Interfaces for SLOT]
     expected: FAIL
 
   [Interfaces for å-bar]
     expected: FAIL
+
--- a/testing/web-platform/meta/svg/interfaces.html.ini
+++ b/testing/web-platform/meta/svg/interfaces.html.ini
@@ -97,31 +97,37 @@
     expected: FAIL
 
   [SVGElement interface: svg must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: svg must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: g must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: g must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: g must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGUnknownElement interface: existence and properties of interface object]
     expected: FAIL
@@ -142,121 +148,145 @@
     expected: FAIL
 
   [SVGElement interface: defs must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: defs must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: Desc must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: Desc must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: Desc must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: metadata must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: metadata must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: metadata must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: title must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: title must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: title must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: symbol must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: symbol must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: symbol must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: use must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: use must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: use must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: Switch must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: Switch must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: Switch must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: style must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: style must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: style must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGTransform interface: svg.createSVGTransform() must inherit property "matrix" with the proper type (8)]
     expected: FAIL
@@ -277,16 +307,19 @@
     expected: FAIL
 
   [SVGElement interface: path must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [SVGElement interface: path must inherit property "oncancel" with the proper type (11)]
     expected: FAIL
 
+  [SVGElement interface: path must inherit property "onclose" with the proper type (16)]
+    expected: FAIL
+
   [SVGElement interface: path must inherit property "oncuechange" with the proper type (18)]
     expected: FAIL
 
   [SVGElement interface: path must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGRectElement interface: existence and properties of interface object]
     expected: FAIL
@@ -322,16 +355,19 @@
     expected: FAIL
 
   [SVGElement interface: rect must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [SVGElement interface: rect must inherit property "oncancel" with the proper type (11)]
     expected: FAIL
 
+  [SVGElement interface: rect must inherit property "onclose" with the proper type (16)]
+    expected: FAIL
+
   [SVGElement interface: rect must inherit property "oncuechange" with the proper type (18)]
     expected: FAIL
 
   [SVGElement interface: rect must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGCircleElement interface: existence and properties of interface object]
     expected: FAIL
@@ -367,16 +403,19 @@
     expected: FAIL
 
   [SVGElement interface: circle must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: circle must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGEllipseElement interface: existence and properties of interface object]
     expected: FAIL
@@ -412,16 +451,19 @@
     expected: FAIL
 
   [SVGElement interface: ellipse must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: ellipse must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGLineElement interface: existence and properties of interface object]
     expected: FAIL
@@ -457,16 +499,19 @@
     expected: FAIL
 
   [SVGElement interface: line must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: line must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGPolylineElement interface: existence and properties of interface object]
     expected: FAIL
@@ -502,16 +547,19 @@
     expected: FAIL
 
   [SVGElement interface: polyline must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: polyline must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGPolygonElement interface: existence and properties of interface object]
     expected: FAIL
@@ -547,16 +595,19 @@
     expected: FAIL
 
   [SVGElement interface: polygon must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: polygon must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGTextContentElement must be primary interface of textContent]
     expected: FAIL
@@ -652,61 +703,73 @@
     expected: FAIL
 
   [SVGElement interface: textContent must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: textContent must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: text must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: text must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: text must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: tspan must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: tspan must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: tspan must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: textPath must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: textPath must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: textPath must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGImageElement interface: attribute crossOrigin]
     expected: FAIL
@@ -718,31 +781,37 @@
     expected: FAIL
 
   [SVGElement interface: image must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: image must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: foreignObject must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: foreignObject must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: foreignObject must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGMarkerElement interface: attribute orient]
     expected: FAIL
@@ -754,16 +823,19 @@
     expected: FAIL
 
   [SVGElement interface: marker must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: marker must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGSolidcolorElement interface: existence and properties of interface object]
     expected: FAIL
@@ -784,16 +856,19 @@
     expected: FAIL
 
   [SVGElement interface: linearGradient must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: linearGradient must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGRadialGradientElement interface: attribute fr]
     expected: FAIL
@@ -805,16 +880,19 @@
     expected: FAIL
 
   [SVGElement interface: radialGradient must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: radialGradient must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGMeshElement interface: existence and properties of interface object]
     expected: FAIL
@@ -865,31 +943,37 @@
     expected: FAIL
 
   [SVGElement interface: stop must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: stop must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: pattern must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: pattern must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: pattern must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGHatchElement interface: existence and properties of interface object]
     expected: FAIL
@@ -964,16 +1048,19 @@
     expected: FAIL
 
   [SVGElement interface: cursor must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: cursor must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGScriptElement interface: script must inherit property "crossOrigin" with the proper type (1)]
     expected: FAIL
@@ -982,16 +1069,19 @@
     expected: FAIL
 
   [SVGElement interface: script must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: script must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGZoomEvent interface: existence and properties of interface object]
     expected: FAIL
@@ -1006,271 +1096,325 @@
     expected: FAIL
 
   [SVGElement interface: a must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: a must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: view must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: view must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: view must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: filter must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: filter must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: filter must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feBlend must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feBlend must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feBlend must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feColorMatrix must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feColorMatrix must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feColorMatrix must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feComponentTransfer must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feComponentTransfer must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feComponentTransfer must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feFuncR must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feFuncR must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feFuncR must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feFuncG must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feFuncG must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feFuncG must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feFuncB must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feFuncB must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feFuncB must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feFuncA must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feFuncA must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feFuncA must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feComposite must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feComposite must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feComposite must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feConvolveMatrix must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feConvolveMatrix must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feConvolveMatrix must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feDiffuseLighting must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feDiffuseLighting must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feDiffuseLighting must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: fePointLight must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: fePointLight must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: fePointLight must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feSpotLight must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feSpotLight must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feSpotLight must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feDisplacementMap must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feDisplacementMap must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feDisplacementMap must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feDropShadow must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feDropShadow must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feDropShadow must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feFlood must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feFlood must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feFlood must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_UNKNOWN on interface object]
     expected: FAIL
@@ -1318,16 +1462,19 @@
     expected: FAIL
 
   [SVGElement interface: feGaussianBlur must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feGaussianBlur must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGFEImageElement interface: attribute crossOrigin]
     expected: FAIL
@@ -1339,106 +1486,127 @@
     expected: FAIL
 
   [SVGElement interface: feImage must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feImage must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feMerge must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feMerge must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feMerge must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feMergeNode must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feMergeNode must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feMergeNode must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feMorphology must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feMorphology must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feMorphology must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feSpecularLighting must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feSpecularLighting must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feSpecularLighting must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feTile must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feTile must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feTile must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGElement interface: feTurbulence must inherit property "onautocomplete" with the proper type (8)]
     expected: FAIL
 
   [SVGElement interface: feTurbulence must inherit property "onautocompleteerror" with the proper type (9)]
     expected: FAIL
 
   [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
 
   [SVGElement interface: feTurbulence must inherit property "onsort" with the proper type (62)]
     expected: FAIL
 
   [SVGGeometryElement interface: path must inherit property "isPointInFill" with the proper type (1)]
     expected: FAIL
--- a/widget/EventMessageList.h
+++ b/widget/EventMessageList.h
@@ -437,15 +437,12 @@ NS_EVENT_MESSAGE(eEditorInput)
 
 // selection events
 NS_EVENT_MESSAGE(eSelectStart)
 NS_EVENT_MESSAGE(eSelectionChange)
 
 // 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
 #endif