summaryrefslogtreecommitdiffstats
path: root/dom/base
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2020-01-04 18:59:37 -0500
committerGaming4JC <g4jc@hyperbola.info>2020-01-26 15:50:17 -0500
commit9d51b9d06a16b4725e4540a6424c71f6a1ee94c3 (patch)
tree2d34a6be09f37edf133ccbad415c7f24924b2bc9 /dom/base
parente86aac28b8f450cc99836b07a5c0ffddb59f222f (diff)
downloadUXP-9d51b9d06a16b4725e4540a6424c71f6a1ee94c3.tar
UXP-9d51b9d06a16b4725e4540a6424c71f6a1ee94c3.tar.gz
UXP-9d51b9d06a16b4725e4540a6424c71f6a1ee94c3.tar.lz
UXP-9d51b9d06a16b4725e4540a6424c71f6a1ee94c3.tar.xz
UXP-9d51b9d06a16b4725e4540a6424c71f6a1ee94c3.zip
Creating customized built-in elements without relevant definitions registered first shouldn't throw NotFoundError;
per spec change: https://github.com/w3c/webcomponents/issues/608 Tag UXP Issue #1344
Diffstat (limited to 'dom/base')
-rw-r--r--dom/base/nsDocument.cpp40
-rw-r--r--dom/base/nsDocument.h14
2 files changed, 0 insertions, 54 deletions
diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp
index fa40c41ac..a0857faf8 100644
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -5395,14 +5395,6 @@ nsDocument::CreateElement(const nsAString& aTagName,
}
const nsString* is = nullptr;
- if (aOptions.IsElementCreationOptions()) {
- // Throw NotFoundError if 'is' is not-null and definition is null
- is = CheckCustomElementName(aOptions.GetAsElementCreationOptions(),
- needsLowercase ? lcTagName : aTagName, mDefaultElementType, rv);
- if (rv.Failed()) {
- return nullptr;
- }
- }
RefPtr<Element> elem = CreateElem(
needsLowercase ? lcTagName : aTagName, nullptr, mDefaultElementType, is);
@@ -5443,14 +5435,6 @@ nsDocument::CreateElementNS(const nsAString& aNamespaceURI,
}
const nsString* is = nullptr;
- if (aOptions.IsElementCreationOptions()) {
- // Throw NotFoundError if 'is' is not-null and definition is null
- is = CheckCustomElementName(aOptions.GetAsElementCreationOptions(),
- aQualifiedName, nodeInfo->NamespaceID(), rv);
- if (rv.Failed()) {
- return nullptr;
- }
- }
nsCOMPtr<Element> element;
rv = NS_NewElement(getter_AddRefs(element), nodeInfo.forget(),
@@ -12757,30 +12741,6 @@ nsIDocument::UpdateStyleBackendType()
#endif
}
-const nsString*
-nsDocument::CheckCustomElementName(const ElementCreationOptions& aOptions,
- const nsAString& aLocalName,
- uint32_t aNamespaceID,
- ErrorResult& rv)
-{
- // only check aOptions if 'is' is passed and the webcomponents preference
- // is enabled
- if (!aOptions.mIs.WasPassed() ||
- !CustomElementRegistry::IsCustomElementEnabled()) {
- return nullptr;
- }
-
- const nsString* is = &aOptions.mIs.Value();
-
- // Throw NotFoundError if 'is' is not-null and definition is null
- if (!nsContentUtils::LookupCustomElementDefinition(this, aLocalName,
- aNamespaceID, is)) {
- rv.Throw(NS_ERROR_DOM_NOT_FOUND_ERR);
- }
-
- return is;
-}
-
Selection*
nsIDocument::GetSelection(ErrorResult& aRv)
{
diff --git a/dom/base/nsDocument.h b/dom/base/nsDocument.h
index 8ea4993f0..90e511dcb 100644
--- a/dom/base/nsDocument.h
+++ b/dom/base/nsDocument.h
@@ -1388,20 +1388,6 @@ protected:
private:
static bool CustomElementConstructor(JSContext* aCx, unsigned aArgc, JS::Value* aVp);
- /**
- * Check if the passed custom element name, aOptions.mIs, is a registered
- * custom element type or not, then return the custom element name for future
- * usage.
- *
- * If there is no existing custom element definition for this name, throw a
- * NotFoundError.
- */
- const nsString* CheckCustomElementName(
- const mozilla::dom::ElementCreationOptions& aOptions,
- const nsAString& aLocalName,
- uint32_t aNamespaceID,
- ErrorResult& rv);
-
public:
virtual already_AddRefed<mozilla::dom::CustomElementRegistry>
GetCustomElementRegistry() override;