diff options
-rw-r--r-- | dom/base/nsGkAtomList.h | 1 | ||||
-rw-r--r-- | dom/html/HTMLSlotElement.cpp | 67 | ||||
-rw-r--r-- | dom/html/HTMLSlotElement.h | 53 | ||||
-rw-r--r-- | dom/html/moz.build | 2 | ||||
-rw-r--r-- | dom/html/nsGenericHTMLElement.h | 1 | ||||
-rw-r--r-- | dom/webidl/HTMLSlotElement.webidl | 22 | ||||
-rw-r--r-- | dom/webidl/moz.build | 1 | ||||
-rw-r--r-- | editor/libeditor/HTMLEditUtils.cpp | 66 | ||||
-rw-r--r-- | parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/ElementName.java | 350 | ||||
-rw-r--r-- | parser/html/nsHtml5AtomList.h | 1 | ||||
-rw-r--r-- | parser/html/nsHtml5ElementName.cpp | 180 | ||||
-rw-r--r-- | parser/html/nsHtml5ElementName.h | 1 | ||||
-rw-r--r-- | parser/htmlparser/nsElementTable.cpp | 1 | ||||
-rw-r--r-- | parser/htmlparser/nsHTMLTagList.h | 1 |
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) |