summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-04-17 06:37:28 -0400
committerMatt A. Tobin <email@mattatobin.com>2020-04-17 06:37:28 -0400
commit48f602e65b0bcb10e3a8367dbbb70185e2e33125 (patch)
tree0205109239b4565f2b09efb7a3f52642132a72ab
parent846e0fa4f5aca0e75e37c421689d69bc58a2d3f6 (diff)
downloadUXP-48f602e65b0bcb10e3a8367dbbb70185e2e33125.tar
UXP-48f602e65b0bcb10e3a8367dbbb70185e2e33125.tar.gz
UXP-48f602e65b0bcb10e3a8367dbbb70185e2e33125.tar.lz
UXP-48f602e65b0bcb10e3a8367dbbb70185e2e33125.tar.xz
UXP-48f602e65b0bcb10e3a8367dbbb70185e2e33125.zip
Bug 1402941 - Add HTMLSlotElement
Tag #1375
-rw-r--r--dom/base/nsGkAtomList.h1
-rw-r--r--dom/html/HTMLSlotElement.cpp67
-rw-r--r--dom/html/HTMLSlotElement.h53
-rw-r--r--dom/html/moz.build2
-rw-r--r--dom/html/nsGenericHTMLElement.h1
-rw-r--r--dom/webidl/HTMLSlotElement.webidl22
-rw-r--r--dom/webidl/moz.build1
-rw-r--r--editor/libeditor/HTMLEditUtils.cpp66
-rw-r--r--parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/ElementName.java350
-rw-r--r--parser/html/nsHtml5AtomList.h1
-rw-r--r--parser/html/nsHtml5ElementName.cpp180
-rw-r--r--parser/html/nsHtml5ElementName.h1
-rw-r--r--parser/htmlparser/nsElementTable.cpp1
-rw-r--r--parser/htmlparser/nsHTMLTagList.h1
14 files changed, 453 insertions, 294 deletions
diff --git a/dom/base/nsGkAtomList.h b/dom/base/nsGkAtomList.h
index 0ae35480f..35963afd7 100644
--- a/dom/base/nsGkAtomList.h
+++ b/dom/base/nsGkAtomList.h
@@ -1564,6 +1564,7 @@ GK_ATOM(shape_rendering, "shape-rendering")
GK_ATOM(skewX, "skewX")
GK_ATOM(skewY, "skewY")
GK_ATOM(slope, "slope")
+GK_ATOM(slot, "slot")
GK_ATOM(softLight, "soft-light")
GK_ATOM(spacing, "spacing")
GK_ATOM(spacingAndGlyphs, "spacingAndGlyphs")
diff --git a/dom/html/HTMLSlotElement.cpp b/dom/html/HTMLSlotElement.cpp
new file mode 100644
index 000000000..9f24f8ba3
--- /dev/null
+++ b/dom/html/HTMLSlotElement.cpp
@@ -0,0 +1,67 @@
+/* -*- 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/HTMLSlotElement.h"
+#include "mozilla/dom/HTMLSlotElementBinding.h"
+#include "mozilla/dom/HTMLUnknownElement.h"
+#include "nsGkAtoms.h"
+#include "nsDocument.h"
+
+nsGenericHTMLElement*
+NS_NewHTMLSlotElement(already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
+ mozilla::dom::FromParser aFromParser)
+{
+ RefPtr<mozilla::dom::NodeInfo> nodeInfo(aNodeInfo);
+ /* Disabled for now
+ if (nsDocument::IsWebComponentsEnabled(nodeInfo)) {
+ already_AddRefed<mozilla::dom::NodeInfo> nodeInfoArg(nodeInfo.forget());
+ return new mozilla::dom::HTMLSlotElement(nodeInfoArg);
+ }
+ */
+
+ already_AddRefed<mozilla::dom::NodeInfo> nodeInfoArg(nodeInfo.forget());
+ return new mozilla::dom::HTMLUnknownElement(nodeInfoArg);
+}
+
+namespace mozilla {
+namespace dom {
+
+HTMLSlotElement::HTMLSlotElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo)
+ : nsGenericHTMLElement(aNodeInfo)
+{
+}
+
+HTMLSlotElement::~HTMLSlotElement()
+{
+}
+
+NS_IMPL_ADDREF_INHERITED(HTMLSlotElement, nsGenericHTMLElement)
+NS_IMPL_RELEASE_INHERITED(HTMLSlotElement, nsGenericHTMLElement)
+
+NS_IMPL_CYCLE_COLLECTION_INHERITED(HTMLSlotElement,
+ nsGenericHTMLElement,
+ mAssignedNodes)
+
+NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(HTMLSlotElement)
+NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement)
+
+NS_IMPL_ELEMENT_CLONE(HTMLSlotElement)
+
+void
+HTMLSlotElement::AssignedNodes(const AssignedNodesOptions& aOptions,
+ nsTArray<RefPtr<nsINode>>& aNodes)
+{
+ aNodes = mAssignedNodes;
+}
+
+JSObject*
+HTMLSlotElement::WrapNode(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
+{
+ return HTMLSlotElementBinding::Wrap(aCx, this, aGivenProto);
+}
+
+} // namespace dom
+} // namespace mozilla
diff --git a/dom/html/HTMLSlotElement.h b/dom/html/HTMLSlotElement.h
new file mode 100644
index 000000000..187a295db
--- /dev/null
+++ b/dom/html/HTMLSlotElement.h
@@ -0,0 +1,53 @@
+/* -*- 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 mozilla_dom_HTMLSlotElement_h
+#define mozilla_dom_HTMLSlotElement_h
+
+#include "nsIDOMHTMLElement.h"
+#include "nsGenericHTMLElement.h"
+#include "nsTArray.h"
+
+namespace mozilla {
+namespace dom {
+
+struct AssignedNodesOptions;
+
+class HTMLSlotElement final : public nsGenericHTMLElement
+{
+public:
+ explicit HTMLSlotElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo);
+ NS_IMPL_FROMCONTENT_HTML_WITH_TAG(HTMLSlotElement, slot)
+
+ NS_DECL_ISUPPORTS_INHERITED
+ NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLSlotElement, nsGenericHTMLElement)
+ virtual nsresult Clone(mozilla::dom::NodeInfo* aNodeInfo, nsINode** aResult) const override;
+
+ void SetName(const nsAString& aName, ErrorResult& aRv)
+ {
+ SetHTMLAttr(nsGkAtoms::name, aName, aRv);
+ }
+
+ void GetName(nsAString& aName)
+ {
+ GetHTMLAttr(nsGkAtoms::name, aName);
+ }
+
+ void AssignedNodes(const AssignedNodesOptions& aOptions,
+ nsTArray<RefPtr<nsINode>>& aNodes);
+
+protected:
+ virtual ~HTMLSlotElement();
+ virtual JSObject*
+ WrapNode(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
+
+ nsTArray<RefPtr<nsINode>> mAssignedNodes;
+};
+
+} // namespace dom
+} // namespace mozilla
+
+#endif // mozilla_dom_HTMLSlotElement_h
diff --git a/dom/html/moz.build b/dom/html/moz.build
index 1ccc630fd..79554df21 100644
--- a/dom/html/moz.build
+++ b/dom/html/moz.build
@@ -95,6 +95,7 @@ EXPORTS.mozilla.dom += [
'HTMLSharedElement.h',
'HTMLSharedListElement.h',
'HTMLSharedObjectElement.h',
+ 'HTMLSlotElement.h',
'HTMLSourceElement.h',
'HTMLSpanElement.h',
'HTMLStyleElement.h',
@@ -174,6 +175,7 @@ UNIFIED_SOURCES += [
'HTMLSharedElement.cpp',
'HTMLSharedListElement.cpp',
'HTMLSharedObjectElement.cpp',
+ 'HTMLSlotElement.cpp',
'HTMLSourceElement.cpp',
'HTMLSpanElement.cpp',
'HTMLStyleElement.cpp',
diff --git a/dom/html/nsGenericHTMLElement.h b/dom/html/nsGenericHTMLElement.h
index 3b451b29c..1b0977fa2 100644
--- a/dom/html/nsGenericHTMLElement.h
+++ b/dom/html/nsGenericHTMLElement.h
@@ -1700,6 +1700,7 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT(Pre)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Progress)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Script)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Select)
+NS_DECLARE_NS_NEW_HTML_ELEMENT(Slot)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Source)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Span)
NS_DECLARE_NS_NEW_HTML_ELEMENT(Style)
diff --git a/dom/webidl/HTMLSlotElement.webidl b/dom/webidl/HTMLSlotElement.webidl
new file mode 100644
index 000000000..24dfcf350
--- /dev/null
+++ b/dom/webidl/HTMLSlotElement.webidl
@@ -0,0 +1,22 @@
+/* -*- 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.
+ */
+
+[Func="nsDocument::IsWebComponentsEnabled", Exposed=Window, HTMLConstructor]
+interface HTMLSlotElement : HTMLElement {
+ [CEReactions, SetterThrows] attribute DOMString name;
+ sequence<Node> assignedNodes(optional AssignedNodesOptions options);
+};
+
+dictionary AssignedNodesOptions {
+ boolean flatten = false;
+}; \ No newline at end of file
diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build
index dba8e2818..ae97bbb30 100644
--- a/dom/webidl/moz.build
+++ b/dom/webidl/moz.build
@@ -226,6 +226,7 @@ WEBIDL_FILES = [
'HTMLQuoteElement.webidl',
'HTMLScriptElement.webidl',
'HTMLSelectElement.webidl',
+ 'HTMLSlotElement.webidl',
'HTMLSourceElement.webidl',
'HTMLSpanElement.webidl',
'HTMLStyleElement.webidl',
diff --git a/editor/libeditor/HTMLEditUtils.cpp b/editor/libeditor/HTMLEditUtils.cpp
index 7933637fe..89abbe49c 100644
--- a/editor/libeditor/HTMLEditUtils.cpp
+++ b/editor/libeditor/HTMLEditUtils.cpp
@@ -603,9 +603,11 @@ static const ElementInfo kElements[eHTMLTag_userdefined] = {
ELEM(a, true, false, GROUP_SPECIAL, GROUP_INLINE_ELEMENT),
ELEM(abbr, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
ELEM(acronym, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
- ELEM(address, true, true, GROUP_BLOCK,
- GROUP_INLINE_ELEMENT | GROUP_P),
- ELEM(applet, true, true, GROUP_SPECIAL | GROUP_BLOCK,
+ ELEM(address, true, true, GROUP_BLOCK, GROUP_INLINE_ELEMENT | GROUP_P),
+ ELEM(applet,
+ true,
+ true,
+ GROUP_SPECIAL | GROUP_BLOCK,
GROUP_FLOW_ELEMENT | GROUP_OBJECT_CONTENT),
ELEM(area, false, false, GROUP_MAP_CONTENT, GROUP_NONE),
ELEM(article, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
@@ -620,19 +622,24 @@ static const ElementInfo kElements[eHTMLTag_userdefined] = {
ELEM(blockquote, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(body, true, true, GROUP_TOPLEVEL, GROUP_FLOW_ELEMENT),
ELEM(br, false, false, GROUP_SPECIAL, GROUP_NONE),
- ELEM(button, true, true, GROUP_FORMCONTROL | GROUP_BLOCK,
- GROUP_FLOW_ELEMENT),
+ ELEM(button, true, true, GROUP_FORMCONTROL | GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(canvas, false, false, GROUP_NONE, GROUP_NONE),
ELEM(caption, true, true, GROUP_NONE, GROUP_INLINE_ELEMENT),
ELEM(center, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(cite, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
ELEM(code, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
- ELEM(col, false, false, GROUP_TABLE_CONTENT | GROUP_COLGROUP_CONTENT,
+ ELEM(col,
+ false,
+ false,
+ GROUP_TABLE_CONTENT | GROUP_COLGROUP_CONTENT,
GROUP_NONE),
ELEM(colgroup, true, false, GROUP_NONE, GROUP_COLGROUP_CONTENT),
ELEM(content, true, false, GROUP_NONE, GROUP_INLINE_ELEMENT),
ELEM(data, true, false, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
- ELEM(datalist, true, false, GROUP_PHRASE,
+ 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),
@@ -647,33 +654,25 @@ static const ElementInfo kElements[eHTMLTag_userdefined] = {
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),
- ELEM(figure, true, true, GROUP_BLOCK,
- GROUP_FLOW_ELEMENT | GROUP_FIGCAPTION),
+ ELEM(figure, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT | GROUP_FIGCAPTION),
ELEM(font, true, true, GROUP_SPECIAL, GROUP_INLINE_ELEMENT),
ELEM(footer, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(form, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(frame, false, false, GROUP_FRAME, GROUP_NONE),
ELEM(frameset, true, true, GROUP_FRAME, GROUP_FRAME),
- ELEM(h1, true, false, GROUP_BLOCK | GROUP_HEADING,
- GROUP_INLINE_ELEMENT),
- ELEM(h2, true, false, GROUP_BLOCK | GROUP_HEADING,
- GROUP_INLINE_ELEMENT),
- ELEM(h3, true, false, GROUP_BLOCK | GROUP_HEADING,
- GROUP_INLINE_ELEMENT),
- ELEM(h4, true, false, GROUP_BLOCK | GROUP_HEADING,
- GROUP_INLINE_ELEMENT),
- ELEM(h5, true, false, GROUP_BLOCK | GROUP_HEADING,
- GROUP_INLINE_ELEMENT),
- ELEM(h6, true, false, GROUP_BLOCK | GROUP_HEADING,
- GROUP_INLINE_ELEMENT),
+ ELEM(h1, true, false, GROUP_BLOCK | GROUP_HEADING, GROUP_INLINE_ELEMENT),
+ ELEM(h2, true, false, GROUP_BLOCK | GROUP_HEADING, GROUP_INLINE_ELEMENT),
+ ELEM(h3, true, false, GROUP_BLOCK | GROUP_HEADING, GROUP_INLINE_ELEMENT),
+ ELEM(h4, true, false, GROUP_BLOCK | GROUP_HEADING, GROUP_INLINE_ELEMENT),
+ ELEM(h5, true, false, GROUP_BLOCK | GROUP_HEADING, GROUP_INLINE_ELEMENT),
+ ELEM(h6, true, false, GROUP_BLOCK | GROUP_HEADING, GROUP_INLINE_ELEMENT),
ELEM(head, true, false, GROUP_TOPLEVEL, GROUP_HEAD_CONTENT),
ELEM(header, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(hgroup, true, false, GROUP_BLOCK, GROUP_HEADING),
ELEM(hr, false, false, GROUP_BLOCK, GROUP_NONE),
ELEM(html, true, false, GROUP_TOPLEVEL, GROUP_TOPLEVEL),
ELEM(i, true, true, GROUP_FONTSTYLE, GROUP_INLINE_ELEMENT),
- ELEM(iframe, true, true, GROUP_SPECIAL | GROUP_BLOCK,
- GROUP_FLOW_ELEMENT),
+ ELEM(iframe, true, true, GROUP_SPECIAL | GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(image, false, false, GROUP_NONE, GROUP_NONE),
ELEM(img, false, false, GROUP_SPECIAL | GROUP_PICTURE_CONTENT, GROUP_NONE),
ELEM(input, false, false, GROUP_FORMCONTROL, GROUP_NONE),
@@ -699,15 +698,15 @@ static const ElementInfo kElements[eHTMLTag_userdefined] = {
ELEM(noembed, false, false, GROUP_NONE, GROUP_NONE),
ELEM(noframes, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(noscript, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
- ELEM(object, true, true, GROUP_SPECIAL | GROUP_BLOCK,
+ ELEM(object,
+ true,
+ true,
+ GROUP_SPECIAL | GROUP_BLOCK,
GROUP_FLOW_ELEMENT | GROUP_OBJECT_CONTENT),
// XXX Can contain self and ul because editor does sublists illegally.
- ELEM(ol, true, true, GROUP_BLOCK | GROUP_OL_UL,
- GROUP_LI | GROUP_OL_UL),
- ELEM(optgroup, true, false, GROUP_SELECT_CONTENT,
- GROUP_OPTIONS),
- ELEM(option, true, false,
- GROUP_SELECT_CONTENT | GROUP_OPTIONS, GROUP_LEAF),
+ ELEM(ol, true, true, GROUP_BLOCK | GROUP_OL_UL, GROUP_LI | GROUP_OL_UL),
+ ELEM(optgroup, true, false, GROUP_SELECT_CONTENT, GROUP_OPTIONS),
+ ELEM(option, true, false, GROUP_SELECT_CONTENT | GROUP_OPTIONS, GROUP_LEAF),
ELEM(output, true, true, GROUP_SPECIAL, GROUP_INLINE_ELEMENT),
ELEM(p, true, false, GROUP_BLOCK | GROUP_P, GROUP_INLINE_ELEMENT),
ELEM(param, false, false, GROUP_OBJECT_CONTENT, GROUP_NONE),
@@ -723,11 +722,11 @@ static const ElementInfo kElements[eHTMLTag_userdefined] = {
ELEM(ruby, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
ELEM(s, true, true, GROUP_FONTSTYLE, GROUP_INLINE_ELEMENT),
ELEM(samp, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
- ELEM(script, true, false, GROUP_HEAD_CONTENT | GROUP_SPECIAL,
- GROUP_LEAF),
+ ELEM(script, true, false, GROUP_HEAD_CONTENT | GROUP_SPECIAL, GROUP_LEAF),
ELEM(section, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT),
ELEM(select, true, false, GROUP_FORMCONTROL, GROUP_SELECT_CONTENT),
ELEM(small, true, true, GROUP_FONTSTYLE, GROUP_INLINE_ELEMENT),
+ ELEM(slot, true, false, GROUP_NONE, GROUP_FLOW_ELEMENT),
ELEM(source, false, false, GROUP_PICTURE_CONTENT, GROUP_NONE),
ELEM(span, true, true, GROUP_SPECIAL, GROUP_INLINE_ELEMENT),
ELEM(strike, true, true, GROUP_FONTSTYLE, GROUP_INLINE_ELEMENT),
@@ -751,8 +750,7 @@ static const ElementInfo kElements[eHTMLTag_userdefined] = {
ELEM(tt, true, true, GROUP_FONTSTYLE, GROUP_INLINE_ELEMENT),
ELEM(u, true, true, GROUP_FONTSTYLE, GROUP_INLINE_ELEMENT),
// XXX Can contain self and ol because editor does sublists illegally.
- ELEM(ul, true, true, GROUP_BLOCK | GROUP_OL_UL,
- GROUP_LI | GROUP_OL_UL),
+ ELEM(ul, true, true, GROUP_BLOCK | GROUP_OL_UL, GROUP_LI | GROUP_OL_UL),
ELEM(var, true, true, GROUP_PHRASE, GROUP_INLINE_ELEMENT),
ELEM(video, false, false, GROUP_NONE, GROUP_NONE),
ELEM(wbr, false, false, GROUP_NONE, GROUP_NONE),
diff --git a/parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/ElementName.java b/parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/ElementName.java
index b8e1b944c..5ab5a4ff8 100644
--- a/parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/ElementName.java
+++ b/parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/ElementName.java
@@ -2175,6 +2175,10 @@ public final class ElementName
// CPPONLY: NS_NewHTMLUnknownElement,
// CPPONLY: NS_NewSVGUnknownElement,
TreeBuilder.OTHER);
+ public static final ElementName SLOT = new ElementName("slot", "slot",
+ // CPPONLY: NS_NewHTMLSlotElement,
+ // CPPONLY: NS_NewSVGUnknownElement,
+ TreeBuilder.OTHER);
public static final ElementName SCRIPT = new ElementName("script", "script",
// CPPONLY: NS_NewHTMLScriptElement,
// CPPONLY: NS_NewSVGScriptElement,
@@ -2270,18 +2274,18 @@ public final class ElementName
private final static @NoLength ElementName[] ELEMENT_NAMES = {
VKERN,
LOGBASE,
- FOREIGNOBJECT,
+ FIELDSET,
DATA,
LI,
- CANVAS,
- TT,
+ COMPLEXES,
+ QUOTIENT,
PRE,
ARTICLE,
DIALOG,
ARCTAN,
LISTENER,
- REALS,
- MOMENT,
+ RATIONALS,
+ MROOT,
MROW,
GEQ,
G,
@@ -2292,11 +2296,11 @@ public final class ElementName
INTERVAL,
MN,
BR,
- NOTANUMBER,
- MPRESCRIPTS,
- CARTESIANPRODUCT,
- LT,
- NEST,
+ POWER,
+ MMULTISCRIPTS,
+ CONTENT,
+ INTERSECT,
+ RT,
SCRIPT,
APPLY,
COS,
@@ -2317,17 +2321,17 @@ public final class ElementName
OPTION,
MALIGNGROUP,
FECOMPONENTTRANSFER,
- MUNDEROVER,
- SELECTOR,
- EXISTS,
- NATURALNUMBERS,
- DT,
- DATALIST,
- FESPOTLIGHT,
- LIMIT,
- MTEXT,
- OUTPUT,
- ROOT,
+ MERROR,
+ VECTOR,
+ IMPLIES,
+ PRIMES,
+ APPLET,
+ EMPTYSET,
+ FEPOINTLIGHT,
+ LOWLIMIT,
+ NOTSUBSET,
+ PRODUCT,
+ SELECT,
VECTORPRODUCT,
FECOLORMATRIX,
INFINITY,
@@ -2367,28 +2371,28 @@ public final class ElementName
OPTGROUP,
CENTER,
FEGAUSSIANBLUR,
- METER,
- MLABELEDTR,
- TR,
- ARCCOS,
- DEFS,
- INTEGERS,
- MINUS,
- PROGRESS,
- SEMANTICS,
- ARCCOT,
- GT,
- EQUIVALENT,
- FRAMESET,
- FEDISTANTLIGHT,
- IDENT,
- LINEARGRADIENT,
- MSQRT,
- NOTPRSUBSET,
- OBJECT,
- PRSUBSET,
- RECT,
- SCALARPRODUCT,
+ MOVER,
+ NOBR,
+ SOLIDCOLOR,
+ ADDRESS,
+ DETAILS,
+ MS,
+ NOFRAMES,
+ PLUS,
+ TIMES,
+ BASEFONT,
+ DETERMINANT,
+ FONT_FACE_FORMAT,
+ FEOFFSET,
+ FONT,
+ INPUT,
+ LIST,
+ MOMENTABOUT,
+ NOSCRIPT,
+ OUTERPRODUCT,
+ PLAINTEXT,
+ RADIALGRADIENT,
+ SUBSET,
TEXT,
SDEV,
VIEW,
@@ -2468,49 +2472,49 @@ public final class ElementName
FOOTER,
HANDLER,
MARKER,
- MOVER,
- MERROR,
- NOBR,
- POWER,
- SOLIDCOLOR,
- VECTOR,
- ADDRESS,
- COMPLEXES,
- DETAILS,
- IMPLIES,
- MS,
- MMULTISCRIPTS,
- NOFRAMES,
- PRIMES,
- PLUS,
- RATIONALS,
- TIMES,
- APPLET,
- BASEFONT,
- CONTENT,
- DETERMINANT,
- EMPTYSET,
- FONT_FACE_FORMAT,
- FIELDSET,
- FEOFFSET,
- FEPOINTLIGHT,
- FONT,
- INTERSECT,
- INPUT,
- LOWLIMIT,
- LIST,
- MROOT,
- MOMENTABOUT,
- NOTSUBSET,
- NOSCRIPT,
- RT,
- OUTERPRODUCT,
- PRODUCT,
- PLAINTEXT,
- QUOTIENT,
- RADIALGRADIENT,
- SELECT,
- SUBSET,
+ MUNDEROVER,
+ MLABELEDTR,
+ NOTANUMBER,
+ TR,
+ SELECTOR,
+ ARCCOS,
+ CANVAS,
+ DEFS,
+ EXISTS,
+ INTEGERS,
+ MPRESCRIPTS,
+ MINUS,
+ NATURALNUMBERS,
+ PROGRESS,
+ REALS,
+ SEMANTICS,
+ DT,
+ ARCCOT,
+ CARTESIANPRODUCT,
+ GT,
+ DATALIST,
+ EQUIVALENT,
+ FOREIGNOBJECT,
+ FRAMESET,
+ FESPOTLIGHT,
+ FEDISTANTLIGHT,
+ LT,
+ IDENT,
+ LIMIT,
+ LINEARGRADIENT,
+ MOMENT,
+ MSQRT,
+ MTEXT,
+ NOTPRSUBSET,
+ NEST,
+ OBJECT,
+ OUTPUT,
+ PRSUBSET,
+ TT,
+ RECT,
+ ROOT,
+ SCALARPRODUCT,
+ SLOT,
TFOOT,
UPLIMIT,
MENU,
@@ -2668,22 +2672,23 @@ public final class ElementName
HEADER,
OR,
MUNDER,
+ METER,
};
private final static int[] ELEMENT_HASHES = {
1909280949,
1753057319,
- 2001309869,
+ 2001349704,
1681770564,
1818230786,
- 1982935782,
- 2006974466,
+ 1983002201,
+ 2007257240,
58773795,
1747176599,
1782357526,
1897999926,
1970938456,
- 1990969429,
- 2005160150,
+ 1990969577,
+ 2005181733,
2055514836,
54061139,
62390273,
@@ -2694,11 +2699,11 @@ public final class ElementName
1868641064,
1902641154,
1963982850,
- 1971981018,
- 1988486811,
- 1999745104,
- 2002780162,
- 2005766372,
+ 1973040373,
+ 1988486813,
+ 1999917383,
+ 2002882873,
+ 2005925890,
2008340774,
2082727685,
51965171,
@@ -2719,17 +2724,17 @@ public final class ElementName
1905563974,
1938171179,
1967788867,
- 1971467002,
- 1974775352,
- 1984294038,
- 1988972590,
- 1998585858,
- 2000525512,
- 2001392795,
- 2004557973,
- 2005324101,
- 2006329158,
- 2007803172,
+ 1971628838,
+ 1976348214,
+ 1986140359,
+ 1989812374,
+ 1998724870,
+ 2000825752,
+ 2001392796,
+ 2004557976,
+ 2005543977,
+ 2006560839,
+ 2008125638,
2009706573,
2068523853,
2087049448,
@@ -2769,28 +2774,28 @@ public final class ElementName
1939219752,
1966223078,
1968053806,
- 1971465813,
- 1971703386,
- 1973420034,
- 1982106678,
- 1983533124,
- 1986351224,
- 1988502165,
- 1990037800,
- 1991350601,
- 1998883894,
- 2000158722,
- 2000965834,
- 2001349720,
- 2001392798,
- 2003062853,
- 2004635806,
- 2005231925,
- 2005543979,
- 2006028454,
- 2006592552,
- 2007601444,
- 2008133709,
+ 1971466997,
+ 1971938532,
+ 1974771450,
+ 1982173479,
+ 1983633431,
+ 1986527234,
+ 1988763672,
+ 1990074116,
+ 1991909525,
+ 1999397992,
+ 2000439531,
+ 2001281328,
+ 2001349736,
+ 2001495140,
+ 2003183333,
+ 2004719812,
+ 2005279787,
+ 2005719336,
+ 2006036556,
+ 2006896969,
+ 2007781534,
+ 2008165414,
2008994116,
2041712436,
2060065124,
@@ -2870,49 +2875,49 @@ public final class ElementName
1967795958,
1968840263,
1971461414,
- 1971466997,
- 1971628838,
- 1971938532,
- 1973040373,
- 1974771450,
- 1976348214,
- 1982173479,
- 1983002201,
- 1983633431,
- 1986140359,
- 1986527234,
- 1988486813,
- 1988763672,
- 1989812374,
- 1990074116,
- 1990969577,
- 1991909525,
- 1998724870,
- 1999397992,
- 1999917383,
- 2000439531,
- 2000825752,
- 2001281328,
- 2001349704,
- 2001349736,
- 2001392796,
- 2001495140,
- 2002882873,
- 2003183333,
- 2004557976,
- 2004719812,
- 2005181733,
- 2005279787,
- 2005543977,
- 2005719336,
- 2005925890,
- 2006036556,
- 2006560839,
- 2006896969,
- 2007257240,
- 2007781534,
- 2008125638,
- 2008165414,
+ 1971467002,
+ 1971703386,
+ 1971981018,
+ 1973420034,
+ 1974775352,
+ 1982106678,
+ 1982935782,
+ 1983533124,
+ 1984294038,
+ 1986351224,
+ 1988486811,
+ 1988502165,
+ 1988972590,
+ 1990037800,
+ 1990969429,
+ 1991350601,
+ 1998585858,
+ 1998883894,
+ 1999745104,
+ 2000158722,
+ 2000525512,
+ 2000965834,
+ 2001309869,
+ 2001349720,
+ 2001392795,
+ 2001392798,
+ 2002780162,
+ 2003062853,
+ 2004557973,
+ 2004635806,
+ 2005160150,
+ 2005231925,
+ 2005324101,
+ 2005543979,
+ 2005766372,
+ 2006028454,
+ 2006329158,
+ 2006592552,
+ 2006974466,
+ 2007601444,
+ 2007803172,
+ 2008133709,
+ 2008325940,
2008851557,
2009276567,
2021937364,
@@ -3070,5 +3075,6 @@ public final class ElementName
1968836118,
1970798594,
1971457766,
+ 1971465813,
};
}
diff --git a/parser/html/nsHtml5AtomList.h b/parser/html/nsHtml5AtomList.h
index 38fe05b0f..0728f439b 100644
--- a/parser/html/nsHtml5AtomList.h
+++ b/parser/html/nsHtml5AtomList.h
@@ -1049,6 +1049,7 @@ HTML5_ATOM(root, "root")
HTML5_ATOM(select, "select")
HTML5_ATOM(scalarproduct, "scalarproduct")
HTML5_ATOM(subset, "subset")
+HTML5_ATOM(slot, "slot")
HTML5_ATOM(script, "script")
HTML5_ATOM(tfoot, "tfoot")
HTML5_ATOM(uplimit, "uplimit")
diff --git a/parser/html/nsHtml5ElementName.cpp b/parser/html/nsHtml5ElementName.cpp
index 7b8d1fb20..788c9e36c 100644
--- a/parser/html/nsHtml5ElementName.cpp
+++ b/parser/html/nsHtml5ElementName.cpp
@@ -463,6 +463,7 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_ROOT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SELECT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SCALARPRODUCT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SUBSET = nullptr;
+nsHtml5ElementName* nsHtml5ElementName::ELT_SLOT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SCRIPT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_TFOOT = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_TEXT = nullptr;
@@ -487,7 +488,7 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_RUBY = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_SUMMARY = nullptr;
nsHtml5ElementName* nsHtml5ElementName::ELT_TBODY = nullptr;
nsHtml5ElementName** nsHtml5ElementName::ELEMENT_NAMES = 0;
-static int32_t const ELEMENT_HASHES_DATA[] = { 1909280949, 1753057319, 2001309869, 1681770564, 1818230786, 1982935782, 2006974466, 58773795, 1747176599, 1782357526, 1897999926, 1970938456, 1990969429, 2005160150, 2055514836, 54061139, 62390273, 1730150402, 1749395095, 1756625221, 1798693940, 1868641064, 1902641154, 1963982850, 1971981018, 1988486811, 1999745104, 2002780162, 2005766372, 2008340774, 2082727685, 51965171, 57200451, 60350803, 69730305, 1703292116, 1733890180, 1748355193, 1749813541, 1754634617, 1763839627, 1797540167, 1805647874, 1857622310, 1881498736, 1899272519, 1905563974, 1938171179, 1967788867, 1971467002, 1974775352, 1984294038, 1988972590, 1998585858, 2000525512, 2001392795, 2004557973, 2005324101, 2006329158, 2007803172, 2009706573, 2068523853, 2087049448, 51434643, 52488851, 56151587, 57210387, 59826259, 60354131, 63438849, 926941186, 1686489160, 1715300574, 1732381397, 1737099991, 1748100148, 1748642422, 1749715159, 1751288021, 1753467414, 1755158905, 1757259017, 1771722827, 1786534215, 1797645367, 1803929812, 1807501636, 1853642948, 1865773108, 1873350948, 1887579800, 1898223949, 1900544002, 1904285766, 1907435316, 1925844629, 1939219752, 1966223078, 1968053806, 1971465813, 1971703386, 1973420034, 1982106678, 1983533124, 1986351224, 1988502165, 1990037800, 1991350601, 1998883894, 2000158722, 2000965834, 2001349720, 2001392798, 2003062853, 2004635806, 2005231925, 2005543979, 2006028454, 2006592552, 2007601444, 2008133709, 2008994116, 2041712436, 2060065124, 2070023911, 2085266636, 2092255447, 50910499, 51957043, 52485715, 53012355, 55110883, 56680499, 57206291, 57732851, 59768833, 60345427, 60352083, 61395251, 62973651, 67633153, 893386754, 960495618, 1682547543, 1689922072, 1713515574, 1716349149, 1731545140, 1733076167, 1736576231, 1740181637, 1747814436, 1748228205, 1748607578, 1748879564, 1749656156, 1749801286, 1749917205, 1751493207, 1753343188, 1753588936, 1755076808, 1756474198, 1757146773, 1757293380, 1766632184, 1773808452, 1783388497, 1797361975, 1797585096, 1798677556, 1803876550, 1805233752, 1806806678, 1813512194, 1818755074, 1854228698, 1864368130, 1867237670, 1870268949, 1874102998, 1881669634, 1889085973, 1898223945, 1898971138, 1899694294, 1901940917, 1903761465, 1904515399, 1906135367, 1907959605, 1919418370, 1934172497, 1938173140, 1941221172, 1965334268, 1967128578, 1967795958, 1968840263, 1971461414, 1971466997, 1971628838, 1971938532, 1973040373, 1974771450, 1976348214, 1982173479, 1983002201, 1983633431, 1986140359, 1986527234, 1988486813, 1988763672, 1989812374, 1990074116, 1990969577, 1991909525, 1998724870, 1999397992, 1999917383, 2000439531, 2000825752, 2001281328, 2001349704, 2001349736, 2001392796, 2001495140, 2002882873, 2003183333, 2004557976, 2004719812, 2005181733, 2005279787, 2005543977, 2005719336, 2005925890, 2006036556, 2006560839, 2006896969, 2007257240, 2007781534, 2008125638, 2008165414, 2008851557, 2009276567, 2021937364, 2051837468, 2055515017, 2066000646, 2068523856, 2072193862, 2083120164, 2087012585, 2091479332, 2092557349, 50908899, 50916387, 51438659, 51961587, 51965683, 52486755, 52490899, 54054451, 55104723, 55111395, 56677619, 56682579, 57205395, 57207619, 57731155, 57733651, 59244545, 59821379, 60345171, 60347747, 60351123, 60352339, 60875283, 61925907, 62450211, 62974707, 67108865, 68681729, 876609538, 910163970, 943718402, 1679960596, 1682186266, 1685703382, 1686491348, 1699324759, 1703936002, 1713736758, 1715310660, 1719741029, 1730965751, 1732069431, 1733054663, 1733372532, 1736200310, 1736576583, 1738539010, 1747048757, 1747306711, 1747838298, 1748225318, 1748346119, 1748359220, 1748621670, 1748846791, 1749272732, 1749649513, 1749673195, 1749723735, 1749813486, 1749905526, 1749932347, 1751386406, 1752979652, 1753319686, 1753362711, 1753479494, 1754031332, 1754894485, 1755148615, 1756098852, 1756600614, 1757137429, 1757157700, 1757268168, 1758044696, 1765431364, 1766992520, 1773295687, 1781815495, 1783210839, 1783388498, 1790207270, 1797368887, 1797544247, 1797628983, 1798417460, 1798686984, 1800730821, 1803876557, 1803929861, 1805502724, 1806799156, 1806981428, 1807599880, 1817013469, 1818700314, 1820327938, 1854228692, 1854245076, 1857653029, 1865714391, 1867061545, 1868312196, 1870135298, 1873281026, 1874053333, 1881288348, 1881613047, 1884120164, 1887743720, 1897398274, 1898130486, 1898223946, 1898753862, 1899170008, 1899272521, 1899796819, 1900845386, 1902116866, 1903302038, 1904283860, 1904412884, 1904946933, 1906087319, 1907085604, 1907661127, 1908709605, 1914900309, 1925049415, 1932928296, 1935549734, 1938172967, 1938817026, 1941178676, 1948778498, 1965115924, 1965634084, 1966386470, 1967760215, 1967795910, 1967957189, 1968836118, 1970798594, 1971457766 };
+static int32_t const ELEMENT_HASHES_DATA[] = { 1909280949, 1753057319, 2001349704, 1681770564, 1818230786, 1983002201, 2007257240, 58773795, 1747176599, 1782357526, 1897999926, 1970938456, 1990969577, 2005181733, 2055514836, 54061139, 62390273, 1730150402, 1749395095, 1756625221, 1798693940, 1868641064, 1902641154, 1963982850, 1973040373, 1988486813, 1999917383, 2002882873, 2005925890, 2008340774, 2082727685, 51965171, 57200451, 60350803, 69730305, 1703292116, 1733890180, 1748355193, 1749813541, 1754634617, 1763839627, 1797540167, 1805647874, 1857622310, 1881498736, 1899272519, 1905563974, 1938171179, 1967788867, 1971628838, 1976348214, 1986140359, 1989812374, 1998724870, 2000825752, 2001392796, 2004557976, 2005543977, 2006560839, 2008125638, 2009706573, 2068523853, 2087049448, 51434643, 52488851, 56151587, 57210387, 59826259, 60354131, 63438849, 926941186, 1686489160, 1715300574, 1732381397, 1737099991, 1748100148, 1748642422, 1749715159, 1751288021, 1753467414, 1755158905, 1757259017, 1771722827, 1786534215, 1797645367, 1803929812, 1807501636, 1853642948, 1865773108, 1873350948, 1887579800, 1898223949, 1900544002, 1904285766, 1907435316, 1925844629, 1939219752, 1966223078, 1968053806, 1971466997, 1971938532, 1974771450, 1982173479, 1983633431, 1986527234, 1988763672, 1990074116, 1991909525, 1999397992, 2000439531, 2001281328, 2001349736, 2001495140, 2003183333, 2004719812, 2005279787, 2005719336, 2006036556, 2006896969, 2007781534, 2008165414, 2008994116, 2041712436, 2060065124, 2070023911, 2085266636, 2092255447, 50910499, 51957043, 52485715, 53012355, 55110883, 56680499, 57206291, 57732851, 59768833, 60345427, 60352083, 61395251, 62973651, 67633153, 893386754, 960495618, 1682547543, 1689922072, 1713515574, 1716349149, 1731545140, 1733076167, 1736576231, 1740181637, 1747814436, 1748228205, 1748607578, 1748879564, 1749656156, 1749801286, 1749917205, 1751493207, 1753343188, 1753588936, 1755076808, 1756474198, 1757146773, 1757293380, 1766632184, 1773808452, 1783388497, 1797361975, 1797585096, 1798677556, 1803876550, 1805233752, 1806806678, 1813512194, 1818755074, 1854228698, 1864368130, 1867237670, 1870268949, 1874102998, 1881669634, 1889085973, 1898223945, 1898971138, 1899694294, 1901940917, 1903761465, 1904515399, 1906135367, 1907959605, 1919418370, 1934172497, 1938173140, 1941221172, 1965334268, 1967128578, 1967795958, 1968840263, 1971461414, 1971467002, 1971703386, 1971981018, 1973420034, 1974775352, 1982106678, 1982935782, 1983533124, 1984294038, 1986351224, 1988486811, 1988502165, 1988972590, 1990037800, 1990969429, 1991350601, 1998585858, 1998883894, 1999745104, 2000158722, 2000525512, 2000965834, 2001309869, 2001349720, 2001392795, 2001392798, 2002780162, 2003062853, 2004557973, 2004635806, 2005160150, 2005231925, 2005324101, 2005543979, 2005766372, 2006028454, 2006329158, 2006592552, 2006974466, 2007601444, 2007803172, 2008133709, 2008325940, 2008851557, 2009276567, 2021937364, 2051837468, 2055515017, 2066000646, 2068523856, 2072193862, 2083120164, 2087012585, 2091479332, 2092557349, 50908899, 50916387, 51438659, 51961587, 51965683, 52486755, 52490899, 54054451, 55104723, 55111395, 56677619, 56682579, 57205395, 57207619, 57731155, 57733651, 59244545, 59821379, 60345171, 60347747, 60351123, 60352339, 60875283, 61925907, 62450211, 62974707, 67108865, 68681729, 876609538, 910163970, 943718402, 1679960596, 1682186266, 1685703382, 1686491348, 1699324759, 1703936002, 1713736758, 1715310660, 1719741029, 1730965751, 1732069431, 1733054663, 1733372532, 1736200310, 1736576583, 1738539010, 1747048757, 1747306711, 1747838298, 1748225318, 1748346119, 1748359220, 1748621670, 1748846791, 1749272732, 1749649513, 1749673195, 1749723735, 1749813486, 1749905526, 1749932347, 1751386406, 1752979652, 1753319686, 1753362711, 1753479494, 1754031332, 1754894485, 1755148615, 1756098852, 1756600614, 1757137429, 1757157700, 1757268168, 1758044696, 1765431364, 1766992520, 1773295687, 1781815495, 1783210839, 1783388498, 1790207270, 1797368887, 1797544247, 1797628983, 1798417460, 1798686984, 1800730821, 1803876557, 1803929861, 1805502724, 1806799156, 1806981428, 1807599880, 1817013469, 1818700314, 1820327938, 1854228692, 1854245076, 1857653029, 1865714391, 1867061545, 1868312196, 1870135298, 1873281026, 1874053333, 1881288348, 1881613047, 1884120164, 1887743720, 1897398274, 1898130486, 1898223946, 1898753862, 1899170008, 1899272521, 1899796819, 1900845386, 1902116866, 1903302038, 1904283860, 1904412884, 1904946933, 1906087319, 1907085604, 1907661127, 1908709605, 1914900309, 1925049415, 1932928296, 1935549734, 1938172967, 1938817026, 1941178676, 1948778498, 1965115924, 1965634084, 1966386470, 1967760215, 1967795910, 1967957189, 1968836118, 1970798594, 1971457766, 1971465813 };
staticJArray<int32_t,int32_t> nsHtml5ElementName::ELEMENT_HASHES = { ELEMENT_HASHES_DATA, MOZ_ARRAY_LENGTH(ELEMENT_HASHES_DATA) };
void
nsHtml5ElementName::initializeStatics()
@@ -870,6 +871,7 @@ nsHtml5ElementName::initializeStatics()
ELT_SELECT = new nsHtml5ElementName(nsHtml5Atoms::select, nsHtml5Atoms::select, NS_NewHTMLSelectElement, NS_NewSVGUnknownElement, nsHtml5TreeBuilder::SELECT | SPECIAL);
ELT_SCALARPRODUCT = new nsHtml5ElementName(nsHtml5Atoms::scalarproduct, nsHtml5Atoms::scalarproduct, NS_NewHTMLUnknownElement, NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
ELT_SUBSET = new nsHtml5ElementName(nsHtml5Atoms::subset, nsHtml5Atoms::subset, NS_NewHTMLUnknownElement, NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
+ ELT_SLOT = new nsHtml5ElementName(nsHtml5Atoms::slot, nsHtml5Atoms::slot, NS_NewHTMLSlotElement, NS_NewSVGUnknownElement, nsHtml5TreeBuilder::OTHER);
ELT_SCRIPT = new nsHtml5ElementName(nsHtml5Atoms::script, nsHtml5Atoms::script, NS_NewHTMLScriptElement, NS_NewSVGScriptElement, nsHtml5TreeBuilder::SCRIPT | SPECIAL);
ELT_TFOOT = new nsHtml5ElementName(nsHtml5Atoms::tfoot, nsHtml5Atoms::tfoot, NS_NewHTMLTableSectionElement, NS_NewSVGUnknownElement, nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
ELT_TEXT = new nsHtml5ElementName(nsHtml5Atoms::text, nsHtml5Atoms::text, NS_NewHTMLUnknownElement, NS_NewSVGTextElement, nsHtml5TreeBuilder::OTHER);
@@ -893,21 +895,21 @@ nsHtml5ElementName::initializeStatics()
ELT_RUBY = new nsHtml5ElementName(nsHtml5Atoms::ruby, nsHtml5Atoms::ruby, NS_NewHTMLElement, NS_NewSVGUnknownElement, nsHtml5TreeBuilder::RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR);
ELT_SUMMARY = new nsHtml5ElementName(nsHtml5Atoms::summary, nsHtml5Atoms::summary, NS_NewHTMLSummaryElement, NS_NewSVGUnknownElement, nsHtml5TreeBuilder::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);
ELT_TBODY = new nsHtml5ElementName(nsHtml5Atoms::tbody, nsHtml5Atoms::tbody, NS_NewHTMLTableSectionElement, NS_NewSVGUnknownElement, nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG);
- ELEMENT_NAMES = new nsHtml5ElementName*[400];
+ ELEMENT_NAMES = new nsHtml5ElementName*[401];
ELEMENT_NAMES[0] = ELT_VKERN;
ELEMENT_NAMES[1] = ELT_LOGBASE;
- ELEMENT_NAMES[2] = ELT_FOREIGNOBJECT;
+ ELEMENT_NAMES[2] = ELT_FIELDSET;
ELEMENT_NAMES[3] = ELT_DATA;
ELEMENT_NAMES[4] = ELT_LI;
- ELEMENT_NAMES[5] = ELT_CANVAS;
- ELEMENT_NAMES[6] = ELT_TT;
+ ELEMENT_NAMES[5] = ELT_COMPLEXES;
+ ELEMENT_NAMES[6] = ELT_QUOTIENT;
ELEMENT_NAMES[7] = ELT_PRE;
ELEMENT_NAMES[8] = ELT_ARTICLE;
ELEMENT_NAMES[9] = ELT_DIALOG;
ELEMENT_NAMES[10] = ELT_ARCTAN;
ELEMENT_NAMES[11] = ELT_LISTENER;
- ELEMENT_NAMES[12] = ELT_REALS;
- ELEMENT_NAMES[13] = ELT_MOMENT;
+ ELEMENT_NAMES[12] = ELT_RATIONALS;
+ ELEMENT_NAMES[13] = ELT_MROOT;
ELEMENT_NAMES[14] = ELT_MROW;
ELEMENT_NAMES[15] = ELT_GEQ;
ELEMENT_NAMES[16] = ELT_G;
@@ -918,11 +920,11 @@ nsHtml5ElementName::initializeStatics()
ELEMENT_NAMES[21] = ELT_INTERVAL;
ELEMENT_NAMES[22] = ELT_MN;
ELEMENT_NAMES[23] = ELT_BR;
- ELEMENT_NAMES[24] = ELT_NOTANUMBER;
- ELEMENT_NAMES[25] = ELT_MPRESCRIPTS;
- ELEMENT_NAMES[26] = ELT_CARTESIANPRODUCT;
- ELEMENT_NAMES[27] = ELT_LT;
- ELEMENT_NAMES[28] = ELT_NEST;
+ ELEMENT_NAMES[24] = ELT_POWER;
+ ELEMENT_NAMES[25] = ELT_MMULTISCRIPTS;
+ ELEMENT_NAMES[26] = ELT_CONTENT;
+ ELEMENT_NAMES[27] = ELT_INTERSECT;
+ ELEMENT_NAMES[28] = ELT_RT;
ELEMENT_NAMES[29] = ELT_SCRIPT;
ELEMENT_NAMES[30] = ELT_APPLY;
ELEMENT_NAMES[31] = ELT_COS;
@@ -943,17 +945,17 @@ nsHtml5ElementName::initializeStatics()
ELEMENT_NAMES[46] = ELT_OPTION;
ELEMENT_NAMES[47] = ELT_MALIGNGROUP;
ELEMENT_NAMES[48] = ELT_FECOMPONENTTRANSFER;
- ELEMENT_NAMES[49] = ELT_MUNDEROVER;
- ELEMENT_NAMES[50] = ELT_SELECTOR;
- ELEMENT_NAMES[51] = ELT_EXISTS;
- ELEMENT_NAMES[52] = ELT_NATURALNUMBERS;
- ELEMENT_NAMES[53] = ELT_DT;
- ELEMENT_NAMES[54] = ELT_DATALIST;
- ELEMENT_NAMES[55] = ELT_FESPOTLIGHT;
- ELEMENT_NAMES[56] = ELT_LIMIT;
- ELEMENT_NAMES[57] = ELT_MTEXT;
- ELEMENT_NAMES[58] = ELT_OUTPUT;
- ELEMENT_NAMES[59] = ELT_ROOT;
+ ELEMENT_NAMES[49] = ELT_MERROR;
+ ELEMENT_NAMES[50] = ELT_VECTOR;
+ ELEMENT_NAMES[51] = ELT_IMPLIES;
+ ELEMENT_NAMES[52] = ELT_PRIMES;
+ ELEMENT_NAMES[53] = ELT_APPLET;
+ ELEMENT_NAMES[54] = ELT_EMPTYSET;
+ ELEMENT_NAMES[55] = ELT_FEPOINTLIGHT;
+ ELEMENT_NAMES[56] = ELT_LOWLIMIT;
+ ELEMENT_NAMES[57] = ELT_NOTSUBSET;
+ ELEMENT_NAMES[58] = ELT_PRODUCT;
+ ELEMENT_NAMES[59] = ELT_SELECT;
ELEMENT_NAMES[60] = ELT_VECTORPRODUCT;
ELEMENT_NAMES[61] = ELT_FECOLORMATRIX;
ELEMENT_NAMES[62] = ELT_INFINITY;
@@ -993,28 +995,28 @@ nsHtml5ElementName::initializeStatics()
ELEMENT_NAMES[96] = ELT_OPTGROUP;
ELEMENT_NAMES[97] = ELT_CENTER;
ELEMENT_NAMES[98] = ELT_FEGAUSSIANBLUR;
- ELEMENT_NAMES[99] = ELT_METER;
- ELEMENT_NAMES[100] = ELT_MLABELEDTR;
- ELEMENT_NAMES[101] = ELT_TR;
- ELEMENT_NAMES[102] = ELT_ARCCOS;
- ELEMENT_NAMES[103] = ELT_DEFS;
- ELEMENT_NAMES[104] = ELT_INTEGERS;
- ELEMENT_NAMES[105] = ELT_MINUS;
- ELEMENT_NAMES[106] = ELT_PROGRESS;
- ELEMENT_NAMES[107] = ELT_SEMANTICS;
- ELEMENT_NAMES[108] = ELT_ARCCOT;
- ELEMENT_NAMES[109] = ELT_GT;
- ELEMENT_NAMES[110] = ELT_EQUIVALENT;
- ELEMENT_NAMES[111] = ELT_FRAMESET;
- ELEMENT_NAMES[112] = ELT_FEDISTANTLIGHT;
- ELEMENT_NAMES[113] = ELT_IDENT;
- ELEMENT_NAMES[114] = ELT_LINEARGRADIENT;
- ELEMENT_NAMES[115] = ELT_MSQRT;
- ELEMENT_NAMES[116] = ELT_NOTPRSUBSET;
- ELEMENT_NAMES[117] = ELT_OBJECT;
- ELEMENT_NAMES[118] = ELT_PRSUBSET;
- ELEMENT_NAMES[119] = ELT_RECT;
- ELEMENT_NAMES[120] = ELT_SCALARPRODUCT;
+ ELEMENT_NAMES[99] = ELT_MOVER;
+ ELEMENT_NAMES[100] = ELT_NOBR;
+ ELEMENT_NAMES[101] = ELT_SOLIDCOLOR;
+ ELEMENT_NAMES[102] = ELT_ADDRESS;
+ ELEMENT_NAMES[103] = ELT_DETAILS;
+ ELEMENT_NAMES[104] = ELT_MS;
+ ELEMENT_NAMES[105] = ELT_NOFRAMES;
+ ELEMENT_NAMES[106] = ELT_PLUS;
+ ELEMENT_NAMES[107] = ELT_TIMES;
+ ELEMENT_NAMES[108] = ELT_BASEFONT;
+ ELEMENT_NAMES[109] = ELT_DETERMINANT;
+ ELEMENT_NAMES[110] = ELT_FONT_FACE_FORMAT;
+ ELEMENT_NAMES[111] = ELT_FEOFFSET;
+ ELEMENT_NAMES[112] = ELT_FONT;
+ ELEMENT_NAMES[113] = ELT_INPUT;
+ ELEMENT_NAMES[114] = ELT_LIST;
+ ELEMENT_NAMES[115] = ELT_MOMENTABOUT;
+ ELEMENT_NAMES[116] = ELT_NOSCRIPT;
+ ELEMENT_NAMES[117] = ELT_OUTERPRODUCT;
+ ELEMENT_NAMES[118] = ELT_PLAINTEXT;
+ ELEMENT_NAMES[119] = ELT_RADIALGRADIENT;
+ ELEMENT_NAMES[120] = ELT_SUBSET;
ELEMENT_NAMES[121] = ELT_TEXT;
ELEMENT_NAMES[122] = ELT_SDEV;
ELEMENT_NAMES[123] = ELT_VIEW;
@@ -1094,49 +1096,49 @@ nsHtml5ElementName::initializeStatics()
ELEMENT_NAMES[197] = ELT_FOOTER;
ELEMENT_NAMES[198] = ELT_HANDLER;
ELEMENT_NAMES[199] = ELT_MARKER;
- ELEMENT_NAMES[200] = ELT_MOVER;
- ELEMENT_NAMES[201] = ELT_MERROR;
- ELEMENT_NAMES[202] = ELT_NOBR;
- ELEMENT_NAMES[203] = ELT_POWER;
- ELEMENT_NAMES[204] = ELT_SOLIDCOLOR;
- ELEMENT_NAMES[205] = ELT_VECTOR;
- ELEMENT_NAMES[206] = ELT_ADDRESS;
- ELEMENT_NAMES[207] = ELT_COMPLEXES;
- ELEMENT_NAMES[208] = ELT_DETAILS;
- ELEMENT_NAMES[209] = ELT_IMPLIES;
- ELEMENT_NAMES[210] = ELT_MS;
- ELEMENT_NAMES[211] = ELT_MMULTISCRIPTS;
- ELEMENT_NAMES[212] = ELT_NOFRAMES;
- ELEMENT_NAMES[213] = ELT_PRIMES;
- ELEMENT_NAMES[214] = ELT_PLUS;
- ELEMENT_NAMES[215] = ELT_RATIONALS;
- ELEMENT_NAMES[216] = ELT_TIMES;
- ELEMENT_NAMES[217] = ELT_APPLET;
- ELEMENT_NAMES[218] = ELT_BASEFONT;
- ELEMENT_NAMES[219] = ELT_CONTENT;
- ELEMENT_NAMES[220] = ELT_DETERMINANT;
- ELEMENT_NAMES[221] = ELT_EMPTYSET;
- ELEMENT_NAMES[222] = ELT_FONT_FACE_FORMAT;
- ELEMENT_NAMES[223] = ELT_FIELDSET;
- ELEMENT_NAMES[224] = ELT_FEOFFSET;
- ELEMENT_NAMES[225] = ELT_FEPOINTLIGHT;
- ELEMENT_NAMES[226] = ELT_FONT;
- ELEMENT_NAMES[227] = ELT_INTERSECT;
- ELEMENT_NAMES[228] = ELT_INPUT;
- ELEMENT_NAMES[229] = ELT_LOWLIMIT;
- ELEMENT_NAMES[230] = ELT_LIST;
- ELEMENT_NAMES[231] = ELT_MROOT;
- ELEMENT_NAMES[232] = ELT_MOMENTABOUT;
- ELEMENT_NAMES[233] = ELT_NOTSUBSET;
- ELEMENT_NAMES[234] = ELT_NOSCRIPT;
- ELEMENT_NAMES[235] = ELT_RT;
- ELEMENT_NAMES[236] = ELT_OUTERPRODUCT;
- ELEMENT_NAMES[237] = ELT_PRODUCT;
- ELEMENT_NAMES[238] = ELT_PLAINTEXT;
- ELEMENT_NAMES[239] = ELT_QUOTIENT;
- ELEMENT_NAMES[240] = ELT_RADIALGRADIENT;
- ELEMENT_NAMES[241] = ELT_SELECT;
- ELEMENT_NAMES[242] = ELT_SUBSET;
+ ELEMENT_NAMES[200] = ELT_MUNDEROVER;
+ ELEMENT_NAMES[201] = ELT_MLABELEDTR;
+ ELEMENT_NAMES[202] = ELT_NOTANUMBER;
+ ELEMENT_NAMES[203] = ELT_TR;
+ ELEMENT_NAMES[204] = ELT_SELECTOR;
+ ELEMENT_NAMES[205] = ELT_ARCCOS;
+ ELEMENT_NAMES[206] = ELT_CANVAS;
+ ELEMENT_NAMES[207] = ELT_DEFS;
+ ELEMENT_NAMES[208] = ELT_EXISTS;
+ ELEMENT_NAMES[209] = ELT_INTEGERS;
+ ELEMENT_NAMES[210] = ELT_MPRESCRIPTS;
+ ELEMENT_NAMES[211] = ELT_MINUS;
+ ELEMENT_NAMES[212] = ELT_NATURALNUMBERS;
+ ELEMENT_NAMES[213] = ELT_PROGRESS;
+ ELEMENT_NAMES[214] = ELT_REALS;
+ ELEMENT_NAMES[215] = ELT_SEMANTICS;
+ ELEMENT_NAMES[216] = ELT_DT;
+ ELEMENT_NAMES[217] = ELT_ARCCOT;
+ ELEMENT_NAMES[218] = ELT_CARTESIANPRODUCT;
+ ELEMENT_NAMES[219] = ELT_GT;
+ ELEMENT_NAMES[220] = ELT_DATALIST;
+ ELEMENT_NAMES[221] = ELT_EQUIVALENT;
+ ELEMENT_NAMES[222] = ELT_FOREIGNOBJECT;
+ ELEMENT_NAMES[223] = ELT_FRAMESET;
+ ELEMENT_NAMES[224] = ELT_FESPOTLIGHT;
+ ELEMENT_NAMES[225] = ELT_FEDISTANTLIGHT;
+ ELEMENT_NAMES[226] = ELT_LT;
+ ELEMENT_NAMES[227] = ELT_IDENT;
+ ELEMENT_NAMES[228] = ELT_LIMIT;
+ ELEMENT_NAMES[229] = ELT_LINEARGRADIENT;
+ ELEMENT_NAMES[230] = ELT_MOMENT;
+ ELEMENT_NAMES[231] = ELT_MSQRT;
+ ELEMENT_NAMES[232] = ELT_MTEXT;
+ ELEMENT_NAMES[233] = ELT_NOTPRSUBSET;
+ ELEMENT_NAMES[234] = ELT_NEST;
+ ELEMENT_NAMES[235] = ELT_OBJECT;
+ ELEMENT_NAMES[236] = ELT_OUTPUT;
+ ELEMENT_NAMES[237] = ELT_PRSUBSET;
+ ELEMENT_NAMES[238] = ELT_TT;
+ ELEMENT_NAMES[239] = ELT_RECT;
+ ELEMENT_NAMES[240] = ELT_ROOT;
+ ELEMENT_NAMES[241] = ELT_SCALARPRODUCT;
+ ELEMENT_NAMES[242] = ELT_SLOT;
ELEMENT_NAMES[243] = ELT_TFOOT;
ELEMENT_NAMES[244] = ELT_UPLIMIT;
ELEMENT_NAMES[245] = ELT_MENU;
@@ -1294,6 +1296,7 @@ nsHtml5ElementName::initializeStatics()
ELEMENT_NAMES[397] = ELT_HEADER;
ELEMENT_NAMES[398] = ELT_OR;
ELEMENT_NAMES[399] = ELT_MUNDER;
+ ELEMENT_NAMES[400] = ELT_METER;
}
void
@@ -1677,6 +1680,7 @@ nsHtml5ElementName::releaseStatics()
delete ELT_SELECT;
delete ELT_SCALARPRODUCT;
delete ELT_SUBSET;
+ delete ELT_SLOT;
delete ELT_SCRIPT;
delete ELT_TFOOT;
delete ELT_TEXT;
diff --git a/parser/html/nsHtml5ElementName.h b/parser/html/nsHtml5ElementName.h
index da259d4da..022c610f4 100644
--- a/parser/html/nsHtml5ElementName.h
+++ b/parser/html/nsHtml5ElementName.h
@@ -586,6 +586,7 @@ class nsHtml5ElementName
static nsHtml5ElementName* ELT_SELECT;
static nsHtml5ElementName* ELT_SCALARPRODUCT;
static nsHtml5ElementName* ELT_SUBSET;
+ static nsHtml5ElementName* ELT_SLOT;
static nsHtml5ElementName* ELT_SCRIPT;
static nsHtml5ElementName* ELT_TFOOT;
static nsHtml5ElementName* ELT_TEXT;
diff --git a/parser/htmlparser/nsElementTable.cpp b/parser/htmlparser/nsElementTable.cpp
index b7742e56f..48fe4aede 100644
--- a/parser/htmlparser/nsElementTable.cpp
+++ b/parser/htmlparser/nsElementTable.cpp
@@ -145,6 +145,7 @@ static const HTMLElement gHTMLElements[] = {
ELEM(section, true, true)
ELEM(select, ____, true)
ELEM(small, ____, true)
+ ELEM(slot, ____, true)
ELEM(source, ____, ____)
ELEM(span, ____, true)
ELEM(strike, ____, true)
diff --git a/parser/htmlparser/nsHTMLTagList.h b/parser/htmlparser/nsHTMLTagList.h
index 80d737ffb..b3bd7b0b7 100644
--- a/parser/htmlparser/nsHTMLTagList.h
+++ b/parser/htmlparser/nsHTMLTagList.h
@@ -154,6 +154,7 @@ HTML_TAG(script, Script, Script)
HTML_HTMLELEMENT_TAG(section)
HTML_TAG(select, Select, Select)
HTML_HTMLELEMENT_TAG(small)
+HTML_TAG(slot, Slot, Slot)
HTML_TAG(source, Source, Source)
HTML_TAG(span, Span, Span)
HTML_HTMLELEMENT_TAG(strike)