mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-24 16:17:29 +09:00
Bug 1121994 - Implement adopted callback for custom elements.
Tag UXP Issue #1344
This commit is contained in:
parent
659204631b
commit
d35ff2985e
14 changed files with 76 additions and 130 deletions
|
|
@ -47,7 +47,7 @@ CustomElementCallback::Call()
|
||||||
ni->LocalName(), ni->NamespaceID(),
|
ni->LocalName(), ni->NamespaceID(),
|
||||||
extType.IsEmpty() ? nullptr : &extType);
|
extType.IsEmpty() ? nullptr : &extType);
|
||||||
nsContentUtils::EnqueueLifecycleCallback(
|
nsContentUtils::EnqueueLifecycleCallback(
|
||||||
nsIDocument::eConnected, mThisObject, nullptr, definition);
|
nsIDocument::eConnected, mThisObject, nullptr, nullptr, definition);
|
||||||
}
|
}
|
||||||
|
|
||||||
static_cast<LifecycleCreatedCallback *>(mCallback.get())->Call(mThisObject, rv);
|
static_cast<LifecycleCreatedCallback *>(mCallback.get())->Call(mThisObject, rv);
|
||||||
|
|
@ -60,6 +60,10 @@ CustomElementCallback::Call()
|
||||||
case nsIDocument::eDisconnected:
|
case nsIDocument::eDisconnected:
|
||||||
static_cast<LifecycleDisconnectedCallback *>(mCallback.get())->Call(mThisObject, rv);
|
static_cast<LifecycleDisconnectedCallback *>(mCallback.get())->Call(mThisObject, rv);
|
||||||
break;
|
break;
|
||||||
|
case nsIDocument::eAdopted:
|
||||||
|
static_cast<LifecycleAdoptedCallback *>(mCallback.get())->Call(mThisObject,
|
||||||
|
mAdoptedCallbackArgs.mOldDocument, mAdoptedCallbackArgs.mNewDocument, rv);
|
||||||
|
break;
|
||||||
case nsIDocument::eAttributeChanged:
|
case nsIDocument::eAttributeChanged:
|
||||||
static_cast<LifecycleAttributeChangedCallback *>(mCallback.get())->Call(mThisObject,
|
static_cast<LifecycleAttributeChangedCallback *>(mCallback.get())->Call(mThisObject,
|
||||||
mArgs.name, mArgs.oldValue, mArgs.newValue, mArgs.namespaceURI, rv);
|
mArgs.name, mArgs.oldValue, mArgs.newValue, mArgs.namespaceURI, rv);
|
||||||
|
|
@ -332,7 +336,9 @@ CustomElementRegistry::SetupCustomElement(Element* aElement,
|
||||||
/* static */ UniquePtr<CustomElementCallback>
|
/* static */ UniquePtr<CustomElementCallback>
|
||||||
CustomElementRegistry::CreateCustomElementCallback(
|
CustomElementRegistry::CreateCustomElementCallback(
|
||||||
nsIDocument::ElementCallbackType aType, Element* aCustomElement,
|
nsIDocument::ElementCallbackType aType, Element* aCustomElement,
|
||||||
LifecycleCallbackArgs* aArgs, CustomElementDefinition* aDefinition)
|
LifecycleCallbackArgs* aArgs,
|
||||||
|
LifecycleAdoptedCallbackArgs* aAdoptedCallbackArgs,
|
||||||
|
CustomElementDefinition* aDefinition)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(aDefinition, "CustomElementDefinition should not be null");
|
MOZ_ASSERT(aDefinition, "CustomElementDefinition should not be null");
|
||||||
|
|
||||||
|
|
@ -360,6 +366,12 @@ CustomElementRegistry::CreateCustomElementCallback(
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case nsIDocument::eAdopted:
|
||||||
|
if (aDefinition->mCallbacks->mAdoptedCallback.WasPassed()) {
|
||||||
|
func = aDefinition->mCallbacks->mAdoptedCallback.Value();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case nsIDocument::eAttributeChanged:
|
case nsIDocument::eAttributeChanged:
|
||||||
if (aDefinition->mCallbacks->mAttributeChangedCallback.WasPassed()) {
|
if (aDefinition->mCallbacks->mAttributeChangedCallback.WasPassed()) {
|
||||||
func = aDefinition->mCallbacks->mAttributeChangedCallback.Value();
|
func = aDefinition->mCallbacks->mAttributeChangedCallback.Value();
|
||||||
|
|
@ -388,6 +400,9 @@ CustomElementRegistry::CreateCustomElementCallback(
|
||||||
callback->SetArgs(*aArgs);
|
callback->SetArgs(*aArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (aAdoptedCallbackArgs) {
|
||||||
|
callback->SetAdoptedCallbackArgs(*aAdoptedCallbackArgs);
|
||||||
|
}
|
||||||
return Move(callback);
|
return Move(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -395,6 +410,7 @@ CustomElementRegistry::CreateCustomElementCallback(
|
||||||
CustomElementRegistry::EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
CustomElementRegistry::EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
||||||
Element* aCustomElement,
|
Element* aCustomElement,
|
||||||
LifecycleCallbackArgs* aArgs,
|
LifecycleCallbackArgs* aArgs,
|
||||||
|
LifecycleAdoptedCallbackArgs* aAdoptedCallbackArgs,
|
||||||
CustomElementDefinition* aDefinition)
|
CustomElementDefinition* aDefinition)
|
||||||
{
|
{
|
||||||
CustomElementDefinition* definition = aDefinition;
|
CustomElementDefinition* definition = aDefinition;
|
||||||
|
|
@ -407,7 +423,8 @@ CustomElementRegistry::EnqueueLifecycleCallback(nsIDocument::ElementCallbackType
|
||||||
}
|
}
|
||||||
|
|
||||||
auto callback =
|
auto callback =
|
||||||
CreateCustomElementCallback(aType, aCustomElement, aArgs, definition);
|
CreateCustomElementCallback(aType, aCustomElement, aArgs,
|
||||||
|
aAdoptedCallbackArgs, definition);
|
||||||
if (!callback) {
|
if (!callback) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -926,7 +943,7 @@ CustomElementRegistry::Upgrade(Element* aElement,
|
||||||
};
|
};
|
||||||
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eAttributeChanged,
|
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eAttributeChanged,
|
||||||
aElement,
|
aElement,
|
||||||
&args, aDefinition);
|
&args, nullptr, aDefinition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -934,7 +951,7 @@ CustomElementRegistry::Upgrade(Element* aElement,
|
||||||
// Step 4.
|
// Step 4.
|
||||||
if (aElement->IsInComposedDoc()) {
|
if (aElement->IsInComposedDoc()) {
|
||||||
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eConnected, aElement,
|
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eConnected, aElement,
|
||||||
nullptr, aDefinition);
|
nullptr, nullptr, aDefinition);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 5.
|
// Step 5.
|
||||||
|
|
@ -958,7 +975,8 @@ CustomElementRegistry::Upgrade(Element* aElement,
|
||||||
|
|
||||||
// This is for old spec.
|
// This is for old spec.
|
||||||
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eCreated,
|
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eCreated,
|
||||||
aElement, nullptr, aDefinition);
|
aElement, nullptr,
|
||||||
|
nullptr, aDefinition);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
|
|
@ -1141,6 +1159,11 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(CustomElementDefinition)
|
||||||
cb.NoteXPCOMChild(callbacks->mDisconnectedCallback.Value());
|
cb.NoteXPCOMChild(callbacks->mDisconnectedCallback.Value());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (callbacks->mAdoptedCallback.WasPassed()) {
|
||||||
|
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mCallbacks->mAdoptedCallback");
|
||||||
|
cb.NoteXPCOMChild(callbacks->mAdoptedCallback.Value());
|
||||||
|
}
|
||||||
|
|
||||||
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mConstructor");
|
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mConstructor");
|
||||||
cb.NoteXPCOMChild(tmp->mConstructor);
|
cb.NoteXPCOMChild(tmp->mConstructor);
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,12 @@ struct LifecycleCallbackArgs
|
||||||
nsString namespaceURI;
|
nsString namespaceURI;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct LifecycleAdoptedCallbackArgs
|
||||||
|
{
|
||||||
|
nsCOMPtr<nsIDocument> mOldDocument;
|
||||||
|
nsCOMPtr<nsIDocument> mNewDocument;
|
||||||
|
};
|
||||||
|
|
||||||
class CustomElementCallback
|
class CustomElementCallback
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -54,6 +60,13 @@ public:
|
||||||
mArgs = aArgs;
|
mArgs = aArgs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetAdoptedCallbackArgs(LifecycleAdoptedCallbackArgs& aAdoptedCallbackArgs)
|
||||||
|
{
|
||||||
|
MOZ_ASSERT(mType == nsIDocument::eAdopted,
|
||||||
|
"Arguments are only used by adopted callback.");
|
||||||
|
mAdoptedCallbackArgs = aAdoptedCallbackArgs;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// The this value to use for invocation of the callback.
|
// The this value to use for invocation of the callback.
|
||||||
RefPtr<Element> mThisObject;
|
RefPtr<Element> mThisObject;
|
||||||
|
|
@ -63,6 +76,7 @@ private:
|
||||||
// Arguments to be passed to the callback,
|
// Arguments to be passed to the callback,
|
||||||
// used by the attribute changed callback.
|
// used by the attribute changed callback.
|
||||||
LifecycleCallbackArgs mArgs;
|
LifecycleCallbackArgs mArgs;
|
||||||
|
LifecycleAdoptedCallbackArgs mAdoptedCallbackArgs;
|
||||||
// CustomElementData that contains this callback in the
|
// CustomElementData that contains this callback in the
|
||||||
// callback queue.
|
// callback queue.
|
||||||
CustomElementData* mOwnerData;
|
CustomElementData* mOwnerData;
|
||||||
|
|
@ -365,6 +379,7 @@ public:
|
||||||
static void EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
static void EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
||||||
Element* aCustomElement,
|
Element* aCustomElement,
|
||||||
LifecycleCallbackArgs* aArgs,
|
LifecycleCallbackArgs* aArgs,
|
||||||
|
LifecycleAdoptedCallbackArgs* aAdoptedCallbackArgs,
|
||||||
CustomElementDefinition* aDefinition);
|
CustomElementDefinition* aDefinition);
|
||||||
|
|
||||||
void GetCustomPrototype(nsIAtom* aAtom,
|
void GetCustomPrototype(nsIAtom* aAtom,
|
||||||
|
|
@ -381,7 +396,9 @@ private:
|
||||||
|
|
||||||
static UniquePtr<CustomElementCallback> CreateCustomElementCallback(
|
static UniquePtr<CustomElementCallback> CreateCustomElementCallback(
|
||||||
nsIDocument::ElementCallbackType aType, Element* aCustomElement,
|
nsIDocument::ElementCallbackType aType, Element* aCustomElement,
|
||||||
LifecycleCallbackArgs* aArgs, CustomElementDefinition* aDefinition);
|
LifecycleCallbackArgs* aArgs,
|
||||||
|
LifecycleAdoptedCallbackArgs* aAdoptedCallbackArgs,
|
||||||
|
CustomElementDefinition* aDefinition);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers an unresolved custom element that is a candidate for
|
* Registers an unresolved custom element that is a candidate for
|
||||||
|
|
|
||||||
|
|
@ -2602,8 +2602,8 @@ Element::SetAttrAndNotify(int32_t aNamespaceID,
|
||||||
(ns.IsEmpty() ? NullString() : ns)
|
(ns.IsEmpty() ? NullString() : ns)
|
||||||
};
|
};
|
||||||
|
|
||||||
nsContentUtils::EnqueueLifecycleCallback(
|
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eAttributeChanged,
|
||||||
nsIDocument::eAttributeChanged, this, &args, definition);
|
this, &args, nullptr, definition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2867,8 +2867,8 @@ Element::UnsetAttr(int32_t aNameSpaceID, nsIAtom* aName,
|
||||||
(ns.IsEmpty() ? NullString() : ns)
|
(ns.IsEmpty() ? NullString() : ns)
|
||||||
};
|
};
|
||||||
|
|
||||||
nsContentUtils::EnqueueLifecycleCallback(
|
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eAttributeChanged,
|
||||||
nsIDocument::eAttributeChanged, this, &args, definition);
|
this, &args, nullptr, definition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9676,6 +9676,7 @@ nsContentUtils::EnqueueUpgradeReaction(Element* aElement,
|
||||||
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
||||||
Element* aCustomElement,
|
Element* aCustomElement,
|
||||||
LifecycleCallbackArgs* aArgs,
|
LifecycleCallbackArgs* aArgs,
|
||||||
|
LifecycleAdoptedCallbackArgs* aAdoptedCallbackArgs,
|
||||||
CustomElementDefinition* aDefinition)
|
CustomElementDefinition* aDefinition)
|
||||||
{
|
{
|
||||||
// No DocGroup means no custom element reactions stack.
|
// No DocGroup means no custom element reactions stack.
|
||||||
|
|
@ -9684,6 +9685,7 @@ nsContentUtils::EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
||||||
}
|
}
|
||||||
|
|
||||||
CustomElementRegistry::EnqueueLifecycleCallback(aType, aCustomElement, aArgs,
|
CustomElementRegistry::EnqueueLifecycleCallback(aType, aCustomElement, aArgs,
|
||||||
|
aAdoptedCallbackArgs,
|
||||||
aDefinition);
|
aDefinition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,7 @@ class EventTarget;
|
||||||
class IPCDataTransfer;
|
class IPCDataTransfer;
|
||||||
class IPCDataTransferItem;
|
class IPCDataTransferItem;
|
||||||
struct LifecycleCallbackArgs;
|
struct LifecycleCallbackArgs;
|
||||||
|
struct LifecycleAdoptedCallbackArgs;
|
||||||
class NodeInfo;
|
class NodeInfo;
|
||||||
class nsIContentChild;
|
class nsIContentChild;
|
||||||
class nsIContentParent;
|
class nsIContentParent;
|
||||||
|
|
@ -2734,6 +2735,7 @@ public:
|
||||||
static void EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
static void EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType,
|
||||||
Element* aCustomElement,
|
Element* aCustomElement,
|
||||||
mozilla::dom::LifecycleCallbackArgs* aArgs = nullptr,
|
mozilla::dom::LifecycleCallbackArgs* aArgs = nullptr,
|
||||||
|
mozilla::dom::LifecycleAdoptedCallbackArgs* aAdoptedCallbackArgs = nullptr,
|
||||||
mozilla::dom::CustomElementDefinition* aDefinition = nullptr);
|
mozilla::dom::CustomElementDefinition* aDefinition = nullptr);
|
||||||
|
|
||||||
static void GetCustomPrototype(nsIDocument* aDoc,
|
static void GetCustomPrototype(nsIDocument* aDoc,
|
||||||
|
|
|
||||||
|
|
@ -2582,6 +2582,7 @@ public:
|
||||||
eCreated,
|
eCreated,
|
||||||
eConnected,
|
eConnected,
|
||||||
eDisconnected,
|
eDisconnected,
|
||||||
|
eAdopted,
|
||||||
eAttributeChanged
|
eAttributeChanged
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -526,6 +526,23 @@ nsNodeUtils::CloneAndAdopt(nsINode *aNode, bool aClone, bool aDeep,
|
||||||
|
|
||||||
nsIDocument* newDoc = aNode->OwnerDoc();
|
nsIDocument* newDoc = aNode->OwnerDoc();
|
||||||
if (newDoc) {
|
if (newDoc) {
|
||||||
|
if (CustomElementRegistry::IsCustomElementEnabled()) {
|
||||||
|
// Adopted callback must be enqueued whenever a node’s
|
||||||
|
// shadow-including inclusive descendants that is custom.
|
||||||
|
Element* element = aNode->IsElement() ? aNode->AsElement() : nullptr;
|
||||||
|
if (element) {
|
||||||
|
RefPtr<CustomElementData> data = element->GetCustomElementData();
|
||||||
|
if (data && data->mState == CustomElementData::State::eCustom) {
|
||||||
|
LifecycleAdoptedCallbackArgs args = {
|
||||||
|
oldDoc,
|
||||||
|
newDoc
|
||||||
|
};
|
||||||
|
nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eAdopted,
|
||||||
|
element, nullptr, &args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// XXX what if oldDoc is null, we don't know if this should be
|
// XXX what if oldDoc is null, we don't know if this should be
|
||||||
// registered or not! Can that really happen?
|
// registered or not! Can that really happen?
|
||||||
if (wasRegistered) {
|
if (wasRegistered) {
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@
|
||||||
callback LifecycleCreatedCallback = void();
|
callback LifecycleCreatedCallback = void();
|
||||||
callback LifecycleConnectedCallback = void();
|
callback LifecycleConnectedCallback = void();
|
||||||
callback LifecycleDisconnectedCallback = void();
|
callback LifecycleDisconnectedCallback = void();
|
||||||
|
callback LifecycleAdoptedCallback = void(Document? oldDocument,
|
||||||
|
Document? newDocment);
|
||||||
callback LifecycleAttributeChangedCallback = void(DOMString attrName,
|
callback LifecycleAttributeChangedCallback = void(DOMString attrName,
|
||||||
DOMString? oldValue,
|
DOMString? oldValue,
|
||||||
DOMString? newValue,
|
DOMString? newValue,
|
||||||
|
|
@ -22,6 +24,7 @@ dictionary LifecycleCallbacks {
|
||||||
LifecycleCreatedCallback? createdCallback;
|
LifecycleCreatedCallback? createdCallback;
|
||||||
LifecycleConnectedCallback? connectedCallback;
|
LifecycleConnectedCallback? connectedCallback;
|
||||||
LifecycleDisconnectedCallback? disconnectedCallback;
|
LifecycleDisconnectedCallback? disconnectedCallback;
|
||||||
|
LifecycleAdoptedCallback? adoptedCallback;
|
||||||
LifecycleAttributeChangedCallback? attributeChangedCallback;
|
LifecycleAttributeChangedCallback? attributeChangedCallback;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,5 @@
|
||||||
[adopted-callback.html]
|
[adopted-callback.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
[Inserting a custom element into the document of the template elements must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving a custom element from the owner document into the document of the template elements must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting an ancestor of custom element into the document of the template elements must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving an ancestor of custom element from the owner document into the document of the template elements must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
@ -24,18 +12,6 @@
|
||||||
[Inserting a custom element into a detached shadow tree that belongs to the document of the template elements must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a detached shadow tree that belongs to the document of the template elements must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Inserting a custom element into a new document must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving a custom element from the owner document into a new document must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting an ancestor of custom element into a new document must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving an ancestor of custom element from the owner document into a new document must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting a custom element into a shadow tree in a new document must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a shadow tree in a new document must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
@ -48,18 +24,6 @@
|
||||||
[Inserting a custom element into a detached shadow tree that belongs to a new document must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a detached shadow tree that belongs to a new document must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Inserting a custom element into a cloned document must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving a custom element from the owner document into a cloned document must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting an ancestor of custom element into a cloned document must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving an ancestor of custom element from the owner document into a cloned document must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting a custom element into a shadow tree in a cloned document must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a shadow tree in a cloned document must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
@ -72,18 +36,6 @@
|
||||||
[Inserting a custom element into a detached shadow tree that belongs to a cloned document must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a detached shadow tree that belongs to a cloned document must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Inserting a custom element into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving a custom element from the owner document into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting an ancestor of custom element into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving an ancestor of custom element from the owner document into a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting a custom element into a shadow tree in a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a shadow tree in a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
@ -96,18 +48,6 @@
|
||||||
[Inserting a custom element into a detached shadow tree that belongs to a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a detached shadow tree that belongs to a document created by createHTMLDocument must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Inserting a custom element into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving a custom element from the owner document into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting an ancestor of custom element into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving an ancestor of custom element from the owner document into an HTML document created by createDocument must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting a custom element into a shadow tree in an HTML document created by createDocument must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a shadow tree in an HTML document created by createDocument must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
@ -120,18 +60,6 @@
|
||||||
[Inserting a custom element into a detached shadow tree that belongs to an HTML document created by createDocument must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a detached shadow tree that belongs to an HTML document created by createDocument must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Inserting a custom element into the document of an iframe must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving a custom element from the owner document into the document of an iframe must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting an ancestor of custom element into the document of an iframe must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving an ancestor of custom element from the owner document into the document of an iframe must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting a custom element into a shadow tree in the document of an iframe must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a shadow tree in the document of an iframe must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
@ -144,18 +72,6 @@
|
||||||
[Inserting a custom element into a detached shadow tree that belongs to the document of an iframe must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a detached shadow tree that belongs to the document of an iframe must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Inserting a custom element into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving a custom element from the owner document into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting an ancestor of custom element into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Moving an ancestor of custom element from the owner document into an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Inserting a custom element into a shadow tree in an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
|
[Inserting a custom element into a shadow tree in an HTML document fetched by XHR must enqueue and invoke adoptedCallback]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
[ChildNode.html]
|
|
||||||
type: testharness
|
|
||||||
[before on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[after on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[replaceWith on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
@ -2,7 +2,3 @@
|
||||||
type: testharness
|
type: testharness
|
||||||
[importNode on Document must construct a new custom element when importing a custom element]
|
[importNode on Document must construct a new custom element when importing a custom element]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[adoptNode on Document must enqueue an adopted reaction when importing a custom element]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,3 @@
|
||||||
|
|
||||||
[cloneNode on Node must enqueue an attributeChanged reaction when cloning an element only for observed attributes]
|
[cloneNode on Node must enqueue an attributeChanged reaction when cloning an element only for observed attributes]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[insertBefore on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[appendChild on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[replaceChild on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
[ParentNode.html]
|
|
||||||
type: testharness
|
|
||||||
[prepend on ParentNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[append on ParentNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
@ -8,7 +8,3 @@
|
||||||
|
|
||||||
[cloneContents on Range must enqueue an attributeChanged reaction when cloning an element only for observed attributes]
|
[cloneContents on Range must enqueue an attributeChanged reaction when cloning an element only for observed attributes]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[insertNode on Range must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue