From c69cbb70a348271c91e85cc4146dcd7a52ea3b46 Mon Sep 17 00:00:00 2001 From: Stanca Serban Date: Fri, 1 Dec 2023 03:26:27 +0200 Subject: [PATCH] Backed out 6 changesets (bug 1712140) for causing wpt failures in declarative-shadow-dom-opt-in.html. Backed out changeset 554a46ed8046 (bug 1712140) Backed out changeset 14ebbfca2e84 (bug 1712140) Backed out changeset 98dd5766dd46 (bug 1712140) Backed out changeset 4241a7241a9b (bug 1712140) Backed out changeset 59ee434d503e (bug 1712140) Backed out changeset ff3bb42f91d1 (bug 1712140) --- dom/base/Document.cpp | 37 - dom/base/Document.h | 8 - dom/base/Element.cpp | 46 +- dom/base/Element.h | 17 +- dom/base/ShadowRoot.cpp | 12 +- dom/base/ShadowRoot.h | 25 +- dom/base/nsContentUtils.cpp | 49 +- dom/base/nsContentUtils.h | 10 - dom/base/nsINode.cpp | 33 - dom/html/HTMLTemplateElement.cpp | 50 +- dom/html/HTMLTemplateElement.h | 33 - dom/webidl/Document.webidl | 3 - dom/webidl/Element.webidl | 8 - dom/webidl/HTMLTemplateElement.webidl | 8 +- dom/webidl/ShadowRoot.webidl | 6 - layout/build/nsContentDLF.cpp | 2 - modules/libpref/init/StaticPrefList.yaml | 6 - parser/html/javasrc/AttributeName.java | 786 ++++--- parser/html/javasrc/TreeBuilder.java | 44 +- parser/html/nsHtml5AttributeName.cpp | 924 ++++---- parser/html/nsHtml5AttributeName.h | 2 - parser/html/nsHtml5Parser.cpp | 2 - parser/html/nsHtml5StreamParser.cpp | 2 - parser/html/nsHtml5StringParser.cpp | 23 +- parser/html/nsHtml5StringParser.h | 8 +- parser/html/nsHtml5TreeBuilder.cpp | 38 +- parser/html/nsHtml5TreeBuilder.h | 6 - parser/html/nsHtml5TreeBuilderCppSupplement.h | 50 - parser/html/nsHtml5TreeBuilderHSupplement.h | 7 - parser/html/nsHtml5TreeOperation.cpp | 38 - parser/html/nsHtml5TreeOperation.h | 37 +- .../invalidation/part-pseudo.html.ini | 2 + .../meta/html/dom/idlharness.https.html.ini | 33 + ...lement-setHTMLUnsafe-04.tentative.html.ini | 3 +- .../setHTMLUnsafe.tentative.html.ini | 15 +- .../meta/shadow-dom/declarative/__dir__.ini | 1 - ...declarative-shadow-dom-attachment.html.ini | 1944 +++++++++++++++++ .../declarative-shadow-dom-basic.html.ini | 42 + .../declarative-shadow-dom-opt-in.html.ini | 17 +- .../innerhtml-before-closing-tag.html.ini | 2 + .../move-template-before-closing-tag.html.ini | 6 + .../declarative/script-access.html.ini | 2 + xpcom/ds/HTMLAtoms.py | 4 - 43 files changed, 2947 insertions(+), 1444 deletions(-) create mode 100644 testing/web-platform/meta/css/selectors/invalidation/part-pseudo.html.ini delete mode 100644 testing/web-platform/meta/shadow-dom/declarative/__dir__.ini create mode 100644 testing/web-platform/meta/shadow-dom/declarative/declarative-shadow-dom-attachment.html.ini create mode 100644 testing/web-platform/meta/shadow-dom/declarative/declarative-shadow-dom-basic.html.ini create mode 100644 testing/web-platform/meta/shadow-dom/declarative/innerhtml-before-closing-tag.html.ini create mode 100644 testing/web-platform/meta/shadow-dom/declarative/move-template-before-closing-tag.html.ini create mode 100644 testing/web-platform/meta/shadow-dom/declarative/script-access.html.ini diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp index 3de70cc96099..c562fc9a5108 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp @@ -1392,7 +1392,6 @@ Document::Document(const char* aContentType) mHasUserInteractionTimerScheduled(false), mShouldResistFingerprinting(false), mCloningForSVGUse(false), - mAllowDeclarativeShadowRoots(false), mXMLDeclarationBits(0), mOnloadBlockCount(0), mWriteLevel(0), @@ -18932,40 +18931,4 @@ RadioGroupContainer& Document::OwnedRadioGroupContainer() { return *mRadioGroupContainer; } -void Document::SetAllowDeclarativeShadowRoots( - bool aAllowDeclarativeShadowRoots) { - mAllowDeclarativeShadowRoots = aAllowDeclarativeShadowRoots; -} - -bool Document::AllowsDeclarativeShadowRoots() const { - return mAllowDeclarativeShadowRoots; -} - -/* static */ -already_AddRefed Document::ParseHTMLUnsafe(GlobalObject& aGlobal, - const nsAString& aHTML) { - nsCOMPtr uri; - NS_NewURI(getter_AddRefs(uri), "about:blank"); - if (!uri) { - return nullptr; - } - - nsCOMPtr doc; - nsresult rv = - NS_NewHTMLDocument(getter_AddRefs(doc), aGlobal.GetSubjectPrincipal(), - aGlobal.GetSubjectPrincipal()); - if (NS_WARN_IF(NS_FAILED(rv))) { - return nullptr; - } - - doc->SetAllowDeclarativeShadowRoots(true); - doc->SetDocumentURI(uri); - rv = nsContentUtils::ParseDocumentHTML(aHTML, doc, false); - if (NS_WARN_IF(NS_FAILED(rv))) { - return nullptr; - } - - return doc.forget(); -} - } // namespace mozilla::dom diff --git a/dom/base/Document.h b/dom/base/Document.h index 19a968cb4a60..1831b5345fdf 100644 --- a/dom/base/Document.h +++ b/dom/base/Document.h @@ -3858,9 +3858,6 @@ class Document : public nsINode, */ bool AllowsL10n() const; - void SetAllowDeclarativeShadowRoots(bool aAllowDeclarativeShadowRoots); - bool AllowsDeclarativeShadowRoots() const; - protected: RefPtr mDocumentL10n; @@ -4823,8 +4820,6 @@ class Document : public nsINode, // Whether we're cloning the contents of an SVG use element. bool mCloningForSVGUse : 1; - bool mAllowDeclarativeShadowRoots : 1; - // The fingerprinting protections overrides for this document. The value will // override the default enabled fingerprinting protections for this document. // This will only get populated if these is one that comes from the local @@ -5335,9 +5330,6 @@ class Document : public nsINode, void LoadEventFired(); RadioGroupContainer& OwnedRadioGroupContainer(); - - static already_AddRefed ParseHTMLUnsafe(GlobalObject& aGlobal, - const nsAString& aHTML); }; NS_DEFINE_STATIC_IID_ACCESSOR(Document, NS_IDOCUMENT_IID) diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp index 8ca84780f0c8..681a28e791a0 100644 --- a/dom/base/Element.cpp +++ b/dom/base/Element.cpp @@ -1249,9 +1249,8 @@ bool Element::CanAttachShadowDOM() const { } // https://dom.spec.whatwg.org/commit-snapshots/1eadf0a4a271acc92013d1c0de8c730ac96204f9/#dom-element-attachshadow -already_AddRefed Element::AttachShadow( - const ShadowRootInit& aInit, ErrorResult& aError, - ShadowRootDeclarative aNewShadowIsDeclarative) { +already_AddRefed Element::AttachShadow(const ShadowRootInit& aInit, + ErrorResult& aError) { /** * Step 1, 2, and 3. */ @@ -1261,41 +1260,25 @@ already_AddRefed Element::AttachShadow( } /** - * 4. If element is a shadow host, then: + * 4. If this is a shadow host, then throw a "NotSupportedError" DOMException. */ - if (RefPtr root = GetShadowRoot()) { - /* - * 1. If element’s shadow root’s declarative is false, then throw an - * "NotSupportedError" DOMException. - */ - if (!root->IsDeclarative()) { - aError.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR); - return nullptr; - } - // https://github.com/whatwg/dom/issues/1235 - root->SetIsDeclarative(aNewShadowIsDeclarative); - /* - * 2. Otherwise, remove all of element’s shadow root’s children, in tree - * order, and return. - */ - root->ReplaceChildren(nullptr, aError); - return root.forget(); + if (GetShadowRoot()) { + aError.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR); + return nullptr; } if (StaticPrefs::dom_webcomponents_shadowdom_report_usage()) { OwnerDoc()->ReportShadowDOMUsage(); } - return AttachShadowWithoutNameChecks( - aInit.mMode, DelegatesFocus(aInit.mDelegatesFocus), aInit.mSlotAssignment, - ShadowRootClonable(aInit.mClonable), - ShadowRootDeclarative(aNewShadowIsDeclarative)); + return AttachShadowWithoutNameChecks(aInit.mMode, + DelegatesFocus(aInit.mDelegatesFocus), + aInit.mSlotAssignment); } already_AddRefed Element::AttachShadowWithoutNameChecks( ShadowRootMode aMode, DelegatesFocus aDelegatesFocus, - SlotAssignmentMode aSlotAssignment, ShadowRootClonable aClonable, - ShadowRootDeclarative aDeclarative) { + SlotAssignmentMode aSlotAssignment) { nsAutoScriptBlocker scriptBlocker; auto* nim = mNodeInfo->NodeInfoManager(); @@ -1319,9 +1302,8 @@ already_AddRefed Element::AttachShadowWithoutNameChecks( * context object's node document, host is context object, * and mode is init's mode. */ - RefPtr shadowRoot = - new (nim) ShadowRoot(this, aMode, aDelegatesFocus, aSlotAssignment, - aClonable, aDeclarative, nodeInfo.forget()); + RefPtr shadowRoot = new (nim) ShadowRoot( + this, aMode, aDelegatesFocus, aSlotAssignment, nodeInfo.forget()); if (NodeOrAncestorHasDirAuto()) { shadowRoot->SetAncestorHasDirAuto(); @@ -5016,8 +4998,4 @@ bool Element::Translate() const { return true; } -void Element::SetHTMLUnsafe(const nsAString& aHTML) { - nsContentUtils::SetHTMLUnsafe(this, this, aHTML); -} - } // namespace mozilla::dom diff --git a/dom/base/Element.h b/dom/base/Element.h index 13fc1f22b26a..3d5092831184 100644 --- a/dom/base/Element.h +++ b/dom/base/Element.h @@ -1309,23 +1309,15 @@ class Element : public FragmentOrElement { bool ParseLoadingAttribute(const nsAString& aValue, nsAttrValue& aResult); // Shadow DOM v1 - enum class ShadowRootDeclarative : bool { No, Yes }; - - MOZ_CAN_RUN_SCRIPT_BOUNDARY - already_AddRefed AttachShadow( - const ShadowRootInit& aInit, ErrorResult& aError, - ShadowRootDeclarative aNewShadowIsDeclarative = - ShadowRootDeclarative::No); + already_AddRefed AttachShadow(const ShadowRootInit& aInit, + ErrorResult& aError); bool CanAttachShadowDOM() const; enum class DelegatesFocus : bool { No, Yes }; - enum class ShadowRootClonable : bool { No, Yes }; already_AddRefed AttachShadowWithoutNameChecks( ShadowRootMode aMode, DelegatesFocus = DelegatesFocus::No, - SlotAssignmentMode aSlotAssignmentMode = SlotAssignmentMode::Named, - ShadowRootClonable aClonable = ShadowRootClonable::No, - ShadowRootDeclarative aDeclarative = ShadowRootDeclarative::No); + SlotAssignmentMode aSlotAssignmentMode = SlotAssignmentMode::Named); // Attach UA Shadow Root if it is not attached. enum class NotifyUAWidgetSetup : bool { No, Yes }; @@ -2076,9 +2068,6 @@ class Element : public FragmentOrElement { virtual bool Translate() const; - MOZ_CAN_RUN_SCRIPT - virtual void SetHTMLUnsafe(const nsAString& aHTML); - protected: enum class ReparseAttributes { No, Yes }; /** diff --git a/dom/base/ShadowRoot.cpp b/dom/base/ShadowRoot.cpp index c24cefc92f78..770ffcdaef11 100644 --- a/dom/base/ShadowRoot.cpp +++ b/dom/base/ShadowRoot.cpp @@ -51,8 +51,7 @@ NS_IMPL_RELEASE_INHERITED(ShadowRoot, DocumentFragment) ShadowRoot::ShadowRoot(Element* aElement, ShadowRootMode aMode, Element::DelegatesFocus aDelegatesFocus, - SlotAssignmentMode aSlotAssignment, Clonable aIsClonable, - Declarative aDeclarative, + SlotAssignmentMode aSlotAssignment, already_AddRefed&& aNodeInfo) : DocumentFragment(std::move(aNodeInfo)), DocumentOrShadowRoot(this), @@ -60,9 +59,7 @@ ShadowRoot::ShadowRoot(Element* aElement, ShadowRootMode aMode, mDelegatesFocus(aDelegatesFocus), mSlotAssignment(aSlotAssignment), mIsDetailsShadowTree(aElement->IsHTMLElement(nsGkAtoms::details)), - mIsAvailableToElementInternals(false), - mIsDeclarative(aDeclarative), - mIsClonable(aIsClonable) { + mIsAvailableToElementInternals(false) { // nsINode.h relies on this. MOZ_ASSERT(static_cast(this) == reinterpret_cast(this)); MOZ_ASSERT(static_cast(this) == @@ -877,8 +874,3 @@ nsresult ShadowRoot::Clone(dom::NodeInfo* aNodeInfo, nsINode** aResult) const { *aResult = nullptr; return NS_ERROR_DOM_NOT_SUPPORTED_ERR; } - -void ShadowRoot::SetHTMLUnsafe(const nsAString& aHTML) { - RefPtr host = GetHost(); - nsContentUtils::SetHTMLUnsafe(this, host, aHTML); -} diff --git a/dom/base/ShadowRoot.h b/dom/base/ShadowRoot.h index 1ff1f48a26f4..96f1259a863c 100644 --- a/dom/base/ShadowRoot.h +++ b/dom/base/ShadowRoot.h @@ -42,9 +42,6 @@ class HTMLInputElement; class ShadowRoot final : public DocumentFragment, public DocumentOrShadowRoot { friend class DocumentOrShadowRoot; - using Declarative = Element::ShadowRootDeclarative; - using Clonable = Element::ShadowRootClonable; - public: NS_IMPL_FROMNODE_HELPER(ShadowRoot, IsShadowRoot()); @@ -53,8 +50,7 @@ class ShadowRoot final : public DocumentFragment, public DocumentOrShadowRoot { ShadowRoot(Element* aElement, ShadowRootMode aMode, Element::DelegatesFocus aDelegatesFocus, - SlotAssignmentMode aSlotAssignment, Clonable aClonable, - Declarative aDeclarative, + SlotAssignmentMode aSlotAssignment, already_AddRefed&& aNodeInfo); void AddSizeOfExcludingThis(nsWindowSizes&, size_t* aNodeSize) const final; @@ -235,19 +231,6 @@ class ShadowRoot final : public DocumentFragment, public DocumentOrShadowRoot { void GetEventTargetParent(EventChainPreVisitor& aVisitor) override; - bool IsDeclarative() const { return mIsDeclarative == Declarative::Yes; } - void SetIsDeclarative(Declarative aIsDeclarative) { - mIsDeclarative = aIsDeclarative; - } - void SetIsDeclarative(bool aIsDeclarative) { - mIsDeclarative = aIsDeclarative ? Declarative::Yes : Declarative::No; - } - - bool IsClonable() const { return mIsClonable == Clonable::Yes; } - - MOZ_CAN_RUN_SCRIPT - void SetHTMLUnsafe(const nsAString& aHTML); - protected: // FIXME(emilio): This will need to become more fine-grained. void ApplicableRulesChanged(); @@ -285,12 +268,6 @@ class ShadowRoot final : public DocumentFragment, public DocumentOrShadowRoot { // https://dom.spec.whatwg.org/#shadowroot-available-to-element-internals bool mIsAvailableToElementInternals : 1; - // https://dom.spec.whatwg.org/#shadowroot-declarative - Declarative mIsDeclarative; - - // https://dom.spec.whatwg.org/#shadowroot-clonable - Clonable mIsClonable; - nsresult Clone(dom::NodeInfo*, nsINode** aResult) const override; }; diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index eb247b0f539a..28ad4e61f265 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -5376,34 +5376,6 @@ bool AllowsUnsanitizedContentForAboutNewTab(nsIPrincipal* aPrincipal) { return aboutModuleFlags & nsIAboutModule::ALLOW_UNSANITIZED_CONTENT; } -/* static */ -void nsContentUtils::SetHTMLUnsafe(FragmentOrElement* aTarget, - Element* aContext, - const nsAString& aSource) { - MOZ_ASSERT(!sFragmentParsingActive, "Re-entrant fragment parsing attempted."); - mozilla::AutoRestore guard(sFragmentParsingActive); - sFragmentParsingActive = true; - if (!sHTMLFragmentParser) { - NS_ADDREF(sHTMLFragmentParser = new nsHtml5StringParser()); - // Now sHTMLFragmentParser owns the object - } - - nsAtom* contextLocalName = aContext->NodeInfo()->NameAtom(); - int32_t contextNameSpaceID = aContext->GetNameSpaceID(); - - RefPtr doc = aTarget->OwnerDoc(); - RefPtr fragment = doc->CreateDocumentFragment(); - nsresult rv = sHTMLFragmentParser->ParseFragment( - aSource, fragment, contextLocalName, contextNameSpaceID, - fragment->OwnerDoc()->GetCompatibilityMode() == eCompatibility_NavQuirks, - true, true); - if (NS_FAILED(rv)) { - NS_WARNING("Failed to parse fragment for SetHTMLUnsafe"); - } - - aTarget->ReplaceChildren(fragment, IgnoreErrors()); -} - /* static */ nsresult nsContentUtils::ParseFragmentHTML( const nsAString& aSourceBuffer, nsIContent* aTargetNode, @@ -5459,7 +5431,7 @@ nsresult nsContentUtils::ParseFragmentHTML( nsresult rv = sHTMLFragmentParser->ParseFragment( aSourceBuffer, target, aContextLocalName, aContextNamespace, aQuirks, - aPreventScriptExecution, false); + aPreventScriptExecution); NS_ENSURE_SUCCESS(rv, rv); if (fragment) { @@ -11298,25 +11270,6 @@ template bool nsContentUtils::AddElementToListByTreeOrder( nsTArray>& aList, HTMLInputElement* aChild, nsIContent* aAncestor); -nsIContent* nsContentUtils::AttachDeclarativeShadowRoot(nsIContent* aHost, - ShadowRootMode aMode, - bool aDelegatesFocus) { - RefPtr host = mozilla::dom::Element::FromNodeOrNull(aHost); - if (!host) { - return nullptr; - } - - ShadowRootInit init; - init.mMode = aMode; - init.mDelegatesFocus = aDelegatesFocus; - init.mSlotAssignment = SlotAssignmentMode::Named; - init.mClonable = true; - - RefPtr shadowRoot = host->AttachShadow(init, IgnoreErrors(), - Element::ShadowRootDeclarative::Yes); - return shadowRoot; -} - namespace mozilla { std::ostream& operator<<(std::ostream& aOut, const PreventDefaultResult aPreventDefaultResult) { diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h index 43572f09baec..3aca84f01071 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h @@ -176,7 +176,6 @@ class DOMArena; class Element; class Event; class EventTarget; -class FragmentOrElement; class HTMLElement; class HTMLInputElement; class IPCTransferable; @@ -188,7 +187,6 @@ class MessageBroadcaster; class NodeInfo; class OwningFileOrUSVStringOrFormData; class Selection; -enum class ShadowRootMode : uint8_t; struct StructuredSerializeOptions; class WorkerPrivate; enum class ElementCallbackType; @@ -1804,9 +1802,6 @@ class nsContentUtils { bool aPreventScriptExecution, mozilla::ErrorResult& aRv); - MOZ_CAN_RUN_SCRIPT - static void SetHTMLUnsafe(mozilla::dom::FragmentOrElement* aTarget, - Element* aContext, const nsAString& aSource); /** * Invoke the fragment parsing algorithm (innerHTML) using the HTML parser. * @@ -3462,11 +3457,6 @@ class nsContentUtils { nsIContent* aContent2, const nsIContent* aCommonAncestor); - MOZ_CAN_RUN_SCRIPT_BOUNDARY - static nsIContent* AttachDeclarativeShadowRoot( - nsIContent* aHost, mozilla::dom::ShadowRootMode aMode, - bool aDelegatesFocus); - private: static bool InitializeEventTable(); diff --git a/dom/base/nsINode.cpp b/dom/base/nsINode.cpp index bd294ae1dc72..369bb41fe459 100644 --- a/dom/base/nsINode.cpp +++ b/dom/base/nsINode.cpp @@ -37,7 +37,6 @@ #include "mozilla/dom/DebuggerNotificationBinding.h" #include "mozilla/dom/DocumentType.h" #include "mozilla/dom/Element.h" -#include "mozilla/dom/ElementBinding.h" #include "mozilla/dom/Event.h" #include "mozilla/dom/Exceptions.h" #include "mozilla/dom/Link.h" @@ -3615,38 +3614,6 @@ already_AddRefed nsINode::CloneAndAdopt( } } - if (aClone && aNode->IsElement() && - !nodeInfo->GetDocument()->IsStaticDocument()) { - // Clone the Shadow DOM - ShadowRoot* originalShadowRoot = aNode->AsElement()->GetShadowRoot(); - if (originalShadowRoot && originalShadowRoot->IsClonable()) { - ShadowRootInit init; - init.mMode = originalShadowRoot->Mode(); - init.mDelegatesFocus = originalShadowRoot->DelegatesFocus(); - init.mSlotAssignment = originalShadowRoot->SlotAssignment(); - init.mClonable = true; - - RefPtr newShadowRoot = - clone->AsElement()->AttachShadow(init, aError); - if (NS_WARN_IF(aError.Failed())) { - return nullptr; - } - newShadowRoot->SetIsDeclarative(originalShadowRoot->IsDeclarative()); - - if (aDeep) { - for (nsIContent* origChild = originalShadowRoot->GetFirstChild(); - origChild; origChild = origChild->GetNextSibling()) { - nsCOMPtr child = - CloneAndAdopt(origChild, aClone, aDeep, nodeInfoManager, - aReparentScope, newShadowRoot, aError); - if (NS_WARN_IF(aError.Failed())) { - return nullptr; - } - } - } - } - } - // Cloning template element. if (aDeep && aClone && aNode->IsTemplateElement()) { DocumentFragment* origContent = diff --git a/dom/html/HTMLTemplateElement.cpp b/dom/html/HTMLTemplateElement.cpp index 2a608f1c506c..1ffe93b7f53b 100644 --- a/dom/html/HTMLTemplateElement.cpp +++ b/dom/html/HTMLTemplateElement.cpp @@ -8,9 +8,6 @@ #include "mozilla/dom/HTMLTemplateElementBinding.h" #include "mozilla/dom/Document.h" -#include "mozilla/dom/NameSpaceConstants.h" -#include "mozilla/dom/ShadowRootBinding.h" -#include "nsGenericHTMLElement.h" #include "nsGkAtoms.h" #include "nsStyleConsts.h" #include "nsAtom.h" @@ -19,13 +16,6 @@ NS_IMPL_NS_NEW_HTML_ELEMENT(Template) namespace mozilla::dom { -static constexpr nsAttrValue::EnumTable kShadowRootModeTable[] = { - {"open", ShadowRootMode::Open}, - {"closed", ShadowRootMode::Closed}, - {nullptr, {}}}; - -const nsAttrValue::EnumTable* kShadowRootModeDefault = &kShadowRootModeTable[2]; - HTMLTemplateElement::HTMLTemplateElement( already_AddRefed&& aNodeInfo) : nsGenericHTMLElement(std::move(aNodeInfo)) { @@ -41,7 +31,7 @@ HTMLTemplateElement::HTMLTemplateElement( } HTMLTemplateElement::~HTMLTemplateElement() { - if (mContent && mContent->GetHost() == this) { + if (mContent) { mContent->SetHost(nullptr); } } @@ -54,9 +44,7 @@ NS_IMPL_CYCLE_COLLECTION_CLASS(HTMLTemplateElement) NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(HTMLTemplateElement, nsGenericHTMLElement) if (tmp->mContent) { - if (tmp->mContent->GetHost() == tmp) { - tmp->mContent->SetHost(nullptr); - } + tmp->mContent->SetHost(nullptr); tmp->mContent = nullptr; } NS_IMPL_CYCLE_COLLECTION_UNLINK_END @@ -73,38 +61,4 @@ JSObject* HTMLTemplateElement::WrapNode(JSContext* aCx, return HTMLTemplateElement_Binding::Wrap(aCx, this, aGivenProto); } -void HTMLTemplateElement::AfterSetAttr(int32_t aNamespaceID, nsAtom* aName, - const nsAttrValue* aValue, - const nsAttrValue* aOldValue, - nsIPrincipal* aMaybeScriptedPrincipal, - bool aNotify) { - if (aNamespaceID == kNameSpaceID_None && aName == nsGkAtoms::shadowrootmode && - aValue && aValue->Type() == nsAttrValue::ValueType::eEnum && - !mShadowRootMode.isSome()) { - mShadowRootMode.emplace( - static_cast(aValue->GetEnumValue())); - } - - nsGenericHTMLElement::AfterSetAttr(aNamespaceID, aName, aValue, aOldValue, - aMaybeScriptedPrincipal, aNotify); -} - -bool HTMLTemplateElement::ParseAttribute(int32_t aNamespaceID, - nsAtom* aAttribute, - const nsAString& aValue, - nsIPrincipal* aMaybeScriptedPrincipal, - nsAttrValue& aResult) { - if (aNamespaceID == kNameSpaceID_None && - aAttribute == nsGkAtoms::shadowrootmode) { - return aResult.ParseEnumValue(aValue, kShadowRootModeTable, false, nullptr); - } - return nsGenericHTMLElement::ParseAttribute(aNamespaceID, aAttribute, aValue, - aMaybeScriptedPrincipal, aResult); -} - -void HTMLTemplateElement::SetHTMLUnsafe(const nsAString& aHTML) { - RefPtr content = mContent; - nsContentUtils::SetHTMLUnsafe(content, this, aHTML); -} - } // namespace mozilla::dom diff --git a/dom/html/HTMLTemplateElement.h b/dom/html/HTMLTemplateElement.h index be643d215bbf..085b39b55052 100644 --- a/dom/html/HTMLTemplateElement.h +++ b/dom/html/HTMLTemplateElement.h @@ -8,11 +8,8 @@ #define mozilla_dom_HTMLTemplateElement_h #include "mozilla/Attributes.h" -#include "mozilla/ErrorResult.h" #include "nsGenericHTMLElement.h" #include "mozilla/dom/DocumentFragment.h" -#include "mozilla/dom/ShadowRootBinding.h" -#include "nsGkAtoms.h" namespace mozilla::dom { @@ -29,38 +26,9 @@ class HTMLTemplateElement final : public nsGenericHTMLElement { NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLTemplateElement, nsGenericHTMLElement) - void AfterSetAttr(int32_t aNamespaceID, nsAtom* aName, - const nsAttrValue* aValue, const nsAttrValue* aOldValue, - nsIPrincipal* aMaybeScriptedPrincipal, - bool aNotify) override; - - bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, - const nsAString& aValue, - nsIPrincipal* aMaybeScriptedPrincipal, - nsAttrValue& aResult) override; - virtual nsresult Clone(dom::NodeInfo*, nsINode** aResult) const override; DocumentFragment* Content() { return mContent; } - void SetContent(DocumentFragment* aContent) { mContent = aContent; } - - void GetShadowRootMode(nsAString& aResult) const { - GetEnumAttr(nsGkAtoms::shadowrootmode, nullptr, aResult); - } - void SetShadowRootMode(const nsAString& aValue) { - SetHTMLAttr(nsGkAtoms::shadowrootmode, aValue); - } - - bool ShadowRootDelegatesFocus() { - return GetBoolAttr(nsGkAtoms::shadowrootdelegatesfocus); - } - void SetShadowRootDelegatesFocus(bool aValue) { - SetHTMLBoolAttr(nsGkAtoms::shadowrootdelegatesfocus, aValue, - IgnoredErrorResult()); - } - - MOZ_CAN_RUN_SCRIPT - void SetHTMLUnsafe(const nsAString& aHTML) final; protected: virtual ~HTMLTemplateElement(); @@ -69,7 +37,6 @@ class HTMLTemplateElement final : public nsGenericHTMLElement { JS::Handle aGivenProto) override; RefPtr mContent; - Maybe mShadowRootMode; }; } // namespace mozilla::dom diff --git a/dom/webidl/Document.webidl b/dom/webidl/Document.webidl index c82710bf8fa2..87b865fd177c 100644 --- a/dom/webidl/Document.webidl +++ b/dom/webidl/Document.webidl @@ -151,9 +151,6 @@ interface Document : Node { // https://html.spec.whatwg.org/multipage/dom.html#the-document-object partial interface Document { - [Pref="dom.webcomponents.shadowdom.declarative.enabled"] - static Document parseHTMLUnsafe(DOMString html); - [PutForwards=href, LegacyUnforgeable] readonly attribute Location? location; [SetterThrows] attribute DOMString domain; readonly attribute DOMString referrer; diff --git a/dom/webidl/Element.webidl b/dom/webidl/Element.webidl index 603dfd9bdc3e..c81fc74b8482 100644 --- a/dom/webidl/Element.webidl +++ b/dom/webidl/Element.webidl @@ -276,8 +276,6 @@ dictionary ShadowRootInit { required ShadowRootMode mode; boolean delegatesFocus = false; SlotAssignmentMode slotAssignment = "named"; - [Pref="dom.webcomponents.shadowdom.declarative.enabled"] - boolean clonable = false; }; // https://dom.spec.whatwg.org/#element @@ -405,9 +403,3 @@ partial interface Element { [SecureContext, UseCounter, Throws, Pref="dom.security.setHTML.enabled"] undefined setHTML(DOMString aInnerHTML, optional SetHTMLOptions options = {}); }; - -partial interface Element { - // https://html.spec.whatwg.org/#dom-element-sethtmlunsafe - [Pref="dom.webcomponents.shadowdom.declarative.enabled"] - undefined setHTMLUnsafe(DOMString html); -}; diff --git a/dom/webidl/HTMLTemplateElement.webidl b/dom/webidl/HTMLTemplateElement.webidl index ce71a51fe59e..f65d00b0c2a1 100644 --- a/dom/webidl/HTMLTemplateElement.webidl +++ b/dom/webidl/HTMLTemplateElement.webidl @@ -3,7 +3,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. * * The origin of this IDL file is - * https://html.spec.whatwg.org/multipage/scripting.html#the-template-element + * https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html * * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C * liability, trademark and document use rules apply. @@ -13,9 +13,5 @@ interface HTMLTemplateElement : HTMLElement { [HTMLConstructor] constructor(); - readonly attribute DocumentFragment content; - [CEReactions, Pref="dom.webcomponents.shadowdom.declarative.enabled"] - attribute DOMString shadowRootMode; - [CEReactions, Pref="dom.webcomponents.shadowdom.declarative.enabled"] - attribute boolean shadowRootDelegatesFocus; + readonly attribute DocumentFragment content; }; diff --git a/dom/webidl/ShadowRoot.webidl b/dom/webidl/ShadowRoot.webidl index 3a39894d112a..50bbc285c384 100644 --- a/dom/webidl/ShadowRoot.webidl +++ b/dom/webidl/ShadowRoot.webidl @@ -56,10 +56,4 @@ interface ShadowRoot : DocumentFragment boolean isUAWidget(); }; -partial interface ShadowRoot { - // https://html.spec.whatwg.org/#dom-shadowroot-sethtmlunsafe - [Pref="dom.webcomponents.shadowdom.declarative.enabled"] - undefined setHTMLUnsafe(DOMString html); -}; - ShadowRoot includes DocumentOrShadowRoot; diff --git a/layout/build/nsContentDLF.cpp b/layout/build/nsContentDLF.cpp index a9234099b0e0..60375d8e5657 100644 --- a/layout/build/nsContentDLF.cpp +++ b/layout/build/nsContentDLF.cpp @@ -314,8 +314,6 @@ nsresult nsContentDLF::CreateDocument( nsCOMPtr viewer = NS_NewDocumentViewer(); doc->SetContainer(static_cast(aContainer)); - doc->SetAllowDeclarativeShadowRoots( - mozilla::StaticPrefs::dom_webcomponents_shadowdom_declarative_enabled()); // Initialize the document to begin loading the data. An // nsIStreamListener connected to the parser is returned in diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml index ee262d6f3bd7..37dfb7e08b61 100644 --- a/modules/libpref/init/StaticPrefList.yaml +++ b/modules/libpref/init/StaticPrefList.yaml @@ -4515,12 +4515,6 @@ value: false mirror: always -# Is support for Declarative ShadowDOM enabled? -- name: dom.webcomponents.shadowdom.declarative.enabled - type: bool - value: @IS_NIGHTLY_BUILD@ - mirror: always - # Is support for the Web GPU API enabled? - name: dom.webgpu.enabled type: RelaxedAtomicBool diff --git a/parser/html/javasrc/AttributeName.java b/parser/html/javasrc/AttributeName.java index 87adc2909856..bd9958903d20 100644 --- a/parser/html/javasrc/AttributeName.java +++ b/parser/html/javasrc/AttributeName.java @@ -798,12 +798,10 @@ public final class AttributeName public static final AttributeName LOADING = new AttributeName(ALL_NO_NS, "loading", "loading", "loading", "loading", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName READONLY = new AttributeName(ALL_NO_NS, "readonly", "readonly", "readonly", "readonly", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG | CASE_FOLDED | BOOLEAN); public static final AttributeName RENDERING_INTENT = new AttributeName(ALL_NO_NS, "rendering-intent", "rendering-intent", "rendering-intent", "rendering-intent", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); - public static final AttributeName SHADOWROOTMODE = new AttributeName(ALL_NO_NS, "shadowrootmode", "shadowrootmode", "shadowrootmode", "shadowrootmode", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName SEED = new AttributeName(ALL_NO_NS, "seed", "seed", "seed", "seed", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName SRCDOC = new AttributeName(ALL_NO_NS, "srcdoc", "srcdoc", "srcdoc", "srcdoc", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName STDDEVIATION = new AttributeName(ALL_NO_NS, "stddeviation", "stddeviation", "stdDeviation", "stddeviation", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName SANDBOX = new AttributeName(ALL_NO_NS, "sandbox", "sandbox", "sandbox", "sandbox", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); - public static final AttributeName SHADOWROOTDELEGATESFOCUS = new AttributeName(ALL_NO_NS, "shadowrootdelegatesfocus", "shadowrootdelegatesfocus", "shadowrootdelegatesfocus", "shadowrootdelegatesfocus", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName WORD_SPACING = new AttributeName(ALL_NO_NS, "word-spacing", "word-spacing", "word-spacing", "word-spacing", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName ACCENTUNDER = new AttributeName(ALL_NO_NS, "accentunder", "accentunder", "accentunder", "accentunder", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName ACCEPT_CHARSET = new AttributeName(ALL_NO_NS, "accept-charset", "accept-charset", "accept-charset", "accept-charset", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); @@ -1194,36 +1192,36 @@ public final class AttributeName public static final AttributeName RY = new AttributeName(ALL_NO_NS, "ry", "ry", "ry", "ry", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); public static final AttributeName REFY = new AttributeName(ALL_NO_NS, "refy", "refy", "refY", "refy", ALL_NO_PREFIX, NCNAME_HTML | NCNAME_FOREIGN | NCNAME_LANG); private final static @NoLength AttributeName[] ATTRIBUTE_NAMES = { - CELLSPACING, - CODETYPE, - ATTRIBUTENAME, + DECLARE, + CITE, + CHAR, CLEAR, - ALIGNMENTSCOPE, - BGCOLOR, - FILTERUNITS, + HEIGHT, + COLOR_RENDERING, + FONT_SIZE, ARIA_DISABLED, OPACITY, - ONBEFORECOPY, - ACTION, - KERNELMATRIX, - STROKE_DASHOFFSET, - IS, - INPUTMODE, + ONBEFOREPASTE, + ADDITIVE, + KERNELUNITLENGTH, + STROKE_MITERLIMIT, + KEYSPLINES, + ONCUT, Y, ARIA_MULTISELECTABLE, ROTATE, - STDDEVIATION, - MODE, - SUPERSCRIPTSHIFT, - TARGETX, - SCRIPTMINSIZE, - FORMAT, - TRANSFORM, - ONMOUSEOVER, - GLYPHREF, - OVERFLOW, - CONTENTEDITABLE, - STITCHTILES, + SANDBOX, + NORESIZE, + SCHEME, + ARCHIVE, + VALIGN, + FRAME, + WHEN, + ONCONTEXTMENU, + KEYPOINTS, + ONDRAGLEAVE, + CONTENT, + TEXT_RENDERING, RX, MIN, K3, @@ -1232,30 +1230,30 @@ public final class AttributeName LOCAL, ONABORT, HIDDEN, - ACCEPT, - ENTERKEYHINT, - OTHER, - REPEAT, - HREF, - LARGEOP, - MATHCOLOR, - MEDIA, - MARKER_END, - ONBLUR, - SYMMETRIC, - POINTER_EVENTS, - XMLNS, - FLOOD_COLOR, - ONFOCUS, - CLIP, - SCOPE, - ONDRAG, - COLSPAN, - PRESERVEASPECTRATIO, - FONTWEIGHT, - ONSTOP, - WIDTH, - VALUETYPE, + BASEFREQUENCY, + INDEX, + ONREADYSTATECHANGE, + RULES, + ONAFTERPRINT, + LENGTHADJUST, + NOSHADE, + ONFINISH, + MARKER_START, + ROWLINES, + USEMAP, + POINTSATX, + XLINK_SHOW, + LQUOTE, + ONFOCUSOUT, + CLIP_PATH, + SLOPE, + ONDRAGOVER, + CROSSORIGIN, + ROWSPACING, + FONTSTYLE, + POSTER, + COLUMNSPAN, + ELEVATION, DY, END, SRC, @@ -1271,54 +1269,54 @@ public final class AttributeName FETCHPRIORITY, BORDER, RENDERING_INTENT, - ACCENTUNDER, - BASEPROFILE, - DATETIME, - INTEGRITY, - ONREPEAT, - ONBEGIN, - ONKEYUP, - REPEATCOUNT, - SELECTION, - SURFACESCALE, - IMAGESRCSET, - MARGINWIDTH, - LIGHTING_COLOR, - PATHLENGTH, - DOMINANT_BASELINE, - RADIOGROUP, - BACKGROUND, - MASKUNITS, - FILL, - STYLE, - FROM, - ASYNC, - OPEN, - POINTSATZ, - XLINK_TITLE, - AUTOPLAY, - COLOR, - NOMODULE, - ONCOPY, - TO, - SCROLLING, - DISPLAY, - PROPERTY, - STOP_OPACITY, - CHAROFF, - ONDROP, - START, - CURSOR, - MAXSIZE, - SRCSET, - DEPTH, - FONTFAMILY, - LETTER_SPACING, - PATTERN, - TEXT_ANCHOR, - COLUMNALIGN, - REQUIREDFEATURES, - VIEWBOX, + ACCESSKEY, + BASE, + EDGEMODE, + LABEL, + ONSELECT, + ORIENT, + ONKEYDOWN, + SELECTED, + TYPE, + ALIGN, + LANGUAGE, + PING, + METHOD, + ALTIMG, + DEFINITIONURL, + SCRIPTLEVEL, + MARKER_MID, + MASKCONTENTUNITS, + MAXLENGTH, + TITLE, + PROMPT, + IN, + ONEND, + STANDBY, + XLINK_ARCROLE, + AUTOFOCUS, + ENCODING, + ONMOUSEWHEEL, + ONMOUSEMOVE, + STROKE_LINECAP, + STROKE_OPACITY, + GLYPH_ORIENTATION_VERTICAL, + STEP, + WRAP, + NOWRAP, + ONERROR, + AXIS, + CLOSE, + OFFSET, + VERSION, + FONT_STRETCH, + FONT_VARIANT, + MULTIPLE, + PATTERNCONTENTUNITS, + TEXT, + COLUMNWIDTH, + REQUIREDEXTENSIONS, + DX, BY, RY, DIR, @@ -1348,103 +1346,103 @@ public final class AttributeName SPECULAREXPONENT, GRADIENTTRANSFORM, LOADING, - SEED, - SHADOWROOTDELEGATESFOCUS, - ACCESSKEY, - BASEFREQUENCY, - BASE, - CITE, - EDGEMODE, - INDEX, - LABEL, - NORESIZE, - ONSELECT, - ONREADYSTATECHANGE, - ORIENT, - ONBEFOREPASTE, - ONKEYDOWN, - RULES, - SELECTED, - SCHEME, - TYPE, - ONAFTERPRINT, - ALIGN, - HEIGHT, - LANGUAGE, - LENGTHADJUST, - PING, - ARCHIVE, - METHOD, - NOSHADE, - ALTIMG, - ADDITIVE, - DEFINITIONURL, - ONFINISH, - SCRIPTLEVEL, - VALIGN, - MARKER_MID, - MARKER_START, - MASKCONTENTUNITS, - DECLARE, - MAXLENGTH, - ROWLINES, - TITLE, - FRAME, - PROMPT, - USEMAP, - IN, - KERNELUNITLENGTH, - ONEND, - POINTSATX, - STANDBY, - WHEN, - XLINK_ARCROLE, - XLINK_SHOW, - AUTOFOCUS, - COLOR_RENDERING, - ENCODING, - LQUOTE, - ONMOUSEWHEEL, - ONCONTEXTMENU, - ONMOUSEMOVE, - ONFOCUSOUT, - STROKE_LINECAP, - STROKE_MITERLIMIT, - STROKE_OPACITY, - CLIP_PATH, - GLYPH_ORIENTATION_VERTICAL, - KEYPOINTS, - STEP, - SLOPE, - WRAP, - CHAR, - NOWRAP, - ONDRAGOVER, - ONERROR, - ONDRAGLEAVE, - AXIS, - CROSSORIGIN, - CLOSE, - KEYSPLINES, - OFFSET, - ROWSPACING, - VERSION, - CONTENT, - FONT_STRETCH, - FONTSTYLE, - FONT_VARIANT, - FONT_SIZE, - MULTIPLE, - POSTER, - PATTERNCONTENTUNITS, - TEXT_RENDERING, - TEXT, - COLUMNSPAN, - COLUMNWIDTH, - ONCUT, - REQUIREDEXTENSIONS, - ELEVATION, - DX, + SRCDOC, + ACCENTUNDER, + ACCEPT, + BASEPROFILE, + CODETYPE, + DATETIME, + ENTERKEYHINT, + INTEGRITY, + MODE, + ONREPEAT, + OTHER, + ONBEGIN, + ONBEFORECOPY, + ONKEYUP, + REPEAT, + REPEATCOUNT, + SUPERSCRIPTSHIFT, + SELECTION, + HREF, + SURFACESCALE, + ALIGNMENTSCOPE, + IMAGESRCSET, + LARGEOP, + MARGINWIDTH, + TARGETX, + LIGHTING_COLOR, + MATHCOLOR, + PATHLENGTH, + ACTION, + DOMINANT_BASELINE, + MEDIA, + RADIOGROUP, + SCRIPTMINSIZE, + BACKGROUND, + MARKER_END, + MASKUNITS, + CELLSPACING, + FILL, + ONBLUR, + STYLE, + FORMAT, + FROM, + SYMMETRIC, + ASYNC, + KERNELMATRIX, + OPEN, + POINTER_EVENTS, + POINTSATZ, + TRANSFORM, + XLINK_TITLE, + XMLNS, + AUTOPLAY, + BGCOLOR, + COLOR, + FLOOD_COLOR, + NOMODULE, + ONMOUSEOVER, + ONCOPY, + ONFOCUS, + TO, + STROKE_DASHOFFSET, + SCROLLING, + CLIP, + DISPLAY, + GLYPHREF, + PROPERTY, + SCOPE, + STOP_OPACITY, + ATTRIBUTENAME, + CHAROFF, + ONDRAG, + ONDROP, + OVERFLOW, + START, + COLSPAN, + CURSOR, + IS, + MAXSIZE, + PRESERVEASPECTRATIO, + SRCSET, + CONTENTEDITABLE, + DEPTH, + FONTWEIGHT, + FONTFAMILY, + FILTERUNITS, + LETTER_SPACING, + ONSTOP, + PATTERN, + STITCHTILES, + TEXT_ANCHOR, + WIDTH, + COLUMNALIGN, + INPUTMODE, + REQUIREDFEATURES, + VALUETYPE, + VIEWBOX, + FX, REFX, CY, FY, @@ -1503,9 +1501,8 @@ public final class AttributeName GRADIENTUNITS, HEADERS, READONLY, - SHADOWROOTMODE, - SRCDOC, - SANDBOX, + SEED, + STDDEVIATION, WORD_SPACING, ACCEPT_CHARSET, ACCENT, @@ -1696,39 +1693,38 @@ public final class AttributeName VALUE, VIEWTARGET, CX, - FX, }; private final static int[] ATTRIBUTE_HASHES = { - 1865910331, - 1748503880, - 1965512429, + 1866496199, + 1748566068, + 1966384692, 1681174213, - 1781007934, - 1915757815, - 2001826027, + 1784574102, + 1916247343, + 2001898809, 1680165421, 1721347639, - 1754835516, - 1814560070, - 1903612236, - 1924517489, - 1984430082, - 2019887833, + 1754860061, + 1814656840, + 1903759600, + 1924583073, + 1987422362, + 2023342821, 71827457, 1680282148, 1689324870, - 1740119884, - 1753550036, - 1756762256, - 1791068279, - 1824159037, - 1884079398, - 1908462185, - 1922413307, - 1934970504, - 1972922984, - 2000096287, - 2008401563, + 1740130375, + 1754434872, + 1756836998, + 1797886599, + 1825437894, + 1884246821, + 1909819252, + 1922566877, + 1937336473, + 1972996699, + 2000160071, + 2009041198, 2073034754, 57205395, 911736834, @@ -1737,30 +1733,30 @@ public final class AttributeName 1685882101, 1704526375, 1734182982, - 1747479606, - 1749549708, - 1754644293, - 1756147974, - 1767725700, - 1786775671, - 1804081401, - 1820727381, - 1854366938, - 1872343590, - 1890996553, - 1906408542, - 1910503637, - 1917857531, - 1922677495, - 1932959284, - 1941435445, - 1972656710, - 1983157559, - 1990107683, - 2001634458, - 2006459190, - 2010716309, - 2026893641, + 1747800157, + 1751507685, + 1754647074, + 1756219733, + 1771569964, + 1786851500, + 1804405895, + 1821958888, + 1854466380, + 1873656984, + 1891937366, + 1906419001, + 1910527802, + 1921061206, + 1922679610, + 1933123337, + 1941440197, + 1972744954, + 1983290011, + 1991220282, + 2001669449, + 2006824246, + 2016711994, + 2034765641, 2082471938, 53006051, 60345635, @@ -1776,54 +1772,54 @@ public final class AttributeName 1716623661, 1731048742, 1739583824, - 1747295467, - 1747906667, - 1748971848, - 1751755561, - 1754579720, - 1754698327, - 1754899031, - 1756360955, - 1756889417, - 1773606972, - 1785053243, - 1787365531, - 1803561214, - 1805715690, - 1816104145, - 1823574314, - 1848600826, - 1854497001, - 1867462756, - 1874270021, - 1884295780, - 1898415413, - 1905628916, - 1906423097, - 1910441627, - 1915025672, - 1916286197, - 1921977416, - 1922607670, - 1923088386, - 1924629705, - 1933369607, - 1939976792, - 1941550652, - 1966442279, - 1972904518, - 1975062341, - 1983398182, - 1988784439, - 1991625270, - 2000752725, - 2001710298, - 2004846654, - 2007021895, - 2009079867, - 2016810187, - 2024647008, - 2060474743, + 1747309881, + 1748021284, + 1749350104, + 1753049109, + 1754612424, + 1754794646, + 1754927689, + 1756704824, + 1757421892, + 1780879045, + 1786622296, + 1788842244, + 1804054854, + 1814517574, + 1816178925, + 1823829083, + 1854285018, + 1854497008, + 1871251689, + 1874788501, + 1889569526, + 1900544002, + 1905754853, + 1907701479, + 1910441773, + 1915341049, + 1917295176, + 1922400908, + 1922665179, + 1924443742, + 1924773438, + 1934917290, + 1941286708, + 1943317364, + 1972151670, + 1972908839, + 1982254612, + 1983432389, + 1989522022, + 1993343287, + 2001527900, + 2001732764, + 2005342360, + 2007064819, + 2009231684, + 2017010843, + 2024794274, + 2065694722, 2081423362, 2089811970, 52488851, @@ -1853,103 +1849,103 @@ public final class AttributeName 1723336432, 1733874289, 1736416327, - 1739927860, - 1740222216, - 1747309881, - 1747800157, - 1748021284, - 1748566068, - 1749350104, - 1751507685, - 1753049109, - 1754434872, - 1754612424, - 1754647074, - 1754794646, - 1754860061, - 1754927689, - 1756219733, - 1756704824, - 1756836998, - 1757421892, - 1771569964, - 1780879045, - 1784574102, - 1786622296, - 1786851500, - 1788842244, - 1797886599, - 1804054854, - 1804405895, - 1814517574, - 1814656840, - 1816178925, - 1821958888, - 1823829083, - 1825437894, - 1854285018, - 1854466380, - 1854497008, - 1866496199, - 1871251689, - 1873656984, - 1874788501, - 1884246821, - 1889569526, - 1891937366, - 1900544002, - 1903759600, - 1905754853, - 1906419001, - 1907701479, - 1909819252, - 1910441773, - 1910527802, - 1915341049, - 1916247343, - 1917295176, - 1921061206, - 1922400908, - 1922566877, - 1922665179, - 1922679610, - 1924443742, - 1924583073, - 1924773438, - 1933123337, - 1934917290, - 1937336473, - 1941286708, - 1941440197, - 1943317364, - 1966384692, - 1972151670, - 1972744954, - 1972908839, - 1972996699, - 1982254612, - 1983290011, - 1983432389, - 1987422362, - 1989522022, - 1991220282, - 1993343287, - 2000160071, - 2001527900, - 2001669449, - 2001732764, - 2001898809, - 2005342360, - 2006824246, - 2007064819, - 2009041198, - 2009231684, - 2016711994, - 2017010843, - 2023342821, - 2024794274, - 2034765641, - 2065694722, + 1740096054, + 1747295467, + 1747479606, + 1747906667, + 1748503880, + 1748971848, + 1749549708, + 1751755561, + 1753550036, + 1754579720, + 1754644293, + 1754698327, + 1754835516, + 1754899031, + 1756147974, + 1756360955, + 1756762256, + 1756889417, + 1767725700, + 1773606972, + 1781007934, + 1785053243, + 1786775671, + 1787365531, + 1791068279, + 1803561214, + 1804081401, + 1805715690, + 1814560070, + 1816104145, + 1820727381, + 1823574314, + 1824159037, + 1848600826, + 1854366938, + 1854497001, + 1865910331, + 1867462756, + 1872343590, + 1874270021, + 1884079398, + 1884295780, + 1890996553, + 1898415413, + 1903612236, + 1905628916, + 1906408542, + 1906423097, + 1908462185, + 1910441627, + 1910503637, + 1915025672, + 1915757815, + 1916286197, + 1917857531, + 1921977416, + 1922413307, + 1922607670, + 1922677495, + 1923088386, + 1924517489, + 1924629705, + 1932959284, + 1933369607, + 1934970504, + 1939976792, + 1941435445, + 1941550652, + 1965512429, + 1966442279, + 1972656710, + 1972904518, + 1972922984, + 1975062341, + 1983157559, + 1983398182, + 1984430082, + 1988784439, + 1990107683, + 1991625270, + 2000096287, + 2000752725, + 2001634458, + 2001710298, + 2001826027, + 2004846654, + 2006459190, + 2007021895, + 2008401563, + 2009079867, + 2010716309, + 2016810187, + 2019887833, + 2024647008, + 2026893641, + 2060474743, + 2066743298, 2075005220, 2081947650, 2083520514, @@ -2008,9 +2004,8 @@ public final class AttributeName 1733919469, 1734404167, 1739561208, - 1739914974, - 1740096054, - 1740130375, + 1739927860, + 1740119884, 1742183484, 1747299630, 1747446838, @@ -2201,6 +2196,5 @@ public final class AttributeName 2026975253, 2060302634, 2065170434, - 2066743298, }; } diff --git a/parser/html/javasrc/TreeBuilder.java b/parser/html/javasrc/TreeBuilder.java index 1fa67647e193..db5fe9474390 100644 --- a/parser/html/javasrc/TreeBuilder.java +++ b/parser/html/javasrc/TreeBuilder.java @@ -434,8 +434,6 @@ public abstract class TreeBuilder implements TokenHandler, private boolean forceNoQuirks = false; - private boolean allowDeclarativeShadowRoots = false; - // [NOCPP[ private boolean reportingDoctype = true; @@ -2960,20 +2958,6 @@ public abstract class TreeBuilder implements TokenHandler, || (("http://www.w3.org/1998/Math/MathML" == ns) && (stackNode.getGroup() == MI_MO_MN_MS_MTEXT)); } - private T getDeclarativeShadowRoot(T currentNode, T templateNode, HtmlAttributes attributes) { - if (!isAllowDeclarativeShadowRoots()) { - return null; - } - - String shadowRootMode = attributes.getValue(AttributeName.SHADOWROOTMODE); - if (shadowRootMode == null) { - return null; - } - - boolean shadowRootDelegatesFocus = attributes.contains(AttributeName.SHADOWROOTDELEGATESFOCUS); - return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, shadowRootDelegatesFocus); - } - /** * *

@@ -5318,17 +5302,9 @@ public abstract class TreeBuilder implements TokenHandler, T elt = createElement("http://www.w3.org/1999/xhtml", elementName.getName(), attributes, currentNode // CPPONLY: , htmlCreator(elementName.getHtmlCreator()) ); + appendElement(elt, currentNode); if (ElementName.TEMPLATE == elementName) { - T root = getDeclarativeShadowRoot(currentNode, elt, attributes); - if (root != null) { - setDocumentFragmentForTemplate(elt, root); - elt = root; - } else { - appendElement(elt, currentNode); - elt = getDocumentFragmentForTemplate(elt); - } - } else { - appendElement(elt, currentNode); + elt = getDocumentFragmentForTemplate(elt); } StackNode node = createStackNode(elementName, elt // [NOCPP[ @@ -5415,13 +5391,6 @@ public abstract class TreeBuilder implements TokenHandler, return template; } - void setDocumentFragmentForTemplate(T template, T fragment) { - } - - T getShadowRootFromHost(T host, T template, String shadowRootMode, boolean shadowRootDelegatesFocus) { - return null; - } - T getFormPointerForContext(T context) { return null; } @@ -5540,7 +5509,6 @@ public abstract class TreeBuilder implements TokenHandler, } else { T currentNode = nodeFromStackWithBlinkCompat(currentPtr); elt = createElement("http://www.w3.org/1999/xhtml", name, - attributes, formOwner, currentNode // CPPONLY: , htmlCreator(elementName.getHtmlCreator()) ); @@ -5925,14 +5893,6 @@ public abstract class TreeBuilder implements TokenHandler, this.setForceNoQuirks(isSrcdocDocument); } - public boolean isAllowDeclarativeShadowRoots() { - return allowDeclarativeShadowRoots; - } - - public void setAllowDeclarativeShadowRoots(boolean allow) { - allowDeclarativeShadowRoots = allow; - } - // [NOCPP[ public void setNamePolicy(XmlViolationPolicy namePolicy) { diff --git a/parser/html/nsHtml5AttributeName.cpp b/parser/html/nsHtml5AttributeName.cpp index f0b0df339edd..b16352585511 100644 --- a/parser/html/nsHtml5AttributeName.cpp +++ b/parser/html/nsHtml5AttributeName.cpp @@ -194,13 +194,10 @@ nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HEADERS = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LOADING = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_READONLY = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RENDERING_INTENT = nullptr; -nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SHADOWROOTMODE = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SEED = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SRCDOC = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STDDEVIATION = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SANDBOX = nullptr; -nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SHADOWROOTDELEGATESFOCUS = - nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_WORD_SPACING = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCENTUNDER = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCEPT_CHARSET = nullptr; @@ -595,48 +592,48 @@ nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RY = nullptr; nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REFY = nullptr; nsHtml5AttributeName** nsHtml5AttributeName::ATTRIBUTE_NAMES = 0; static int32_t const ATTRIBUTE_HASHES_DATA[] = { - 1865910331, 1748503880, 1965512429, 1681174213, 1781007934, 1915757815, - 2001826027, 1680165421, 1721347639, 1754835516, 1814560070, 1903612236, - 1924517489, 1984430082, 2019887833, 71827457, 1680282148, 1689324870, - 1740119884, 1753550036, 1756762256, 1791068279, 1824159037, 1884079398, - 1908462185, 1922413307, 1934970504, 1972922984, 2000096287, 2008401563, + 1866496199, 1748566068, 1966384692, 1681174213, 1784574102, 1916247343, + 2001898809, 1680165421, 1721347639, 1754860061, 1814656840, 1903759600, + 1924583073, 1987422362, 2023342821, 71827457, 1680282148, 1689324870, + 1740130375, 1754434872, 1756836998, 1797886599, 1825437894, 1884246821, + 1909819252, 1922566877, 1937336473, 1972996699, 2000160071, 2009041198, 2073034754, 57205395, 911736834, 1680181996, 1680368221, 1685882101, - 1704526375, 1734182982, 1747479606, 1749549708, 1754644293, 1756147974, - 1767725700, 1786775671, 1804081401, 1820727381, 1854366938, 1872343590, - 1890996553, 1906408542, 1910503637, 1917857531, 1922677495, 1932959284, - 1941435445, 1972656710, 1983157559, 1990107683, 2001634458, 2006459190, - 2010716309, 2026893641, 2082471938, 53006051, 60345635, 885522434, + 1704526375, 1734182982, 1747800157, 1751507685, 1754647074, 1756219733, + 1771569964, 1786851500, 1804405895, 1821958888, 1854466380, 1873656984, + 1891937366, 1906419001, 1910527802, 1921061206, 1922679610, 1933123337, + 1941440197, 1972744954, 1983290011, 1991220282, 2001669449, 2006824246, + 2016711994, 2034765641, 2082471938, 53006051, 60345635, 885522434, 1680095865, 1680165533, 1680229115, 1680343801, 1680437801, 1682440540, - 1687620127, 1692408896, 1716623661, 1731048742, 1739583824, 1747295467, - 1747906667, 1748971848, 1751755561, 1754579720, 1754698327, 1754899031, - 1756360955, 1756889417, 1773606972, 1785053243, 1787365531, 1803561214, - 1805715690, 1816104145, 1823574314, 1848600826, 1854497001, 1867462756, - 1874270021, 1884295780, 1898415413, 1905628916, 1906423097, 1910441627, - 1915025672, 1916286197, 1921977416, 1922607670, 1923088386, 1924629705, - 1933369607, 1939976792, 1941550652, 1966442279, 1972904518, 1975062341, - 1983398182, 1988784439, 1991625270, 2000752725, 2001710298, 2004846654, - 2007021895, 2009079867, 2016810187, 2024647008, 2060474743, 2081423362, + 1687620127, 1692408896, 1716623661, 1731048742, 1739583824, 1747309881, + 1748021284, 1749350104, 1753049109, 1754612424, 1754794646, 1754927689, + 1756704824, 1757421892, 1780879045, 1786622296, 1788842244, 1804054854, + 1814517574, 1816178925, 1823829083, 1854285018, 1854497008, 1871251689, + 1874788501, 1889569526, 1900544002, 1905754853, 1907701479, 1910441773, + 1915341049, 1917295176, 1922400908, 1922665179, 1924443742, 1924773438, + 1934917290, 1941286708, 1943317364, 1972151670, 1972908839, 1982254612, + 1983432389, 1989522022, 1993343287, 2001527900, 2001732764, 2005342360, + 2007064819, 2009231684, 2017010843, 2024794274, 2065694722, 2081423362, 2089811970, 52488851, 55077603, 59825747, 68157441, 878182402, 901775362, 1037879561, 1680159327, 1680165437, 1680165692, 1680198203, 1680231247, 1680315086, 1680345965, 1680413393, 1680452349, 1681879063, 1683805446, 1686731997, 1689048326, 1689839946, 1699185409, 1714763319, - 1721189160, 1723336432, 1733874289, 1736416327, 1739927860, 1740222216, - 1747309881, 1747800157, 1748021284, 1748566068, 1749350104, 1751507685, - 1753049109, 1754434872, 1754612424, 1754647074, 1754794646, 1754860061, - 1754927689, 1756219733, 1756704824, 1756836998, 1757421892, 1771569964, - 1780879045, 1784574102, 1786622296, 1786851500, 1788842244, 1797886599, - 1804054854, 1804405895, 1814517574, 1814656840, 1816178925, 1821958888, - 1823829083, 1825437894, 1854285018, 1854466380, 1854497008, 1866496199, - 1871251689, 1873656984, 1874788501, 1884246821, 1889569526, 1891937366, - 1900544002, 1903759600, 1905754853, 1906419001, 1907701479, 1909819252, - 1910441773, 1910527802, 1915341049, 1916247343, 1917295176, 1921061206, - 1922400908, 1922566877, 1922665179, 1922679610, 1924443742, 1924583073, - 1924773438, 1933123337, 1934917290, 1937336473, 1941286708, 1941440197, - 1943317364, 1966384692, 1972151670, 1972744954, 1972908839, 1972996699, - 1982254612, 1983290011, 1983432389, 1987422362, 1989522022, 1991220282, - 1993343287, 2000160071, 2001527900, 2001669449, 2001732764, 2001898809, - 2005342360, 2006824246, 2007064819, 2009041198, 2009231684, 2016711994, - 2017010843, 2023342821, 2024794274, 2034765641, 2065694722, 2075005220, + 1721189160, 1723336432, 1733874289, 1736416327, 1740096054, 1747295467, + 1747479606, 1747906667, 1748503880, 1748971848, 1749549708, 1751755561, + 1753550036, 1754579720, 1754644293, 1754698327, 1754835516, 1754899031, + 1756147974, 1756360955, 1756762256, 1756889417, 1767725700, 1773606972, + 1781007934, 1785053243, 1786775671, 1787365531, 1791068279, 1803561214, + 1804081401, 1805715690, 1814560070, 1816104145, 1820727381, 1823574314, + 1824159037, 1848600826, 1854366938, 1854497001, 1865910331, 1867462756, + 1872343590, 1874270021, 1884079398, 1884295780, 1890996553, 1898415413, + 1903612236, 1905628916, 1906408542, 1906423097, 1908462185, 1910441627, + 1910503637, 1915025672, 1915757815, 1916286197, 1917857531, 1921977416, + 1922413307, 1922607670, 1922677495, 1923088386, 1924517489, 1924629705, + 1932959284, 1933369607, 1934970504, 1939976792, 1941435445, 1941550652, + 1965512429, 1966442279, 1972656710, 1972904518, 1972922984, 1975062341, + 1983157559, 1983398182, 1984430082, 1988784439, 1990107683, 1991625270, + 2000096287, 2000752725, 2001634458, 2001710298, 2001826027, 2004846654, + 2006459190, 2007021895, 2008401563, 2009079867, 2010716309, 2016810187, + 2019887833, 2024647008, 2026893641, 2060474743, 2066743298, 2075005220, 2081947650, 2083520514, 2091784484, 50917059, 52489043, 53537523, 56685811, 57210387, 59830867, 60817409, 71303169, 72351745, 884998146, 894959618, 902299650, 928514050, 1038063816, 1680140893, @@ -646,39 +643,39 @@ static int32_t const ATTRIBUTE_HASHES_DATA[] = { 1681969220, 1682587945, 1684319541, 1685902598, 1687164232, 1687751191, 1689130184, 1689788441, 1691145478, 1692933184, 1704262346, 1714745560, 1716303957, 1720503541, 1721305962, 1723309623, 1723336528, 1732771842, - 1733919469, 1734404167, 1739561208, 1739914974, 1740096054, 1740130375, - 1742183484, 1747299630, 1747446838, 1747792072, 1747839118, 1747939528, - 1748306996, 1748552744, 1748869205, 1749027145, 1749399124, 1749856356, - 1751679545, 1752985897, 1753297133, 1754214628, 1754546894, 1754606246, - 1754643237, 1754645079, 1754647353, 1754792749, 1754798923, 1754858317, - 1754872618, 1754907227, 1754958648, 1756190926, 1756302628, 1756471625, - 1756737685, 1756804936, 1756874572, 1757053236, 1765800271, 1767875272, - 1772032615, 1776114564, 1780975314, 1782518297, 1785051290, 1785174319, - 1786740932, 1786821704, 1787193500, 1788254870, 1790814502, 1791070327, - 1801312388, 1804036350, 1804069019, 1804235064, 1804978712, 1805715716, - 1814558026, 1814656326, 1814986837, 1816144023, 1820262641, 1820928104, - 1822002839, 1823580230, 1823841492, 1824377064, 1825677514, 1853862084, - 1854302364, 1854464212, 1854474395, 1854497003, 1864698185, 1865910347, - 1867448617, 1867620412, 1872034503, 1873590471, 1874261045, 1874698443, - 1881750231, 1884142379, 1884267068, 1884343396, 1889633006, 1891186903, - 1894552650, 1898428101, 1902640276, 1903659239, 1905541832, 1905672729, - 1905902311, 1906408598, 1906421049, 1907660596, 1908316832, 1909438149, - 1910328970, 1910441770, 1910487243, 1910507338, 1910572893, 1915295948, - 1915394254, 1916210285, 1916278099, 1916337499, 1917327080, 1917953597, - 1921894426, 1922319046, 1922413292, 1922470745, 1922567078, 1922665052, - 1922671417, 1922679386, 1922699851, 1924206934, 1924462384, 1924570799, - 1924585254, 1924738716, 1932870919, 1932986153, 1933145837, 1933508940, - 1934917372, 1935597338, 1937777860, 1941253366, 1941409583, 1941438085, - 1941454586, 1942026440, 1965349396, 1965561677, 1966439670, 1966454567, - 1972196486, 1972744939, 1972863609, 1972904522, 1972909592, 1972962123, - 1974849131, 1980235778, 1982640164, 1983266615, 1983347764, 1983416119, - 1983461061, 1987410233, 1988132214, 1988788535, 1990062797, 1991021879, - 1991392548, 1991643278, 1999273799, 2000125224, 2000162011, 2001210183, - 2001578182, 2001634459, 2001669450, 2001710299, 2001814704, 2001898808, - 2004199576, 2004957380, 2005925890, 2006516551, 2007019632, 2007064812, - 2008084807, 2008408414, 2009071951, 2009141482, 2010452700, 2015950026, - 2016787611, 2016910397, 2018908874, 2023146024, 2024616088, 2024763702, - 2026741958, 2026975253, 2060302634, 2065170434, 2066743298}; + 1733919469, 1734404167, 1739561208, 1739927860, 1740119884, 1742183484, + 1747299630, 1747446838, 1747792072, 1747839118, 1747939528, 1748306996, + 1748552744, 1748869205, 1749027145, 1749399124, 1749856356, 1751679545, + 1752985897, 1753297133, 1754214628, 1754546894, 1754606246, 1754643237, + 1754645079, 1754647353, 1754792749, 1754798923, 1754858317, 1754872618, + 1754907227, 1754958648, 1756190926, 1756302628, 1756471625, 1756737685, + 1756804936, 1756874572, 1757053236, 1765800271, 1767875272, 1772032615, + 1776114564, 1780975314, 1782518297, 1785051290, 1785174319, 1786740932, + 1786821704, 1787193500, 1788254870, 1790814502, 1791070327, 1801312388, + 1804036350, 1804069019, 1804235064, 1804978712, 1805715716, 1814558026, + 1814656326, 1814986837, 1816144023, 1820262641, 1820928104, 1822002839, + 1823580230, 1823841492, 1824377064, 1825677514, 1853862084, 1854302364, + 1854464212, 1854474395, 1854497003, 1864698185, 1865910347, 1867448617, + 1867620412, 1872034503, 1873590471, 1874261045, 1874698443, 1881750231, + 1884142379, 1884267068, 1884343396, 1889633006, 1891186903, 1894552650, + 1898428101, 1902640276, 1903659239, 1905541832, 1905672729, 1905902311, + 1906408598, 1906421049, 1907660596, 1908316832, 1909438149, 1910328970, + 1910441770, 1910487243, 1910507338, 1910572893, 1915295948, 1915394254, + 1916210285, 1916278099, 1916337499, 1917327080, 1917953597, 1921894426, + 1922319046, 1922413292, 1922470745, 1922567078, 1922665052, 1922671417, + 1922679386, 1922699851, 1924206934, 1924462384, 1924570799, 1924585254, + 1924738716, 1932870919, 1932986153, 1933145837, 1933508940, 1934917372, + 1935597338, 1937777860, 1941253366, 1941409583, 1941438085, 1941454586, + 1942026440, 1965349396, 1965561677, 1966439670, 1966454567, 1972196486, + 1972744939, 1972863609, 1972904522, 1972909592, 1972962123, 1974849131, + 1980235778, 1982640164, 1983266615, 1983347764, 1983416119, 1983461061, + 1987410233, 1988132214, 1988788535, 1990062797, 1991021879, 1991392548, + 1991643278, 1999273799, 2000125224, 2000162011, 2001210183, 2001578182, + 2001634459, 2001669450, 2001710299, 2001814704, 2001898808, 2004199576, + 2004957380, 2005925890, 2006516551, 2007019632, 2007064812, 2008084807, + 2008408414, 2009071951, 2009141482, 2010452700, 2015950026, 2016787611, + 2016910397, 2018908874, 2023146024, 2024616088, 2024763702, 2026741958, + 2026975253, 2060302634, 2065170434}; staticJArray nsHtml5AttributeName::ATTRIBUTE_HASHES = { ATTRIBUTE_HASHES_DATA, MOZ_ARRAY_LENGTH(ATTRIBUTE_HASHES_DATA)}; void nsHtml5AttributeName::initializeStatics() { @@ -1015,9 +1012,6 @@ void nsHtml5AttributeName::initializeStatics() { ATTR_RENDERING_INTENT = new nsHtml5AttributeName( ALL_NO_NS, nsGkAtoms::rendering_intent, nsGkAtoms::rendering_intent, nsGkAtoms::rendering_intent, ALL_NO_PREFIX); - ATTR_SHADOWROOTMODE = new nsHtml5AttributeName( - ALL_NO_NS, nsGkAtoms::shadowrootmode, nsGkAtoms::shadowrootmode, - nsGkAtoms::shadowrootmode, ALL_NO_PREFIX); ATTR_SEED = new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::seed, nsGkAtoms::seed, nsGkAtoms::seed, ALL_NO_PREFIX); @@ -1030,10 +1024,6 @@ void nsHtml5AttributeName::initializeStatics() { ATTR_SANDBOX = new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::sandbox, nsGkAtoms::sandbox, nsGkAtoms::sandbox, ALL_NO_PREFIX); - ATTR_SHADOWROOTDELEGATESFOCUS = new nsHtml5AttributeName( - ALL_NO_NS, nsGkAtoms::shadowrootdelegatesfocus, - nsGkAtoms::shadowrootdelegatesfocus, nsGkAtoms::shadowrootdelegatesfocus, - ALL_NO_PREFIX); ATTR_WORD_SPACING = new nsHtml5AttributeName( ALL_NO_NS, nsGkAtoms::word_spacing, nsGkAtoms::word_spacing, nsGkAtoms::word_spacing, ALL_NO_PREFIX); @@ -2191,37 +2181,37 @@ void nsHtml5AttributeName::initializeStatics() { ATTR_REFY = new nsHtml5AttributeName(ALL_NO_NS, nsGkAtoms::refy, nsGkAtoms::refy, nsGkAtoms::refY, ALL_NO_PREFIX); - ATTRIBUTE_NAMES = new nsHtml5AttributeName*[503]; - ATTRIBUTE_NAMES[0] = ATTR_CELLSPACING; - ATTRIBUTE_NAMES[1] = ATTR_CODETYPE; - ATTRIBUTE_NAMES[2] = ATTR_ATTRIBUTENAME; + ATTRIBUTE_NAMES = new nsHtml5AttributeName*[501]; + ATTRIBUTE_NAMES[0] = ATTR_DECLARE; + ATTRIBUTE_NAMES[1] = ATTR_CITE; + ATTRIBUTE_NAMES[2] = ATTR_CHAR; ATTRIBUTE_NAMES[3] = ATTR_CLEAR; - ATTRIBUTE_NAMES[4] = ATTR_ALIGNMENTSCOPE; - ATTRIBUTE_NAMES[5] = ATTR_BGCOLOR; - ATTRIBUTE_NAMES[6] = ATTR_FILTERUNITS; + ATTRIBUTE_NAMES[4] = ATTR_HEIGHT; + ATTRIBUTE_NAMES[5] = ATTR_COLOR_RENDERING; + ATTRIBUTE_NAMES[6] = ATTR_FONT_SIZE; ATTRIBUTE_NAMES[7] = ATTR_ARIA_DISABLED; ATTRIBUTE_NAMES[8] = ATTR_OPACITY; - ATTRIBUTE_NAMES[9] = ATTR_ONBEFORECOPY; - ATTRIBUTE_NAMES[10] = ATTR_ACTION; - ATTRIBUTE_NAMES[11] = ATTR_KERNELMATRIX; - ATTRIBUTE_NAMES[12] = ATTR_STROKE_DASHOFFSET; - ATTRIBUTE_NAMES[13] = ATTR_IS; - ATTRIBUTE_NAMES[14] = ATTR_INPUTMODE; + ATTRIBUTE_NAMES[9] = ATTR_ONBEFOREPASTE; + ATTRIBUTE_NAMES[10] = ATTR_ADDITIVE; + ATTRIBUTE_NAMES[11] = ATTR_KERNELUNITLENGTH; + ATTRIBUTE_NAMES[12] = ATTR_STROKE_MITERLIMIT; + ATTRIBUTE_NAMES[13] = ATTR_KEYSPLINES; + ATTRIBUTE_NAMES[14] = ATTR_ONCUT; ATTRIBUTE_NAMES[15] = ATTR_Y; ATTRIBUTE_NAMES[16] = ATTR_ARIA_MULTISELECTABLE; ATTRIBUTE_NAMES[17] = ATTR_ROTATE; - ATTRIBUTE_NAMES[18] = ATTR_STDDEVIATION; - ATTRIBUTE_NAMES[19] = ATTR_MODE; - ATTRIBUTE_NAMES[20] = ATTR_SUPERSCRIPTSHIFT; - ATTRIBUTE_NAMES[21] = ATTR_TARGETX; - ATTRIBUTE_NAMES[22] = ATTR_SCRIPTMINSIZE; - ATTRIBUTE_NAMES[23] = ATTR_FORMAT; - ATTRIBUTE_NAMES[24] = ATTR_TRANSFORM; - ATTRIBUTE_NAMES[25] = ATTR_ONMOUSEOVER; - ATTRIBUTE_NAMES[26] = ATTR_GLYPHREF; - ATTRIBUTE_NAMES[27] = ATTR_OVERFLOW; - ATTRIBUTE_NAMES[28] = ATTR_CONTENTEDITABLE; - ATTRIBUTE_NAMES[29] = ATTR_STITCHTILES; + ATTRIBUTE_NAMES[18] = ATTR_SANDBOX; + ATTRIBUTE_NAMES[19] = ATTR_NORESIZE; + ATTRIBUTE_NAMES[20] = ATTR_SCHEME; + ATTRIBUTE_NAMES[21] = ATTR_ARCHIVE; + ATTRIBUTE_NAMES[22] = ATTR_VALIGN; + ATTRIBUTE_NAMES[23] = ATTR_FRAME; + ATTRIBUTE_NAMES[24] = ATTR_WHEN; + ATTRIBUTE_NAMES[25] = ATTR_ONCONTEXTMENU; + ATTRIBUTE_NAMES[26] = ATTR_KEYPOINTS; + ATTRIBUTE_NAMES[27] = ATTR_ONDRAGLEAVE; + ATTRIBUTE_NAMES[28] = ATTR_CONTENT; + ATTRIBUTE_NAMES[29] = ATTR_TEXT_RENDERING; ATTRIBUTE_NAMES[30] = ATTR_RX; ATTRIBUTE_NAMES[31] = ATTR_MIN; ATTRIBUTE_NAMES[32] = ATTR_K3; @@ -2230,30 +2220,30 @@ void nsHtml5AttributeName::initializeStatics() { ATTRIBUTE_NAMES[35] = ATTR_LOCAL; ATTRIBUTE_NAMES[36] = ATTR_ONABORT; ATTRIBUTE_NAMES[37] = ATTR_HIDDEN; - ATTRIBUTE_NAMES[38] = ATTR_ACCEPT; - ATTRIBUTE_NAMES[39] = ATTR_ENTERKEYHINT; - ATTRIBUTE_NAMES[40] = ATTR_OTHER; - ATTRIBUTE_NAMES[41] = ATTR_REPEAT; - ATTRIBUTE_NAMES[42] = ATTR_HREF; - ATTRIBUTE_NAMES[43] = ATTR_LARGEOP; - ATTRIBUTE_NAMES[44] = ATTR_MATHCOLOR; - ATTRIBUTE_NAMES[45] = ATTR_MEDIA; - ATTRIBUTE_NAMES[46] = ATTR_MARKER_END; - ATTRIBUTE_NAMES[47] = ATTR_ONBLUR; - ATTRIBUTE_NAMES[48] = ATTR_SYMMETRIC; - ATTRIBUTE_NAMES[49] = ATTR_POINTER_EVENTS; - ATTRIBUTE_NAMES[50] = ATTR_XMLNS; - ATTRIBUTE_NAMES[51] = ATTR_FLOOD_COLOR; - ATTRIBUTE_NAMES[52] = ATTR_ONFOCUS; - ATTRIBUTE_NAMES[53] = ATTR_CLIP; - ATTRIBUTE_NAMES[54] = ATTR_SCOPE; - ATTRIBUTE_NAMES[55] = ATTR_ONDRAG; - ATTRIBUTE_NAMES[56] = ATTR_COLSPAN; - ATTRIBUTE_NAMES[57] = ATTR_PRESERVEASPECTRATIO; - ATTRIBUTE_NAMES[58] = ATTR_FONTWEIGHT; - ATTRIBUTE_NAMES[59] = ATTR_ONSTOP; - ATTRIBUTE_NAMES[60] = ATTR_WIDTH; - ATTRIBUTE_NAMES[61] = ATTR_VALUETYPE; + ATTRIBUTE_NAMES[38] = ATTR_BASEFREQUENCY; + ATTRIBUTE_NAMES[39] = ATTR_INDEX; + ATTRIBUTE_NAMES[40] = ATTR_ONREADYSTATECHANGE; + ATTRIBUTE_NAMES[41] = ATTR_RULES; + ATTRIBUTE_NAMES[42] = ATTR_ONAFTERPRINT; + ATTRIBUTE_NAMES[43] = ATTR_LENGTHADJUST; + ATTRIBUTE_NAMES[44] = ATTR_NOSHADE; + ATTRIBUTE_NAMES[45] = ATTR_ONFINISH; + ATTRIBUTE_NAMES[46] = ATTR_MARKER_START; + ATTRIBUTE_NAMES[47] = ATTR_ROWLINES; + ATTRIBUTE_NAMES[48] = ATTR_USEMAP; + ATTRIBUTE_NAMES[49] = ATTR_POINTSATX; + ATTRIBUTE_NAMES[50] = ATTR_XLINK_SHOW; + ATTRIBUTE_NAMES[51] = ATTR_LQUOTE; + ATTRIBUTE_NAMES[52] = ATTR_ONFOCUSOUT; + ATTRIBUTE_NAMES[53] = ATTR_CLIP_PATH; + ATTRIBUTE_NAMES[54] = ATTR_SLOPE; + ATTRIBUTE_NAMES[55] = ATTR_ONDRAGOVER; + ATTRIBUTE_NAMES[56] = ATTR_CROSSORIGIN; + ATTRIBUTE_NAMES[57] = ATTR_ROWSPACING; + ATTRIBUTE_NAMES[58] = ATTR_FONTSTYLE; + ATTRIBUTE_NAMES[59] = ATTR_POSTER; + ATTRIBUTE_NAMES[60] = ATTR_COLUMNSPAN; + ATTRIBUTE_NAMES[61] = ATTR_ELEVATION; ATTRIBUTE_NAMES[62] = ATTR_DY; ATTRIBUTE_NAMES[63] = ATTR_END; ATTRIBUTE_NAMES[64] = ATTR_SRC; @@ -2269,54 +2259,54 @@ void nsHtml5AttributeName::initializeStatics() { ATTRIBUTE_NAMES[74] = ATTR_FETCHPRIORITY; ATTRIBUTE_NAMES[75] = ATTR_BORDER; ATTRIBUTE_NAMES[76] = ATTR_RENDERING_INTENT; - ATTRIBUTE_NAMES[77] = ATTR_ACCENTUNDER; - ATTRIBUTE_NAMES[78] = ATTR_BASEPROFILE; - ATTRIBUTE_NAMES[79] = ATTR_DATETIME; - ATTRIBUTE_NAMES[80] = ATTR_INTEGRITY; - ATTRIBUTE_NAMES[81] = ATTR_ONREPEAT; - ATTRIBUTE_NAMES[82] = ATTR_ONBEGIN; - ATTRIBUTE_NAMES[83] = ATTR_ONKEYUP; - ATTRIBUTE_NAMES[84] = ATTR_REPEATCOUNT; - ATTRIBUTE_NAMES[85] = ATTR_SELECTION; - ATTRIBUTE_NAMES[86] = ATTR_SURFACESCALE; - ATTRIBUTE_NAMES[87] = ATTR_IMAGESRCSET; - ATTRIBUTE_NAMES[88] = ATTR_MARGINWIDTH; - ATTRIBUTE_NAMES[89] = ATTR_LIGHTING_COLOR; - ATTRIBUTE_NAMES[90] = ATTR_PATHLENGTH; - ATTRIBUTE_NAMES[91] = ATTR_DOMINANT_BASELINE; - ATTRIBUTE_NAMES[92] = ATTR_RADIOGROUP; - ATTRIBUTE_NAMES[93] = ATTR_BACKGROUND; - ATTRIBUTE_NAMES[94] = ATTR_MASKUNITS; - ATTRIBUTE_NAMES[95] = ATTR_FILL; - ATTRIBUTE_NAMES[96] = ATTR_STYLE; - ATTRIBUTE_NAMES[97] = ATTR_FROM; - ATTRIBUTE_NAMES[98] = ATTR_ASYNC; - ATTRIBUTE_NAMES[99] = ATTR_OPEN; - ATTRIBUTE_NAMES[100] = ATTR_POINTSATZ; - ATTRIBUTE_NAMES[101] = ATTR_XLINK_TITLE; - ATTRIBUTE_NAMES[102] = ATTR_AUTOPLAY; - ATTRIBUTE_NAMES[103] = ATTR_COLOR; - ATTRIBUTE_NAMES[104] = ATTR_NOMODULE; - ATTRIBUTE_NAMES[105] = ATTR_ONCOPY; - ATTRIBUTE_NAMES[106] = ATTR_TO; - ATTRIBUTE_NAMES[107] = ATTR_SCROLLING; - ATTRIBUTE_NAMES[108] = ATTR_DISPLAY; - ATTRIBUTE_NAMES[109] = ATTR_PROPERTY; - ATTRIBUTE_NAMES[110] = ATTR_STOP_OPACITY; - ATTRIBUTE_NAMES[111] = ATTR_CHAROFF; - ATTRIBUTE_NAMES[112] = ATTR_ONDROP; - ATTRIBUTE_NAMES[113] = ATTR_START; - ATTRIBUTE_NAMES[114] = ATTR_CURSOR; - ATTRIBUTE_NAMES[115] = ATTR_MAXSIZE; - ATTRIBUTE_NAMES[116] = ATTR_SRCSET; - ATTRIBUTE_NAMES[117] = ATTR_DEPTH; - ATTRIBUTE_NAMES[118] = ATTR_FONTFAMILY; - ATTRIBUTE_NAMES[119] = ATTR_LETTER_SPACING; - ATTRIBUTE_NAMES[120] = ATTR_PATTERN; - ATTRIBUTE_NAMES[121] = ATTR_TEXT_ANCHOR; - ATTRIBUTE_NAMES[122] = ATTR_COLUMNALIGN; - ATTRIBUTE_NAMES[123] = ATTR_REQUIREDFEATURES; - ATTRIBUTE_NAMES[124] = ATTR_VIEWBOX; + ATTRIBUTE_NAMES[77] = ATTR_ACCESSKEY; + ATTRIBUTE_NAMES[78] = ATTR_BASE; + ATTRIBUTE_NAMES[79] = ATTR_EDGEMODE; + ATTRIBUTE_NAMES[80] = ATTR_LABEL; + ATTRIBUTE_NAMES[81] = ATTR_ONSELECT; + ATTRIBUTE_NAMES[82] = ATTR_ORIENT; + ATTRIBUTE_NAMES[83] = ATTR_ONKEYDOWN; + ATTRIBUTE_NAMES[84] = ATTR_SELECTED; + ATTRIBUTE_NAMES[85] = ATTR_TYPE; + ATTRIBUTE_NAMES[86] = ATTR_ALIGN; + ATTRIBUTE_NAMES[87] = ATTR_LANGUAGE; + ATTRIBUTE_NAMES[88] = ATTR_PING; + ATTRIBUTE_NAMES[89] = ATTR_METHOD; + ATTRIBUTE_NAMES[90] = ATTR_ALTIMG; + ATTRIBUTE_NAMES[91] = ATTR_DEFINITIONURL; + ATTRIBUTE_NAMES[92] = ATTR_SCRIPTLEVEL; + ATTRIBUTE_NAMES[93] = ATTR_MARKER_MID; + ATTRIBUTE_NAMES[94] = ATTR_MASKCONTENTUNITS; + ATTRIBUTE_NAMES[95] = ATTR_MAXLENGTH; + ATTRIBUTE_NAMES[96] = ATTR_TITLE; + ATTRIBUTE_NAMES[97] = ATTR_PROMPT; + ATTRIBUTE_NAMES[98] = ATTR_IN; + ATTRIBUTE_NAMES[99] = ATTR_ONEND; + ATTRIBUTE_NAMES[100] = ATTR_STANDBY; + ATTRIBUTE_NAMES[101] = ATTR_XLINK_ARCROLE; + ATTRIBUTE_NAMES[102] = ATTR_AUTOFOCUS; + ATTRIBUTE_NAMES[103] = ATTR_ENCODING; + ATTRIBUTE_NAMES[104] = ATTR_ONMOUSEWHEEL; + ATTRIBUTE_NAMES[105] = ATTR_ONMOUSEMOVE; + ATTRIBUTE_NAMES[106] = ATTR_STROKE_LINECAP; + ATTRIBUTE_NAMES[107] = ATTR_STROKE_OPACITY; + ATTRIBUTE_NAMES[108] = ATTR_GLYPH_ORIENTATION_VERTICAL; + ATTRIBUTE_NAMES[109] = ATTR_STEP; + ATTRIBUTE_NAMES[110] = ATTR_WRAP; + ATTRIBUTE_NAMES[111] = ATTR_NOWRAP; + ATTRIBUTE_NAMES[112] = ATTR_ONERROR; + ATTRIBUTE_NAMES[113] = ATTR_AXIS; + ATTRIBUTE_NAMES[114] = ATTR_CLOSE; + ATTRIBUTE_NAMES[115] = ATTR_OFFSET; + ATTRIBUTE_NAMES[116] = ATTR_VERSION; + ATTRIBUTE_NAMES[117] = ATTR_FONT_STRETCH; + ATTRIBUTE_NAMES[118] = ATTR_FONT_VARIANT; + ATTRIBUTE_NAMES[119] = ATTR_MULTIPLE; + ATTRIBUTE_NAMES[120] = ATTR_PATTERNCONTENTUNITS; + ATTRIBUTE_NAMES[121] = ATTR_TEXT; + ATTRIBUTE_NAMES[122] = ATTR_COLUMNWIDTH; + ATTRIBUTE_NAMES[123] = ATTR_REQUIREDEXTENSIONS; + ATTRIBUTE_NAMES[124] = ATTR_DX; ATTRIBUTE_NAMES[125] = ATTR_BY; ATTRIBUTE_NAMES[126] = ATTR_RY; ATTRIBUTE_NAMES[127] = ATTR_DIR; @@ -2346,103 +2336,103 @@ void nsHtml5AttributeName::initializeStatics() { ATTRIBUTE_NAMES[151] = ATTR_SPECULAREXPONENT; ATTRIBUTE_NAMES[152] = ATTR_GRADIENTTRANSFORM; ATTRIBUTE_NAMES[153] = ATTR_LOADING; - ATTRIBUTE_NAMES[154] = ATTR_SEED; - ATTRIBUTE_NAMES[155] = ATTR_SHADOWROOTDELEGATESFOCUS; - ATTRIBUTE_NAMES[156] = ATTR_ACCESSKEY; - ATTRIBUTE_NAMES[157] = ATTR_BASEFREQUENCY; - ATTRIBUTE_NAMES[158] = ATTR_BASE; - ATTRIBUTE_NAMES[159] = ATTR_CITE; - ATTRIBUTE_NAMES[160] = ATTR_EDGEMODE; - ATTRIBUTE_NAMES[161] = ATTR_INDEX; - ATTRIBUTE_NAMES[162] = ATTR_LABEL; - ATTRIBUTE_NAMES[163] = ATTR_NORESIZE; - ATTRIBUTE_NAMES[164] = ATTR_ONSELECT; - ATTRIBUTE_NAMES[165] = ATTR_ONREADYSTATECHANGE; - ATTRIBUTE_NAMES[166] = ATTR_ORIENT; - ATTRIBUTE_NAMES[167] = ATTR_ONBEFOREPASTE; - ATTRIBUTE_NAMES[168] = ATTR_ONKEYDOWN; - ATTRIBUTE_NAMES[169] = ATTR_RULES; - ATTRIBUTE_NAMES[170] = ATTR_SELECTED; - ATTRIBUTE_NAMES[171] = ATTR_SCHEME; - ATTRIBUTE_NAMES[172] = ATTR_TYPE; - ATTRIBUTE_NAMES[173] = ATTR_ONAFTERPRINT; - ATTRIBUTE_NAMES[174] = ATTR_ALIGN; - ATTRIBUTE_NAMES[175] = ATTR_HEIGHT; - ATTRIBUTE_NAMES[176] = ATTR_LANGUAGE; - ATTRIBUTE_NAMES[177] = ATTR_LENGTHADJUST; - ATTRIBUTE_NAMES[178] = ATTR_PING; - ATTRIBUTE_NAMES[179] = ATTR_ARCHIVE; - ATTRIBUTE_NAMES[180] = ATTR_METHOD; - ATTRIBUTE_NAMES[181] = ATTR_NOSHADE; - ATTRIBUTE_NAMES[182] = ATTR_ALTIMG; - ATTRIBUTE_NAMES[183] = ATTR_ADDITIVE; - ATTRIBUTE_NAMES[184] = ATTR_DEFINITIONURL; - ATTRIBUTE_NAMES[185] = ATTR_ONFINISH; - ATTRIBUTE_NAMES[186] = ATTR_SCRIPTLEVEL; - ATTRIBUTE_NAMES[187] = ATTR_VALIGN; - ATTRIBUTE_NAMES[188] = ATTR_MARKER_MID; - ATTRIBUTE_NAMES[189] = ATTR_MARKER_START; - ATTRIBUTE_NAMES[190] = ATTR_MASKCONTENTUNITS; - ATTRIBUTE_NAMES[191] = ATTR_DECLARE; - ATTRIBUTE_NAMES[192] = ATTR_MAXLENGTH; - ATTRIBUTE_NAMES[193] = ATTR_ROWLINES; - ATTRIBUTE_NAMES[194] = ATTR_TITLE; - ATTRIBUTE_NAMES[195] = ATTR_FRAME; - ATTRIBUTE_NAMES[196] = ATTR_PROMPT; - ATTRIBUTE_NAMES[197] = ATTR_USEMAP; - ATTRIBUTE_NAMES[198] = ATTR_IN; - ATTRIBUTE_NAMES[199] = ATTR_KERNELUNITLENGTH; - ATTRIBUTE_NAMES[200] = ATTR_ONEND; - ATTRIBUTE_NAMES[201] = ATTR_POINTSATX; - ATTRIBUTE_NAMES[202] = ATTR_STANDBY; - ATTRIBUTE_NAMES[203] = ATTR_WHEN; - ATTRIBUTE_NAMES[204] = ATTR_XLINK_ARCROLE; - ATTRIBUTE_NAMES[205] = ATTR_XLINK_SHOW; - ATTRIBUTE_NAMES[206] = ATTR_AUTOFOCUS; - ATTRIBUTE_NAMES[207] = ATTR_COLOR_RENDERING; - ATTRIBUTE_NAMES[208] = ATTR_ENCODING; - ATTRIBUTE_NAMES[209] = ATTR_LQUOTE; - ATTRIBUTE_NAMES[210] = ATTR_ONMOUSEWHEEL; - ATTRIBUTE_NAMES[211] = ATTR_ONCONTEXTMENU; - ATTRIBUTE_NAMES[212] = ATTR_ONMOUSEMOVE; - ATTRIBUTE_NAMES[213] = ATTR_ONFOCUSOUT; - ATTRIBUTE_NAMES[214] = ATTR_STROKE_LINECAP; - ATTRIBUTE_NAMES[215] = ATTR_STROKE_MITERLIMIT; - ATTRIBUTE_NAMES[216] = ATTR_STROKE_OPACITY; - ATTRIBUTE_NAMES[217] = ATTR_CLIP_PATH; - ATTRIBUTE_NAMES[218] = ATTR_GLYPH_ORIENTATION_VERTICAL; - ATTRIBUTE_NAMES[219] = ATTR_KEYPOINTS; - ATTRIBUTE_NAMES[220] = ATTR_STEP; - ATTRIBUTE_NAMES[221] = ATTR_SLOPE; - ATTRIBUTE_NAMES[222] = ATTR_WRAP; - ATTRIBUTE_NAMES[223] = ATTR_CHAR; - ATTRIBUTE_NAMES[224] = ATTR_NOWRAP; - ATTRIBUTE_NAMES[225] = ATTR_ONDRAGOVER; - ATTRIBUTE_NAMES[226] = ATTR_ONERROR; - ATTRIBUTE_NAMES[227] = ATTR_ONDRAGLEAVE; - ATTRIBUTE_NAMES[228] = ATTR_AXIS; - ATTRIBUTE_NAMES[229] = ATTR_CROSSORIGIN; - ATTRIBUTE_NAMES[230] = ATTR_CLOSE; - ATTRIBUTE_NAMES[231] = ATTR_KEYSPLINES; - ATTRIBUTE_NAMES[232] = ATTR_OFFSET; - ATTRIBUTE_NAMES[233] = ATTR_ROWSPACING; - ATTRIBUTE_NAMES[234] = ATTR_VERSION; - ATTRIBUTE_NAMES[235] = ATTR_CONTENT; - ATTRIBUTE_NAMES[236] = ATTR_FONT_STRETCH; - ATTRIBUTE_NAMES[237] = ATTR_FONTSTYLE; - ATTRIBUTE_NAMES[238] = ATTR_FONT_VARIANT; - ATTRIBUTE_NAMES[239] = ATTR_FONT_SIZE; - ATTRIBUTE_NAMES[240] = ATTR_MULTIPLE; - ATTRIBUTE_NAMES[241] = ATTR_POSTER; - ATTRIBUTE_NAMES[242] = ATTR_PATTERNCONTENTUNITS; - ATTRIBUTE_NAMES[243] = ATTR_TEXT_RENDERING; - ATTRIBUTE_NAMES[244] = ATTR_TEXT; - ATTRIBUTE_NAMES[245] = ATTR_COLUMNSPAN; - ATTRIBUTE_NAMES[246] = ATTR_COLUMNWIDTH; - ATTRIBUTE_NAMES[247] = ATTR_ONCUT; - ATTRIBUTE_NAMES[248] = ATTR_REQUIREDEXTENSIONS; - ATTRIBUTE_NAMES[249] = ATTR_ELEVATION; - ATTRIBUTE_NAMES[250] = ATTR_DX; + ATTRIBUTE_NAMES[154] = ATTR_SRCDOC; + ATTRIBUTE_NAMES[155] = ATTR_ACCENTUNDER; + ATTRIBUTE_NAMES[156] = ATTR_ACCEPT; + ATTRIBUTE_NAMES[157] = ATTR_BASEPROFILE; + ATTRIBUTE_NAMES[158] = ATTR_CODETYPE; + ATTRIBUTE_NAMES[159] = ATTR_DATETIME; + ATTRIBUTE_NAMES[160] = ATTR_ENTERKEYHINT; + ATTRIBUTE_NAMES[161] = ATTR_INTEGRITY; + ATTRIBUTE_NAMES[162] = ATTR_MODE; + ATTRIBUTE_NAMES[163] = ATTR_ONREPEAT; + ATTRIBUTE_NAMES[164] = ATTR_OTHER; + ATTRIBUTE_NAMES[165] = ATTR_ONBEGIN; + ATTRIBUTE_NAMES[166] = ATTR_ONBEFORECOPY; + ATTRIBUTE_NAMES[167] = ATTR_ONKEYUP; + ATTRIBUTE_NAMES[168] = ATTR_REPEAT; + ATTRIBUTE_NAMES[169] = ATTR_REPEATCOUNT; + ATTRIBUTE_NAMES[170] = ATTR_SUPERSCRIPTSHIFT; + ATTRIBUTE_NAMES[171] = ATTR_SELECTION; + ATTRIBUTE_NAMES[172] = ATTR_HREF; + ATTRIBUTE_NAMES[173] = ATTR_SURFACESCALE; + ATTRIBUTE_NAMES[174] = ATTR_ALIGNMENTSCOPE; + ATTRIBUTE_NAMES[175] = ATTR_IMAGESRCSET; + ATTRIBUTE_NAMES[176] = ATTR_LARGEOP; + ATTRIBUTE_NAMES[177] = ATTR_MARGINWIDTH; + ATTRIBUTE_NAMES[178] = ATTR_TARGETX; + ATTRIBUTE_NAMES[179] = ATTR_LIGHTING_COLOR; + ATTRIBUTE_NAMES[180] = ATTR_MATHCOLOR; + ATTRIBUTE_NAMES[181] = ATTR_PATHLENGTH; + ATTRIBUTE_NAMES[182] = ATTR_ACTION; + ATTRIBUTE_NAMES[183] = ATTR_DOMINANT_BASELINE; + ATTRIBUTE_NAMES[184] = ATTR_MEDIA; + ATTRIBUTE_NAMES[185] = ATTR_RADIOGROUP; + ATTRIBUTE_NAMES[186] = ATTR_SCRIPTMINSIZE; + ATTRIBUTE_NAMES[187] = ATTR_BACKGROUND; + ATTRIBUTE_NAMES[188] = ATTR_MARKER_END; + ATTRIBUTE_NAMES[189] = ATTR_MASKUNITS; + ATTRIBUTE_NAMES[190] = ATTR_CELLSPACING; + ATTRIBUTE_NAMES[191] = ATTR_FILL; + ATTRIBUTE_NAMES[192] = ATTR_ONBLUR; + ATTRIBUTE_NAMES[193] = ATTR_STYLE; + ATTRIBUTE_NAMES[194] = ATTR_FORMAT; + ATTRIBUTE_NAMES[195] = ATTR_FROM; + ATTRIBUTE_NAMES[196] = ATTR_SYMMETRIC; + ATTRIBUTE_NAMES[197] = ATTR_ASYNC; + ATTRIBUTE_NAMES[198] = ATTR_KERNELMATRIX; + ATTRIBUTE_NAMES[199] = ATTR_OPEN; + ATTRIBUTE_NAMES[200] = ATTR_POINTER_EVENTS; + ATTRIBUTE_NAMES[201] = ATTR_POINTSATZ; + ATTRIBUTE_NAMES[202] = ATTR_TRANSFORM; + ATTRIBUTE_NAMES[203] = ATTR_XLINK_TITLE; + ATTRIBUTE_NAMES[204] = ATTR_XMLNS; + ATTRIBUTE_NAMES[205] = ATTR_AUTOPLAY; + ATTRIBUTE_NAMES[206] = ATTR_BGCOLOR; + ATTRIBUTE_NAMES[207] = ATTR_COLOR; + ATTRIBUTE_NAMES[208] = ATTR_FLOOD_COLOR; + ATTRIBUTE_NAMES[209] = ATTR_NOMODULE; + ATTRIBUTE_NAMES[210] = ATTR_ONMOUSEOVER; + ATTRIBUTE_NAMES[211] = ATTR_ONCOPY; + ATTRIBUTE_NAMES[212] = ATTR_ONFOCUS; + ATTRIBUTE_NAMES[213] = ATTR_TO; + ATTRIBUTE_NAMES[214] = ATTR_STROKE_DASHOFFSET; + ATTRIBUTE_NAMES[215] = ATTR_SCROLLING; + ATTRIBUTE_NAMES[216] = ATTR_CLIP; + ATTRIBUTE_NAMES[217] = ATTR_DISPLAY; + ATTRIBUTE_NAMES[218] = ATTR_GLYPHREF; + ATTRIBUTE_NAMES[219] = ATTR_PROPERTY; + ATTRIBUTE_NAMES[220] = ATTR_SCOPE; + ATTRIBUTE_NAMES[221] = ATTR_STOP_OPACITY; + ATTRIBUTE_NAMES[222] = ATTR_ATTRIBUTENAME; + ATTRIBUTE_NAMES[223] = ATTR_CHAROFF; + ATTRIBUTE_NAMES[224] = ATTR_ONDRAG; + ATTRIBUTE_NAMES[225] = ATTR_ONDROP; + ATTRIBUTE_NAMES[226] = ATTR_OVERFLOW; + ATTRIBUTE_NAMES[227] = ATTR_START; + ATTRIBUTE_NAMES[228] = ATTR_COLSPAN; + ATTRIBUTE_NAMES[229] = ATTR_CURSOR; + ATTRIBUTE_NAMES[230] = ATTR_IS; + ATTRIBUTE_NAMES[231] = ATTR_MAXSIZE; + ATTRIBUTE_NAMES[232] = ATTR_PRESERVEASPECTRATIO; + ATTRIBUTE_NAMES[233] = ATTR_SRCSET; + ATTRIBUTE_NAMES[234] = ATTR_CONTENTEDITABLE; + ATTRIBUTE_NAMES[235] = ATTR_DEPTH; + ATTRIBUTE_NAMES[236] = ATTR_FONTWEIGHT; + ATTRIBUTE_NAMES[237] = ATTR_FONTFAMILY; + ATTRIBUTE_NAMES[238] = ATTR_FILTERUNITS; + ATTRIBUTE_NAMES[239] = ATTR_LETTER_SPACING; + ATTRIBUTE_NAMES[240] = ATTR_ONSTOP; + ATTRIBUTE_NAMES[241] = ATTR_PATTERN; + ATTRIBUTE_NAMES[242] = ATTR_STITCHTILES; + ATTRIBUTE_NAMES[243] = ATTR_TEXT_ANCHOR; + ATTRIBUTE_NAMES[244] = ATTR_WIDTH; + ATTRIBUTE_NAMES[245] = ATTR_COLUMNALIGN; + ATTRIBUTE_NAMES[246] = ATTR_INPUTMODE; + ATTRIBUTE_NAMES[247] = ATTR_REQUIREDFEATURES; + ATTRIBUTE_NAMES[248] = ATTR_VALUETYPE; + ATTRIBUTE_NAMES[249] = ATTR_VIEWBOX; + ATTRIBUTE_NAMES[250] = ATTR_FX; ATTRIBUTE_NAMES[251] = ATTR_REFX; ATTRIBUTE_NAMES[252] = ATTR_CY; ATTRIBUTE_NAMES[253] = ATTR_FY; @@ -2501,200 +2491,198 @@ void nsHtml5AttributeName::initializeStatics() { ATTRIBUTE_NAMES[306] = ATTR_GRADIENTUNITS; ATTRIBUTE_NAMES[307] = ATTR_HEADERS; ATTRIBUTE_NAMES[308] = ATTR_READONLY; - ATTRIBUTE_NAMES[309] = ATTR_SHADOWROOTMODE; - ATTRIBUTE_NAMES[310] = ATTR_SRCDOC; - ATTRIBUTE_NAMES[311] = ATTR_SANDBOX; - ATTRIBUTE_NAMES[312] = ATTR_WORD_SPACING; - ATTRIBUTE_NAMES[313] = ATTR_ACCEPT_CHARSET; - ATTRIBUTE_NAMES[314] = ATTR_ACCENT; - ATTRIBUTE_NAMES[315] = ATTR_BEVELLED; - ATTRIBUTE_NAMES[316] = ATTR_BASELINE_SHIFT; - ATTRIBUTE_NAMES[317] = ATTR_BASELINE; - ATTRIBUTE_NAMES[318] = ATTR_CODE; - ATTRIBUTE_NAMES[319] = ATTR_CODEBASE; - ATTRIBUTE_NAMES[320] = ATTR_DEFER; - ATTRIBUTE_NAMES[321] = ATTR_DIRECTION; - ATTRIBUTE_NAMES[322] = ATTR_EDGE; - ATTRIBUTE_NAMES[323] = ATTR_FACE; - ATTRIBUTE_NAMES[324] = ATTR_INTERCEPT; - ATTRIBUTE_NAMES[325] = ATTR_LINEBREAK; - ATTRIBUTE_NAMES[326] = ATTR_LINETHICKNESS; - ATTRIBUTE_NAMES[327] = ATTR_NAME; - ATTRIBUTE_NAMES[328] = ATTR_ONBEFOREUNLOAD; - ATTRIBUTE_NAMES[329] = ATTR_OBJECT; - ATTRIBUTE_NAMES[330] = ATTR_ORDER; - ATTRIBUTE_NAMES[331] = ATTR_ONRESET; - ATTRIBUTE_NAMES[332] = ATTR_ONMESSAGE; - ATTRIBUTE_NAMES[333] = ATTR_ONBEFOREPRINT; - ATTRIBUTE_NAMES[334] = ATTR_ORIENTATION; - ATTRIBUTE_NAMES[335] = ATTR_ONSELECTSTART; - ATTRIBUTE_NAMES[336] = ATTR_ONKEYPRESS; - ATTRIBUTE_NAMES[337] = ATTR_ONBEFORECUT; - ATTRIBUTE_NAMES[338] = ATTR_ONRESIZE; - ATTRIBUTE_NAMES[339] = ATTR_REFERRERPOLICY; - ATTRIBUTE_NAMES[340] = ATTR_ROLE; - ATTRIBUTE_NAMES[341] = ATTR_REPEATDUR; - ATTRIBUTE_NAMES[342] = ATTR_SIZES; - ATTRIBUTE_NAMES[343] = ATTR_STRETCHY; - ATTRIBUTE_NAMES[344] = ATTR_SPREADMETHOD; - ATTRIBUTE_NAMES[345] = ATTR_SIZE; - ATTRIBUTE_NAMES[346] = ATTR_DIFFUSECONSTANT; - ATTRIBUTE_NAMES[347] = ATTR_HREFLANG; - ATTRIBUTE_NAMES[348] = ATTR_PROFILE; - ATTRIBUTE_NAMES[349] = ATTR_XREF; - ATTRIBUTE_NAMES[350] = ATTR_ALIGNMENT_BASELINE; - ATTRIBUTE_NAMES[351] = ATTR_DRAGGABLE; - ATTRIBUTE_NAMES[352] = ATTR_IMAGESIZES; - ATTRIBUTE_NAMES[353] = ATTR_IMAGE_RENDERING; - ATTRIBUTE_NAMES[354] = ATTR_LANG; - ATTRIBUTE_NAMES[355] = ATTR_LONGDESC; - ATTRIBUTE_NAMES[356] = ATTR_MARGINHEIGHT; - ATTRIBUTE_NAMES[357] = ATTR_ORIGIN; - ATTRIBUTE_NAMES[358] = ATTR_TARGET; - ATTRIBUTE_NAMES[359] = ATTR_TARGETY; - ATTRIBUTE_NAMES[360] = ATTR_HIGH; - ATTRIBUTE_NAMES[361] = ATTR_MATHBACKGROUND; - ATTRIBUTE_NAMES[362] = ATTR_MATHVARIANT; - ATTRIBUTE_NAMES[363] = ATTR_MATHSIZE; - ATTRIBUTE_NAMES[364] = ATTR_ONCHANGE; - ATTRIBUTE_NAMES[365] = ATTR_PATH; - ATTRIBUTE_NAMES[366] = ATTR_ACTIONTYPE; - ATTRIBUTE_NAMES[367] = ATTR_ACTIVE; - ATTRIBUTE_NAMES[368] = ATTR_BEGIN; - ATTRIBUTE_NAMES[369] = ATTR_DIVISOR; - ATTRIBUTE_NAMES[370] = ATTR_LIMITINGCONEANGLE; - ATTRIBUTE_NAMES[371] = ATTR_MANIFEST; - ATTRIBUTE_NAMES[372] = ATTR_OPTIMUM; - ATTRIBUTE_NAMES[373] = ATTR_RADIUS; - ATTRIBUTE_NAMES[374] = ATTR_SCRIPTSIZEMULTIPLIER; - ATTRIBUTE_NAMES[375] = ATTR_TABINDEX; - ATTRIBUTE_NAMES[376] = ATTR_VISIBILITY; - ATTRIBUTE_NAMES[377] = ATTR_LINK; - ATTRIBUTE_NAMES[378] = ATTR_MARKERHEIGHT; - ATTRIBUTE_NAMES[379] = ATTR_MASK; - ATTRIBUTE_NAMES[380] = ATTR_MARKERWIDTH; - ATTRIBUTE_NAMES[381] = ATTR_MARKERUNITS; - ATTRIBUTE_NAMES[382] = ATTR_AMPLITUDE; - ATTRIBUTE_NAMES[383] = ATTR_CELLPADDING; - ATTRIBUTE_NAMES[384] = ATTR_FILL_RULE; - ATTRIBUTE_NAMES[385] = ATTR_FILL_OPACITY; - ATTRIBUTE_NAMES[386] = ATTR_ONCLICK; - ATTRIBUTE_NAMES[387] = ATTR_REPLACE; - ATTRIBUTE_NAMES[388] = ATTR_SCALE; - ATTRIBUTE_NAMES[389] = ATTR_TABLEVALUES; - ATTRIBUTE_NAMES[390] = ATTR_AZIMUTH; - ATTRIBUTE_NAMES[391] = ATTR_FRAMEBORDER; - ATTRIBUTE_NAMES[392] = ATTR_FRAMESPACING; - ATTRIBUTE_NAMES[393] = ATTR_FORM; - ATTRIBUTE_NAMES[394] = ATTR_PRIMITIVEUNITS; - ATTRIBUTE_NAMES[395] = ATTR_SUMMARY; - ATTRIBUTE_NAMES[396] = ATTR_ZOOMANDPAN; - ATTRIBUTE_NAMES[397] = ATTR_ALINK; - ATTRIBUTE_NAMES[398] = ATTR_ICON; - ATTRIBUTE_NAMES[399] = ATTR_KERNING; - ATTRIBUTE_NAMES[400] = ATTR_ONUNLOAD; - ATTRIBUTE_NAMES[401] = ATTR_ONINVALID; - ATTRIBUTE_NAMES[402] = ATTR_ONINPUT; - ATTRIBUTE_NAMES[403] = ATTR_POINTS; - ATTRIBUTE_NAMES[404] = ATTR_POINTSATY; - ATTRIBUTE_NAMES[405] = ATTR_SPAN; - ATTRIBUTE_NAMES[406] = ATTR_TRANSFORM_ORIGIN; - ATTRIBUTE_NAMES[407] = ATTR_VLINK; - ATTRIBUTE_NAMES[408] = ATTR_XLINK_HREF; - ATTRIBUTE_NAMES[409] = ATTR_XLINK_ROLE; - ATTRIBUTE_NAMES[410] = ATTR_XMLNS_XLINK; - ATTRIBUTE_NAMES[411] = ATTR_XLINK_TYPE; - ATTRIBUTE_NAMES[412] = ATTR_XLINK_ACTUATE; - ATTRIBUTE_NAMES[413] = ATTR_AUTOCOMPLETE; - ATTRIBUTE_NAMES[414] = ATTR_AUTOCAPITALIZE; - ATTRIBUTE_NAMES[415] = ATTR_COLOR_PROFILE; - ATTRIBUTE_NAMES[416] = ATTR_COLOR_INTERPOLATION; - ATTRIBUTE_NAMES[417] = ATTR_COLOR_INTERPOLATION_FILTERS; - ATTRIBUTE_NAMES[418] = ATTR_EXPONENT; - ATTRIBUTE_NAMES[419] = ATTR_FLOOD_OPACITY; - ATTRIBUTE_NAMES[420] = ATTR_NUMOCTAVES; - ATTRIBUTE_NAMES[421] = ATTR_ONLOAD; - ATTRIBUTE_NAMES[422] = ATTR_ONMOUSEENTER; - ATTRIBUTE_NAMES[423] = ATTR_ONFOCUSIN; - ATTRIBUTE_NAMES[424] = ATTR_ONZOOM; - ATTRIBUTE_NAMES[425] = ATTR_ONMOUSELEAVE; - ATTRIBUTE_NAMES[426] = ATTR_ONMOUSEUP; - ATTRIBUTE_NAMES[427] = ATTR_ONMOUSEOUT; - ATTRIBUTE_NAMES[428] = ATTR_ONMOUSEDOWN; - ATTRIBUTE_NAMES[429] = ATTR_RQUOTE; - ATTRIBUTE_NAMES[430] = ATTR_STROKE_DASHARRAY; - ATTRIBUTE_NAMES[431] = ATTR_STROKE_LINEJOIN; - ATTRIBUTE_NAMES[432] = ATTR_STROKE; - ATTRIBUTE_NAMES[433] = ATTR_STROKE_WIDTH; - ATTRIBUTE_NAMES[434] = ATTR_COMPACT; - ATTRIBUTE_NAMES[435] = ATTR_CLIP_RULE; - ATTRIBUTE_NAMES[436] = ATTR_CLIPPATHUNITS; - ATTRIBUTE_NAMES[437] = ATTR_DISPLAYSTYLE; - ATTRIBUTE_NAMES[438] = ATTR_GLYPH_ORIENTATION_HORIZONTAL; - ATTRIBUTE_NAMES[439] = ATTR_HTTP_EQUIV; - ATTRIBUTE_NAMES[440] = ATTR_LOOP; - ATTRIBUTE_NAMES[441] = ATTR_SCOPED; - ATTRIBUTE_NAMES[442] = ATTR_SHAPE_RENDERING; - ATTRIBUTE_NAMES[443] = ATTR_SHAPE; - ATTRIBUTE_NAMES[444] = ATTR_STOP_COLOR; - ATTRIBUTE_NAMES[445] = ATTR_TEMPLATE; - ATTRIBUTE_NAMES[446] = ATTR_ABBR; - ATTRIBUTE_NAMES[447] = ATTR_ATTRIBUTETYPE; - ATTRIBUTE_NAMES[448] = ATTR_COORDS; - ATTRIBUTE_NAMES[449] = ATTR_CHARSET; - ATTRIBUTE_NAMES[450] = ATTR_NOHREF; - ATTRIBUTE_NAMES[451] = ATTR_ONDRAGENTER; - ATTRIBUTE_NAMES[452] = ATTR_ONDRAGEND; - ATTRIBUTE_NAMES[453] = ATTR_ONDRAGDROP; - ATTRIBUTE_NAMES[454] = ATTR_OPERATOR; - ATTRIBUTE_NAMES[455] = ATTR_ONDRAGSTART; - ATTRIBUTE_NAMES[456] = ATTR_STARTOFFSET; - ATTRIBUTE_NAMES[457] = ATTR_AS; - ATTRIBUTE_NAMES[458] = ATTR_BIAS; - ATTRIBUTE_NAMES[459] = ATTR_CLASSID; - ATTRIBUTE_NAMES[460] = ATTR_COLS; - ATTRIBUTE_NAMES[461] = ATTR_CLOSURE; - ATTRIBUTE_NAMES[462] = ATTR_CLASS; - ATTRIBUTE_NAMES[463] = ATTR_KEYSYSTEM; - ATTRIBUTE_NAMES[464] = ATTR_LOWSRC; - ATTRIBUTE_NAMES[465] = ATTR_MINSIZE; - ATTRIBUTE_NAMES[466] = ATTR_PRESERVEALPHA; - ATTRIBUTE_NAMES[467] = ATTR_ROWSPAN; - ATTRIBUTE_NAMES[468] = ATTR_ROWS; - ATTRIBUTE_NAMES[469] = ATTR_SUBSCRIPTSHIFT; - ATTRIBUTE_NAMES[470] = ATTR_ALTTEXT; - ATTRIBUTE_NAMES[471] = ATTR_CONTROLS; - ATTRIBUTE_NAMES[472] = ATTR_CONTEXTMENU; - ATTRIBUTE_NAMES[473] = ATTR_ENCTYPE; - ATTRIBUTE_NAMES[474] = ATTR_FILTER; - ATTRIBUTE_NAMES[475] = ATTR_FONT_WEIGHT; - ATTRIBUTE_NAMES[476] = ATTR_FONT_STYLE; - ATTRIBUTE_NAMES[477] = ATTR_FONT_FAMILY; - ATTRIBUTE_NAMES[478] = ATTR_FONT_SIZE_ADJUST; - ATTRIBUTE_NAMES[479] = ATTR_FONTSIZE; - ATTRIBUTE_NAMES[480] = ATTR_KEYTIMES; - ATTRIBUTE_NAMES[481] = ATTR_LIST; - ATTRIBUTE_NAMES[482] = ATTR_RT; - ATTRIBUTE_NAMES[483] = ATTR_ONSTART; - ATTRIBUTE_NAMES[484] = ATTR_PATTERNTRANSFORM; - ATTRIBUTE_NAMES[485] = ATTR_PATTERNUNITS; - ATTRIBUTE_NAMES[486] = ATTR_RESTART; - ATTRIBUTE_NAMES[487] = ATTR_SYSTEMLANGUAGE; - ATTRIBUTE_NAMES[488] = ATTR_TEXT_DECORATION; - ATTRIBUTE_NAMES[489] = ATTR_TEXTLENGTH; - ATTRIBUTE_NAMES[490] = ATTR_WRITING_MODE; - ATTRIBUTE_NAMES[491] = ATTR_ACCUMULATE; - ATTRIBUTE_NAMES[492] = ATTR_COLUMNLINES; - ATTRIBUTE_NAMES[493] = ATTR_COLUMNSPACING; - ATTRIBUTE_NAMES[494] = ATTR_GROUPALIGN; - ATTRIBUTE_NAMES[495] = ATTR_ONSUBMIT; - ATTRIBUTE_NAMES[496] = ATTR_REQUIRED; - ATTRIBUTE_NAMES[497] = ATTR_RESULT; - ATTRIBUTE_NAMES[498] = ATTR_VALUES; - ATTRIBUTE_NAMES[499] = ATTR_VALUE; - ATTRIBUTE_NAMES[500] = ATTR_VIEWTARGET; - ATTRIBUTE_NAMES[501] = ATTR_CX; - ATTRIBUTE_NAMES[502] = ATTR_FX; + ATTRIBUTE_NAMES[309] = ATTR_SEED; + ATTRIBUTE_NAMES[310] = ATTR_STDDEVIATION; + ATTRIBUTE_NAMES[311] = ATTR_WORD_SPACING; + ATTRIBUTE_NAMES[312] = ATTR_ACCEPT_CHARSET; + ATTRIBUTE_NAMES[313] = ATTR_ACCENT; + ATTRIBUTE_NAMES[314] = ATTR_BEVELLED; + ATTRIBUTE_NAMES[315] = ATTR_BASELINE_SHIFT; + ATTRIBUTE_NAMES[316] = ATTR_BASELINE; + ATTRIBUTE_NAMES[317] = ATTR_CODE; + ATTRIBUTE_NAMES[318] = ATTR_CODEBASE; + ATTRIBUTE_NAMES[319] = ATTR_DEFER; + ATTRIBUTE_NAMES[320] = ATTR_DIRECTION; + ATTRIBUTE_NAMES[321] = ATTR_EDGE; + ATTRIBUTE_NAMES[322] = ATTR_FACE; + ATTRIBUTE_NAMES[323] = ATTR_INTERCEPT; + ATTRIBUTE_NAMES[324] = ATTR_LINEBREAK; + ATTRIBUTE_NAMES[325] = ATTR_LINETHICKNESS; + ATTRIBUTE_NAMES[326] = ATTR_NAME; + ATTRIBUTE_NAMES[327] = ATTR_ONBEFOREUNLOAD; + ATTRIBUTE_NAMES[328] = ATTR_OBJECT; + ATTRIBUTE_NAMES[329] = ATTR_ORDER; + ATTRIBUTE_NAMES[330] = ATTR_ONRESET; + ATTRIBUTE_NAMES[331] = ATTR_ONMESSAGE; + ATTRIBUTE_NAMES[332] = ATTR_ONBEFOREPRINT; + ATTRIBUTE_NAMES[333] = ATTR_ORIENTATION; + ATTRIBUTE_NAMES[334] = ATTR_ONSELECTSTART; + ATTRIBUTE_NAMES[335] = ATTR_ONKEYPRESS; + ATTRIBUTE_NAMES[336] = ATTR_ONBEFORECUT; + ATTRIBUTE_NAMES[337] = ATTR_ONRESIZE; + ATTRIBUTE_NAMES[338] = ATTR_REFERRERPOLICY; + ATTRIBUTE_NAMES[339] = ATTR_ROLE; + ATTRIBUTE_NAMES[340] = ATTR_REPEATDUR; + ATTRIBUTE_NAMES[341] = ATTR_SIZES; + ATTRIBUTE_NAMES[342] = ATTR_STRETCHY; + ATTRIBUTE_NAMES[343] = ATTR_SPREADMETHOD; + ATTRIBUTE_NAMES[344] = ATTR_SIZE; + ATTRIBUTE_NAMES[345] = ATTR_DIFFUSECONSTANT; + ATTRIBUTE_NAMES[346] = ATTR_HREFLANG; + ATTRIBUTE_NAMES[347] = ATTR_PROFILE; + ATTRIBUTE_NAMES[348] = ATTR_XREF; + ATTRIBUTE_NAMES[349] = ATTR_ALIGNMENT_BASELINE; + ATTRIBUTE_NAMES[350] = ATTR_DRAGGABLE; + ATTRIBUTE_NAMES[351] = ATTR_IMAGESIZES; + ATTRIBUTE_NAMES[352] = ATTR_IMAGE_RENDERING; + ATTRIBUTE_NAMES[353] = ATTR_LANG; + ATTRIBUTE_NAMES[354] = ATTR_LONGDESC; + ATTRIBUTE_NAMES[355] = ATTR_MARGINHEIGHT; + ATTRIBUTE_NAMES[356] = ATTR_ORIGIN; + ATTRIBUTE_NAMES[357] = ATTR_TARGET; + ATTRIBUTE_NAMES[358] = ATTR_TARGETY; + ATTRIBUTE_NAMES[359] = ATTR_HIGH; + ATTRIBUTE_NAMES[360] = ATTR_MATHBACKGROUND; + ATTRIBUTE_NAMES[361] = ATTR_MATHVARIANT; + ATTRIBUTE_NAMES[362] = ATTR_MATHSIZE; + ATTRIBUTE_NAMES[363] = ATTR_ONCHANGE; + ATTRIBUTE_NAMES[364] = ATTR_PATH; + ATTRIBUTE_NAMES[365] = ATTR_ACTIONTYPE; + ATTRIBUTE_NAMES[366] = ATTR_ACTIVE; + ATTRIBUTE_NAMES[367] = ATTR_BEGIN; + ATTRIBUTE_NAMES[368] = ATTR_DIVISOR; + ATTRIBUTE_NAMES[369] = ATTR_LIMITINGCONEANGLE; + ATTRIBUTE_NAMES[370] = ATTR_MANIFEST; + ATTRIBUTE_NAMES[371] = ATTR_OPTIMUM; + ATTRIBUTE_NAMES[372] = ATTR_RADIUS; + ATTRIBUTE_NAMES[373] = ATTR_SCRIPTSIZEMULTIPLIER; + ATTRIBUTE_NAMES[374] = ATTR_TABINDEX; + ATTRIBUTE_NAMES[375] = ATTR_VISIBILITY; + ATTRIBUTE_NAMES[376] = ATTR_LINK; + ATTRIBUTE_NAMES[377] = ATTR_MARKERHEIGHT; + ATTRIBUTE_NAMES[378] = ATTR_MASK; + ATTRIBUTE_NAMES[379] = ATTR_MARKERWIDTH; + ATTRIBUTE_NAMES[380] = ATTR_MARKERUNITS; + ATTRIBUTE_NAMES[381] = ATTR_AMPLITUDE; + ATTRIBUTE_NAMES[382] = ATTR_CELLPADDING; + ATTRIBUTE_NAMES[383] = ATTR_FILL_RULE; + ATTRIBUTE_NAMES[384] = ATTR_FILL_OPACITY; + ATTRIBUTE_NAMES[385] = ATTR_ONCLICK; + ATTRIBUTE_NAMES[386] = ATTR_REPLACE; + ATTRIBUTE_NAMES[387] = ATTR_SCALE; + ATTRIBUTE_NAMES[388] = ATTR_TABLEVALUES; + ATTRIBUTE_NAMES[389] = ATTR_AZIMUTH; + ATTRIBUTE_NAMES[390] = ATTR_FRAMEBORDER; + ATTRIBUTE_NAMES[391] = ATTR_FRAMESPACING; + ATTRIBUTE_NAMES[392] = ATTR_FORM; + ATTRIBUTE_NAMES[393] = ATTR_PRIMITIVEUNITS; + ATTRIBUTE_NAMES[394] = ATTR_SUMMARY; + ATTRIBUTE_NAMES[395] = ATTR_ZOOMANDPAN; + ATTRIBUTE_NAMES[396] = ATTR_ALINK; + ATTRIBUTE_NAMES[397] = ATTR_ICON; + ATTRIBUTE_NAMES[398] = ATTR_KERNING; + ATTRIBUTE_NAMES[399] = ATTR_ONUNLOAD; + ATTRIBUTE_NAMES[400] = ATTR_ONINVALID; + ATTRIBUTE_NAMES[401] = ATTR_ONINPUT; + ATTRIBUTE_NAMES[402] = ATTR_POINTS; + ATTRIBUTE_NAMES[403] = ATTR_POINTSATY; + ATTRIBUTE_NAMES[404] = ATTR_SPAN; + ATTRIBUTE_NAMES[405] = ATTR_TRANSFORM_ORIGIN; + ATTRIBUTE_NAMES[406] = ATTR_VLINK; + ATTRIBUTE_NAMES[407] = ATTR_XLINK_HREF; + ATTRIBUTE_NAMES[408] = ATTR_XLINK_ROLE; + ATTRIBUTE_NAMES[409] = ATTR_XMLNS_XLINK; + ATTRIBUTE_NAMES[410] = ATTR_XLINK_TYPE; + ATTRIBUTE_NAMES[411] = ATTR_XLINK_ACTUATE; + ATTRIBUTE_NAMES[412] = ATTR_AUTOCOMPLETE; + ATTRIBUTE_NAMES[413] = ATTR_AUTOCAPITALIZE; + ATTRIBUTE_NAMES[414] = ATTR_COLOR_PROFILE; + ATTRIBUTE_NAMES[415] = ATTR_COLOR_INTERPOLATION; + ATTRIBUTE_NAMES[416] = ATTR_COLOR_INTERPOLATION_FILTERS; + ATTRIBUTE_NAMES[417] = ATTR_EXPONENT; + ATTRIBUTE_NAMES[418] = ATTR_FLOOD_OPACITY; + ATTRIBUTE_NAMES[419] = ATTR_NUMOCTAVES; + ATTRIBUTE_NAMES[420] = ATTR_ONLOAD; + ATTRIBUTE_NAMES[421] = ATTR_ONMOUSEENTER; + ATTRIBUTE_NAMES[422] = ATTR_ONFOCUSIN; + ATTRIBUTE_NAMES[423] = ATTR_ONZOOM; + ATTRIBUTE_NAMES[424] = ATTR_ONMOUSELEAVE; + ATTRIBUTE_NAMES[425] = ATTR_ONMOUSEUP; + ATTRIBUTE_NAMES[426] = ATTR_ONMOUSEOUT; + ATTRIBUTE_NAMES[427] = ATTR_ONMOUSEDOWN; + ATTRIBUTE_NAMES[428] = ATTR_RQUOTE; + ATTRIBUTE_NAMES[429] = ATTR_STROKE_DASHARRAY; + ATTRIBUTE_NAMES[430] = ATTR_STROKE_LINEJOIN; + ATTRIBUTE_NAMES[431] = ATTR_STROKE; + ATTRIBUTE_NAMES[432] = ATTR_STROKE_WIDTH; + ATTRIBUTE_NAMES[433] = ATTR_COMPACT; + ATTRIBUTE_NAMES[434] = ATTR_CLIP_RULE; + ATTRIBUTE_NAMES[435] = ATTR_CLIPPATHUNITS; + ATTRIBUTE_NAMES[436] = ATTR_DISPLAYSTYLE; + ATTRIBUTE_NAMES[437] = ATTR_GLYPH_ORIENTATION_HORIZONTAL; + ATTRIBUTE_NAMES[438] = ATTR_HTTP_EQUIV; + ATTRIBUTE_NAMES[439] = ATTR_LOOP; + ATTRIBUTE_NAMES[440] = ATTR_SCOPED; + ATTRIBUTE_NAMES[441] = ATTR_SHAPE_RENDERING; + ATTRIBUTE_NAMES[442] = ATTR_SHAPE; + ATTRIBUTE_NAMES[443] = ATTR_STOP_COLOR; + ATTRIBUTE_NAMES[444] = ATTR_TEMPLATE; + ATTRIBUTE_NAMES[445] = ATTR_ABBR; + ATTRIBUTE_NAMES[446] = ATTR_ATTRIBUTETYPE; + ATTRIBUTE_NAMES[447] = ATTR_COORDS; + ATTRIBUTE_NAMES[448] = ATTR_CHARSET; + ATTRIBUTE_NAMES[449] = ATTR_NOHREF; + ATTRIBUTE_NAMES[450] = ATTR_ONDRAGENTER; + ATTRIBUTE_NAMES[451] = ATTR_ONDRAGEND; + ATTRIBUTE_NAMES[452] = ATTR_ONDRAGDROP; + ATTRIBUTE_NAMES[453] = ATTR_OPERATOR; + ATTRIBUTE_NAMES[454] = ATTR_ONDRAGSTART; + ATTRIBUTE_NAMES[455] = ATTR_STARTOFFSET; + ATTRIBUTE_NAMES[456] = ATTR_AS; + ATTRIBUTE_NAMES[457] = ATTR_BIAS; + ATTRIBUTE_NAMES[458] = ATTR_CLASSID; + ATTRIBUTE_NAMES[459] = ATTR_COLS; + ATTRIBUTE_NAMES[460] = ATTR_CLOSURE; + ATTRIBUTE_NAMES[461] = ATTR_CLASS; + ATTRIBUTE_NAMES[462] = ATTR_KEYSYSTEM; + ATTRIBUTE_NAMES[463] = ATTR_LOWSRC; + ATTRIBUTE_NAMES[464] = ATTR_MINSIZE; + ATTRIBUTE_NAMES[465] = ATTR_PRESERVEALPHA; + ATTRIBUTE_NAMES[466] = ATTR_ROWSPAN; + ATTRIBUTE_NAMES[467] = ATTR_ROWS; + ATTRIBUTE_NAMES[468] = ATTR_SUBSCRIPTSHIFT; + ATTRIBUTE_NAMES[469] = ATTR_ALTTEXT; + ATTRIBUTE_NAMES[470] = ATTR_CONTROLS; + ATTRIBUTE_NAMES[471] = ATTR_CONTEXTMENU; + ATTRIBUTE_NAMES[472] = ATTR_ENCTYPE; + ATTRIBUTE_NAMES[473] = ATTR_FILTER; + ATTRIBUTE_NAMES[474] = ATTR_FONT_WEIGHT; + ATTRIBUTE_NAMES[475] = ATTR_FONT_STYLE; + ATTRIBUTE_NAMES[476] = ATTR_FONT_FAMILY; + ATTRIBUTE_NAMES[477] = ATTR_FONT_SIZE_ADJUST; + ATTRIBUTE_NAMES[478] = ATTR_FONTSIZE; + ATTRIBUTE_NAMES[479] = ATTR_KEYTIMES; + ATTRIBUTE_NAMES[480] = ATTR_LIST; + ATTRIBUTE_NAMES[481] = ATTR_RT; + ATTRIBUTE_NAMES[482] = ATTR_ONSTART; + ATTRIBUTE_NAMES[483] = ATTR_PATTERNTRANSFORM; + ATTRIBUTE_NAMES[484] = ATTR_PATTERNUNITS; + ATTRIBUTE_NAMES[485] = ATTR_RESTART; + ATTRIBUTE_NAMES[486] = ATTR_SYSTEMLANGUAGE; + ATTRIBUTE_NAMES[487] = ATTR_TEXT_DECORATION; + ATTRIBUTE_NAMES[488] = ATTR_TEXTLENGTH; + ATTRIBUTE_NAMES[489] = ATTR_WRITING_MODE; + ATTRIBUTE_NAMES[490] = ATTR_ACCUMULATE; + ATTRIBUTE_NAMES[491] = ATTR_COLUMNLINES; + ATTRIBUTE_NAMES[492] = ATTR_COLUMNSPACING; + ATTRIBUTE_NAMES[493] = ATTR_GROUPALIGN; + ATTRIBUTE_NAMES[494] = ATTR_ONSUBMIT; + ATTRIBUTE_NAMES[495] = ATTR_REQUIRED; + ATTRIBUTE_NAMES[496] = ATTR_RESULT; + ATTRIBUTE_NAMES[497] = ATTR_VALUES; + ATTRIBUTE_NAMES[498] = ATTR_VALUE; + ATTRIBUTE_NAMES[499] = ATTR_VIEWTARGET; + ATTRIBUTE_NAMES[500] = ATTR_CX; } void nsHtml5AttributeName::releaseStatics() { @@ -2814,12 +2802,10 @@ void nsHtml5AttributeName::releaseStatics() { delete ATTR_LOADING; delete ATTR_READONLY; delete ATTR_RENDERING_INTENT; - delete ATTR_SHADOWROOTMODE; delete ATTR_SEED; delete ATTR_SRCDOC; delete ATTR_STDDEVIATION; delete ATTR_SANDBOX; - delete ATTR_SHADOWROOTDELEGATESFOCUS; delete ATTR_WORD_SPACING; delete ATTR_ACCENTUNDER; delete ATTR_ACCEPT_CHARSET; diff --git a/parser/html/nsHtml5AttributeName.h b/parser/html/nsHtml5AttributeName.h index 91e367ecb1a1..84091b9e3a09 100644 --- a/parser/html/nsHtml5AttributeName.h +++ b/parser/html/nsHtml5AttributeName.h @@ -281,12 +281,10 @@ class nsHtml5AttributeName { static nsHtml5AttributeName* ATTR_LOADING; static nsHtml5AttributeName* ATTR_READONLY; static nsHtml5AttributeName* ATTR_RENDERING_INTENT; - static nsHtml5AttributeName* ATTR_SHADOWROOTMODE; static nsHtml5AttributeName* ATTR_SEED; static nsHtml5AttributeName* ATTR_SRCDOC; static nsHtml5AttributeName* ATTR_STDDEVIATION; static nsHtml5AttributeName* ATTR_SANDBOX; - static nsHtml5AttributeName* ATTR_SHADOWROOTDELEGATESFOCUS; static nsHtml5AttributeName* ATTR_WORD_SPACING; static nsHtml5AttributeName* ATTR_ACCENTUNDER; static nsHtml5AttributeName* ATTR_ACCEPT_CHARSET; diff --git a/parser/html/nsHtml5Parser.cpp b/parser/html/nsHtml5Parser.cpp index 04097e56d931..d234ece64e69 100644 --- a/parser/html/nsHtml5Parser.cpp +++ b/parser/html/nsHtml5Parser.cpp @@ -678,8 +678,6 @@ void nsHtml5Parser::StartTokenizer(bool aScriptingEnabled) { mTreeBuilder->SetPreventScriptExecution(!aScriptingEnabled); mTreeBuilder->setScriptingEnabled(aScriptingEnabled); - mTreeBuilder->setAllowDeclarativeShadowRoots( - mExecutor->GetDocument()->AllowsDeclarativeShadowRoots()); mTokenizer->start(); } diff --git a/parser/html/nsHtml5StreamParser.cpp b/parser/html/nsHtml5StreamParser.cpp index a6d9a0c73915..d0334fba4cef 100644 --- a/parser/html/nsHtml5StreamParser.cpp +++ b/parser/html/nsHtml5StreamParser.cpp @@ -1125,8 +1125,6 @@ nsresult nsHtml5StreamParser::OnStartRequest(nsIRequest* aRequest) { mTreeBuilder->setScriptingEnabled(scriptingEnabled); mTreeBuilder->SetPreventScriptExecution( !((mMode == NORMAL) && scriptingEnabled)); - mTreeBuilder->setAllowDeclarativeShadowRoots( - mExecutor->GetDocument()->AllowsDeclarativeShadowRoots()); mTokenizer->start(); mExecutor->Start(); mExecutor->StartReadingFromStage(); diff --git a/parser/html/nsHtml5StringParser.cpp b/parser/html/nsHtml5StringParser.cpp index 5fe2b2e323cb..98f643abb44a 100644 --- a/parser/html/nsHtml5StringParser.cpp +++ b/parser/html/nsHtml5StringParser.cpp @@ -24,10 +24,12 @@ nsHtml5StringParser::nsHtml5StringParser() nsHtml5StringParser::~nsHtml5StringParser() {} -nsresult nsHtml5StringParser::ParseFragment( - const nsAString& aSourceBuffer, nsIContent* aTargetNode, - nsAtom* aContextLocalName, int32_t aContextNamespace, bool aQuirks, - bool aPreventScriptExecution, bool aAllowDeclarativeShadowRoots) { +nsresult nsHtml5StringParser::ParseFragment(const nsAString& aSourceBuffer, + nsIContent* aTargetNode, + nsAtom* aContextLocalName, + int32_t aContextNamespace, + bool aQuirks, + bool aPreventScriptExecution) { NS_ENSURE_TRUE(aSourceBuffer.Length() <= INT32_MAX, NS_ERROR_OUT_OF_MEMORY); Document* doc = aTargetNode->OwnerDoc(); @@ -50,7 +52,7 @@ nsresult nsHtml5StringParser::ParseFragment( mTreeBuilder->SetPreventScriptExecution(aPreventScriptExecution); - return Tokenize(aSourceBuffer, doc, true, aAllowDeclarativeShadowRoots); + return Tokenize(aSourceBuffer, doc, true); } nsresult nsHtml5StringParser::ParseDocument( @@ -65,14 +67,12 @@ nsresult nsHtml5StringParser::ParseDocument( mTreeBuilder->SetPreventScriptExecution(true); return Tokenize(aSourceBuffer, aTargetDoc, - aScriptingEnabledForNoscriptParsing, - aTargetDoc->AllowsDeclarativeShadowRoots()); + aScriptingEnabledForNoscriptParsing); } -nsresult nsHtml5StringParser::Tokenize(const nsAString& aSourceBuffer, - Document* aDocument, - bool aScriptingEnabledForNoscriptParsing, - bool aDeclarativeShadowRootsAllowed) { +nsresult nsHtml5StringParser::Tokenize( + const nsAString& aSourceBuffer, Document* aDocument, + bool aScriptingEnabledForNoscriptParsing) { nsIURI* uri = aDocument->GetDocumentURI(); mBuilder->Init(aDocument, uri, nullptr, nullptr); @@ -85,7 +85,6 @@ nsresult nsHtml5StringParser::Tokenize(const nsAString& aSourceBuffer, mTreeBuilder->setScriptingEnabled(aScriptingEnabledForNoscriptParsing); mTreeBuilder->setIsSrcdocDocument(aDocument->IsSrcdocDocument()); - mTreeBuilder->setAllowDeclarativeShadowRoots(aDeclarativeShadowRootsAllowed); mBuilder->Start(); mTokenizer->start(); if (!aSourceBuffer.IsEmpty()) { diff --git a/parser/html/nsHtml5StringParser.h b/parser/html/nsHtml5StringParser.h index 1d4140484137..098a913748a1 100644 --- a/parser/html/nsHtml5StringParser.h +++ b/parser/html/nsHtml5StringParser.h @@ -41,14 +41,11 @@ class nsHtml5StringParser : public nsParserBase { * @param aPreventScriptExecution true to prevent scripts from executing; * don't set to false when parsing into a target node that has been bound * to tree. - * @param aAllowDeclarativeShadowRoots allow the creation of declarative - * shadow roots. */ nsresult ParseFragment(const nsAString& aSourceBuffer, nsIContent* aTargetNode, nsAtom* aContextLocalName, int32_t aContextNamespace, bool aQuirks, - bool aPreventScriptExecution, - bool aAllowDeclarativeShadowRoots); + bool aPreventScriptExecution); /** * Parse an entire HTML document from a source string. @@ -64,8 +61,7 @@ class nsHtml5StringParser : public nsParserBase { nsresult Tokenize(const nsAString& aSourceBuffer, mozilla::dom::Document* aDocument, - bool aScriptingEnabledForNoscriptParsing, - bool aDeclarativeShadowRootsAllowed); + bool aScriptingEnabledForNoscriptParsing); /** * The tree operation executor diff --git a/parser/html/nsHtml5TreeBuilder.cpp b/parser/html/nsHtml5TreeBuilder.cpp index af299105011a..6551612fd93d 100644 --- a/parser/html/nsHtml5TreeBuilder.cpp +++ b/parser/html/nsHtml5TreeBuilder.cpp @@ -2093,23 +2093,6 @@ bool nsHtml5TreeBuilder::isSpecialParentInForeign(nsHtml5StackNode* stackNode) { (stackNode->getGroup() == MI_MO_MN_MS_MTEXT)); } -nsIContentHandle* nsHtml5TreeBuilder::getDeclarativeShadowRoot( - nsIContentHandle* currentNode, nsIContentHandle* templateNode, - nsHtml5HtmlAttributes* attributes) { - if (!isAllowDeclarativeShadowRoots()) { - return nullptr; - } - nsHtml5String shadowRootMode = - attributes->getValue(nsHtml5AttributeName::ATTR_SHADOWROOTMODE); - if (!shadowRootMode) { - return nullptr; - } - bool shadowRootDelegatesFocus = - attributes->contains(nsHtml5AttributeName::ATTR_SHADOWROOTDELEGATESFOCUS); - return getShadowRootFromHost(currentNode, templateNode, shadowRootMode, - shadowRootDelegatesFocus); -} - nsHtml5String nsHtml5TreeBuilder::extractCharsetFromContent( nsHtml5String attributeValue, nsHtml5TreeBuilder* tb) { int32_t charsetState = CHARSET_INITIAL; @@ -4235,18 +4218,9 @@ void nsHtml5TreeBuilder::appendToCurrentNodeAndPushElement( nsIContentHandle* elt = createElement(kNameSpaceID_XHTML, elementName->getName(), attributes, currentNode, htmlCreator(elementName->getHtmlCreator())); + appendElement(elt, currentNode); if (nsHtml5ElementName::ELT_TEMPLATE == elementName) { - nsIContentHandle* root = - getDeclarativeShadowRoot(currentNode, elt, attributes); - if (root) { - setDocumentFragmentForTemplate(elt, root); - elt = root; - } else { - appendElement(elt, currentNode); - elt = getDocumentFragmentForTemplate(elt); - } - } else { - appendElement(elt, currentNode); + elt = getDocumentFragmentForTemplate(elt); } nsHtml5StackNode* node = createStackNode(elementName, elt); push(node); @@ -4508,14 +4482,6 @@ void nsHtml5TreeBuilder::setIsSrcdocDocument(bool isSrcdocDocument) { this->setForceNoQuirks(isSrcdocDocument); } -bool nsHtml5TreeBuilder::isAllowDeclarativeShadowRoots() { - return allowDeclarativeShadowRoots; -} - -void nsHtml5TreeBuilder::setAllowDeclarativeShadowRoots(bool allow) { - allowDeclarativeShadowRoots = allow; -} - void nsHtml5TreeBuilder::flushCharacters() { if (charBufferLen > 0) { if ((mode == IN_TABLE || mode == IN_TABLE_BODY || mode == IN_ROW) && diff --git a/parser/html/nsHtml5TreeBuilder.h b/parser/html/nsHtml5TreeBuilder.h index d6c4828e7cf9..fab83f309581 100644 --- a/parser/html/nsHtml5TreeBuilder.h +++ b/parser/html/nsHtml5TreeBuilder.h @@ -314,7 +314,6 @@ class nsHtml5TreeBuilder : public nsAHtml5TreeBuilderState { private: bool quirks; bool forceNoQuirks; - bool allowDeclarativeShadowRoots; inline nsHtml5ContentCreatorFunction htmlCreator( mozilla::dom::HTMLContentCreatorFunction htmlCreator) { nsHtml5ContentCreatorFunction creator; @@ -354,9 +353,6 @@ class nsHtml5TreeBuilder : public nsAHtml5TreeBuilderState { bool isTemplateContents(); bool isTemplateModeStackEmpty(); bool isSpecialParentInForeign(nsHtml5StackNode* stackNode); - nsIContentHandle* getDeclarativeShadowRoot(nsIContentHandle* currentNode, - nsIContentHandle* templateNode, - nsHtml5HtmlAttributes* attributes); public: static nsHtml5String extractCharsetFromContent(nsHtml5String attributeValue, @@ -560,8 +556,6 @@ class nsHtml5TreeBuilder : public nsAHtml5TreeBuilderState { void setScriptingEnabled(bool scriptingEnabled); void setForceNoQuirks(bool forceNoQuirks); void setIsSrcdocDocument(bool isSrcdocDocument); - bool isAllowDeclarativeShadowRoots(); - void setAllowDeclarativeShadowRoots(bool allow); void flushCharacters(); private: diff --git a/parser/html/nsHtml5TreeBuilderCppSupplement.h b/parser/html/nsHtml5TreeBuilderCppSupplement.h index b3fd5c23b406..d84adcd8a0d7 100644 --- a/parser/html/nsHtml5TreeBuilderCppSupplement.h +++ b/parser/html/nsHtml5TreeBuilderCppSupplement.h @@ -7,12 +7,9 @@ #include "ErrorList.h" #include "nsError.h" #include "nsHtml5AttributeName.h" -#include "nsHtml5HtmlAttributes.h" #include "nsHtml5String.h" #include "nsNetUtil.h" #include "mozilla/dom/FetchPriority.h" -#include "mozilla/dom/ShadowRoot.h" -#include "mozilla/dom/ShadowRootBinding.h" #include "mozilla/CheckedInt.h" #include "mozilla/Likely.h" #include "mozilla/StaticPrefs_dom.h" @@ -1639,53 +1636,6 @@ nsIContentHandle* nsHtml5TreeBuilder::getDocumentFragmentForTemplate( return fragHandle; } -void nsHtml5TreeBuilder::setDocumentFragmentForTemplate( - nsIContentHandle* aTemplate, nsIContentHandle* aFragment) { - if (mBuilder) { - nsHtml5TreeOperation::SetDocumentFragmentForTemplate( - static_cast(aTemplate), - static_cast(aFragment)); - return; - } - - nsHtml5TreeOperation* treeOp = mOpQueue.AppendElement(mozilla::fallible); - if (MOZ_UNLIKELY(!treeOp)) { - MarkAsBrokenAndRequestSuspensionWithoutBuilder(NS_ERROR_OUT_OF_MEMORY); - return; - } - opSetDocumentFragmentForTemplate operation(aTemplate, aFragment); - treeOp->Init(mozilla::AsVariant(operation)); -} - -nsIContentHandle* nsHtml5TreeBuilder::getShadowRootFromHost( - nsIContentHandle* aHost, nsIContentHandle* aTemplateNode, - nsHtml5String aShadowRootMode, bool aShadowRootDelegatesFocus) { - ShadowRootMode mode; - if (aShadowRootMode.LowerCaseEqualsASCII("open")) { - mode = ShadowRootMode::Open; - } else if (aShadowRootMode.LowerCaseEqualsASCII("closed")) { - mode = ShadowRootMode::Closed; - } else { - return nullptr; - } - - if (mBuilder) { - return nsContentUtils::AttachDeclarativeShadowRoot( - static_cast(aHost), mode, aShadowRootDelegatesFocus); - } - - nsHtml5TreeOperation* treeOp = mOpQueue.AppendElement(mozilla::fallible); - if (MOZ_UNLIKELY(!treeOp)) { - MarkAsBrokenAndRequestSuspensionWithoutBuilder(NS_ERROR_OUT_OF_MEMORY); - return nullptr; - } - nsIContentHandle* fragHandle = AllocateContentHandle(); - opGetShadowRootFromHost operation(aHost, fragHandle, aTemplateNode, mode, - aShadowRootDelegatesFocus); - treeOp->Init(mozilla::AsVariant(operation)); - return fragHandle; -} - nsIContentHandle* nsHtml5TreeBuilder::getFormPointerForContext( nsIContentHandle* aContext) { MOZ_ASSERT(mBuilder, "Must have builder."); diff --git a/parser/html/nsHtml5TreeBuilderHSupplement.h b/parser/html/nsHtml5TreeBuilderHSupplement.h index 813654cb24bb..3fc1609e5abc 100644 --- a/parser/html/nsHtml5TreeBuilderHSupplement.h +++ b/parser/html/nsHtml5TreeBuilderHSupplement.h @@ -58,13 +58,6 @@ bool mActive; void documentMode(nsHtml5DocumentMode m); nsIContentHandle* getDocumentFragmentForTemplate(nsIContentHandle* aTemplate); -void setDocumentFragmentForTemplate(nsIContentHandle* aTemplate, - nsIContentHandle* aFragment); - -nsIContentHandle* getShadowRootFromHost(nsIContentHandle* aHost, - nsIContentHandle* aTemplateNode, - nsHtml5String aShadowRootMode, - bool aShadowRootDelegatesFocus); nsIContentHandle* getFormPointerForContext(nsIContentHandle* aContext); diff --git a/parser/html/nsHtml5TreeOperation.cpp b/parser/html/nsHtml5TreeOperation.cpp index b80b67e33d23..fb28166e4684 100644 --- a/parser/html/nsHtml5TreeOperation.cpp +++ b/parser/html/nsHtml5TreeOperation.cpp @@ -11,7 +11,6 @@ #include "mozilla/dom/Comment.h" #include "mozilla/dom/CustomElementRegistry.h" #include "mozilla/dom/DocGroup.h" -#include "mozilla/dom/DocumentFragment.h" #include "mozilla/dom/DocumentType.h" #include "mozilla/dom/Element.h" #include "mozilla/dom/LinkStyle.h" @@ -19,14 +18,12 @@ #include "mozilla/dom/HTMLImageElement.h" #include "mozilla/dom/HTMLTemplateElement.h" #include "mozilla/dom/MutationObservers.h" -#include "mozilla/dom/ShadowRoot.h" #include "mozilla/dom/Text.h" #include "nsAttrName.h" #include "nsContentCreatorFunctions.h" #include "nsContentUtils.h" #include "nsDocElementCreatedNotificationRunner.h" #include "nsEscape.h" -#include "nsGenericHTMLElement.h" #include "nsHtml5AutoPauseUpdate.h" #include "nsHtml5DocumentMode.h" #include "nsHtml5HtmlAttributes.h" @@ -138,10 +135,6 @@ nsHtml5TreeOperation::~nsHtml5TreeOperation() { void operator()(const opGetDocumentFragmentForTemplate& aOperation) {} - void operator()(const opSetDocumentFragmentForTemplate& aOperation) {} - - void operator()(const opGetShadowRootFromHost& aOperation) {} - void operator()(const opGetFosterParent& aOperation) {} void operator()(const opMarkAsBroken& aOperation) {} @@ -701,12 +694,6 @@ nsIContent* nsHtml5TreeOperation::GetDocumentFragmentForTemplate( return tempElem->Content(); } -void nsHtml5TreeOperation::SetDocumentFragmentForTemplate( - nsIContent* aNode, nsIContent* aDocumentFragment) { - auto* tempElem = static_cast(aNode); - tempElem->SetContent(static_cast(aDocumentFragment)); -} - nsIContent* nsHtml5TreeOperation::GetFosterParent(nsIContent* aTable, nsIContent* aStackParent) { nsIContent* tableParent = aTable->GetParent(); @@ -907,31 +894,6 @@ nsresult nsHtml5TreeOperation::Perform(nsHtml5TreeOpExecutor* aBuilder, return NS_OK; } - nsresult operator()(const opSetDocumentFragmentForTemplate& aOperation) { - SetDocumentFragmentForTemplate(*aOperation.mTemplate, - *aOperation.mFragment); - return NS_OK; - } - - nsresult operator()(const opGetShadowRootFromHost& aOperation) { - nsIContent* root = nsContentUtils::AttachDeclarativeShadowRoot( - *aOperation.mHost, aOperation.mShadowRootMode, - aOperation.mShadowRootDelegatesFocus); - if (root) { - *aOperation.mFragHandle = root; - return NS_OK; - } - - // We failed to attach a new shadow root, so instead attach a template - // element and return its content. - nsHtml5TreeOperation::Append(*aOperation.mTemplateNode, *aOperation.mHost, - mBuilder); - *aOperation.mFragHandle = - static_cast(*aOperation.mTemplateNode) - ->Content(); - return NS_OK; - } - nsresult operator()(const opGetFosterParent& aOperation) { nsIContent* table = *(aOperation.mTable); nsIContent* stackParent = *(aOperation.mStackParent); diff --git a/parser/html/nsHtml5TreeOperation.h b/parser/html/nsHtml5TreeOperation.h index fa6cb0245200..6fa2165f0800 100644 --- a/parser/html/nsHtml5TreeOperation.h +++ b/parser/html/nsHtml5TreeOperation.h @@ -8,7 +8,6 @@ #include "nsHtml5DocumentMode.h" #include "nsHtml5HtmlAttributes.h" #include "mozilla/dom/FromParser.h" -#include "mozilla/dom/ShadowRootBinding.h" #include "mozilla/NotNull.h" #include "mozilla/Variant.h" #include "nsCharsetSource.h" @@ -265,37 +264,6 @@ struct opGetDocumentFragmentForTemplate { } }; -struct opSetDocumentFragmentForTemplate { - nsIContent** mTemplate; - nsIContent** mFragment; - - explicit opSetDocumentFragmentForTemplate(nsIContentHandle* aTemplate, - nsIContentHandle* aFragment) { - mTemplate = static_cast(aTemplate); - mFragment = static_cast(aFragment); - } -}; - -struct opGetShadowRootFromHost { - nsIContent** mHost; - nsIContent** mFragHandle; - nsIContent** mTemplateNode; - mozilla::dom::ShadowRootMode mShadowRootMode; - bool mShadowRootDelegatesFocus; - - explicit opGetShadowRootFromHost(nsIContentHandle* aHost, - nsIContentHandle* aFragHandle, - nsIContentHandle* aTemplateNode, - mozilla::dom::ShadowRootMode aShadowRootMode, - bool aShadowRootDelegatesFocus) { - mHost = static_cast(aHost); - mFragHandle = static_cast(aFragHandle); - mTemplateNode = static_cast(aTemplateNode); - mShadowRootMode = aShadowRootMode; - mShadowRootDelegatesFocus = aShadowRootDelegatesFocus; - } -}; - struct opGetFosterParent { nsIContent** mTable; nsIContent** mStackParent; @@ -524,8 +492,7 @@ typedef mozilla::Variant< opCreateHTMLElement, opCreateSVGElement, opCreateMathMLElement, opSetFormElement, opAppendText, opFosterParentText, opAppendComment, opAppendCommentToDocument, opAppendDoctypeToDocument, - opGetDocumentFragmentForTemplate, opSetDocumentFragmentForTemplate, - opGetShadowRootFromHost, opGetFosterParent, + opGetDocumentFragmentForTemplate, opGetFosterParent, // Gecko-specific on-pop ops opMarkAsBroken, opRunScriptThatMayDocumentWriteOrBlock, opRunScriptThatCannotDocumentWriteOrBlock, opPreventScriptExecution, @@ -620,8 +587,6 @@ class nsHtml5TreeOperation final { nsHtml5DocumentBuilder* aBuilder); static nsIContent* GetDocumentFragmentForTemplate(nsIContent* aNode); - static void SetDocumentFragmentForTemplate(nsIContent* aNode, - nsIContent* aDocumentFragment); static nsIContent* GetFosterParent(nsIContent* aTable, nsIContent* aStackParent); diff --git a/testing/web-platform/meta/css/selectors/invalidation/part-pseudo.html.ini b/testing/web-platform/meta/css/selectors/invalidation/part-pseudo.html.ini new file mode 100644 index 000000000000..10f1aa0b9185 --- /dev/null +++ b/testing/web-platform/meta/css/selectors/invalidation/part-pseudo.html.ini @@ -0,0 +1,2 @@ +[part-pseudo.html] + expected: FAIL diff --git a/testing/web-platform/meta/html/dom/idlharness.https.html.ini b/testing/web-platform/meta/html/dom/idlharness.https.html.ini index bd4c8453c234..c745554dbd13 100644 --- a/testing/web-platform/meta/html/dom/idlharness.https.html.ini +++ b/testing/web-platform/meta/html/dom/idlharness.https.html.ini @@ -579,6 +579,12 @@ prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featu [PopStateEvent interface: new PopStateEvent("popstate", { data: {} }) must inherit property "hasUAVisualTransition" with the proper type] expected: FAIL + [Element interface: document.createElement("noscript") must inherit property "setHTMLUnsafe(DOMString)" with the proper type] + expected: FAIL + + [Element interface: calling setHTMLUnsafe(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError] + expected: FAIL + [CloseWatcher interface: existence and properties of interface object] expected: FAIL @@ -612,6 +618,12 @@ prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featu [CloseWatcher interface: attribute onclose] expected: FAIL + [ShadowRoot interface: operation setHTMLUnsafe(DOMString)] + expected: FAIL + + [Element interface: operation setHTMLUnsafe(DOMString)] + expected: FAIL + [idlharness.https.html?include=(Document|Window)] [Window interface: window must inherit property "originAgentCluster" with the proper type] @@ -683,9 +695,18 @@ prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featu [Window interface: attribute clientInformation] expected: FAIL + [Document interface: operation parseHTMLUnsafe(DOMString)] + expected: FAIL + [Document interface: calling parseHTMLUnsafe(DOMString) on iframe.contentDocument with too few arguments must throw TypeError] expected: FAIL + [Document interface: calling parseHTMLUnsafe(DOMString) on new Document() with too few arguments must throw TypeError] + expected: FAIL + + [Document interface: calling parseHTMLUnsafe(DOMString) on documentWithHandlers with too few arguments must throw TypeError] + expected: FAIL + [idlharness.https.html?include=HTML.*] [HTMLVideoElement interface: attribute playsInline] @@ -792,3 +813,15 @@ prefs: [dom.security.featurePolicy.experimental.enabled:true, dom.security.featu [HTMLDetailsElement interface: document.createElement("details") must inherit property "name" with the proper type] expected: FAIL + + [HTMLTemplateElement interface: attribute shadowRootMode] + expected: FAIL + + [HTMLTemplateElement interface: attribute shadowRootDelegatesFocus] + expected: FAIL + + [HTMLTemplateElement interface: document.createElement("template") must inherit property "shadowRootMode" with the proper type] + expected: FAIL + + [HTMLTemplateElement interface: document.createElement("template") must inherit property "shadowRootDelegatesFocus" with the proper type] + expected: FAIL diff --git a/testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/html-unsafe-methods/Element-setHTMLUnsafe-04.tentative.html.ini b/testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/html-unsafe-methods/Element-setHTMLUnsafe-04.tentative.html.ini index 3ad66a57166d..b2dafdd84b3e 100644 --- a/testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/html-unsafe-methods/Element-setHTMLUnsafe-04.tentative.html.ini +++ b/testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/html-unsafe-methods/Element-setHTMLUnsafe-04.tentative.html.ini @@ -1,2 +1,3 @@ [Element-setHTMLUnsafe-04.tentative.html] - prefs: [dom.webcomponents.shadowdom.declarative.enabled:true] + [setHTMLUnsafe should leave the removed children alone.] + expected: FAIL diff --git a/testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/html-unsafe-methods/setHTMLUnsafe.tentative.html.ini b/testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/html-unsafe-methods/setHTMLUnsafe.tentative.html.ini index e719b6c0efcf..8dd99e73f085 100644 --- a/testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/html-unsafe-methods/setHTMLUnsafe.tentative.html.ini +++ b/testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/html-unsafe-methods/setHTMLUnsafe.tentative.html.ini @@ -1,2 +1,15 @@ [setHTMLUnsafe.tentative.html] - prefs: [dom.webcomponents.shadowdom.declarative.enabled:true] \ No newline at end of file + [Element: setHTMLUnsafe with no shadowdom.] + expected: FAIL + + [Element: setHTMLUnsafe with shadowdom.] + expected: FAIL + + [ShadowRoot: setHTMLUnsafe with no shadowdom.] + expected: FAIL + + [ShadowRoot: setHTMLUnsafe with shadowdom.] + expected: FAIL + + [template.setHTMLUnsafe() should modify template content fragment rather than actual children.] + expected: FAIL diff --git a/testing/web-platform/meta/shadow-dom/declarative/__dir__.ini b/testing/web-platform/meta/shadow-dom/declarative/__dir__.ini deleted file mode 100644 index 03405a1db888..000000000000 --- a/testing/web-platform/meta/shadow-dom/declarative/__dir__.ini +++ /dev/null @@ -1 +0,0 @@ -prefs: [dom.webcomponents.shadowdom.declarative.enabled:true] \ No newline at end of file diff --git a/testing/web-platform/meta/shadow-dom/declarative/declarative-shadow-dom-attachment.html.ini b/testing/web-platform/meta/shadow-dom/declarative/declarative-shadow-dom-attachment.html.ini new file mode 100644 index 000000000000..4a35ff289d71 --- /dev/null +++ b/testing/web-platform/meta/shadow-dom/declarative/declarative-shadow-dom-attachment.html.ini @@ -0,0 +1,1944 @@ +[declarative-shadow-dom-attachment.html] + [Declarative Shadow DOM as a child of

, with mode=open, delegatesFocus=false. Should be safelisted.] + expected: FAIL + + [Declarative Shadow DOM as a child of