From e86aac28b8f450cc99836b07a5c0ffddb59f222f Mon Sep 17 00:00:00 2001 From: Gaming4JC Date: Sat, 4 Jan 2020 13:24:58 -0500 Subject: Bug 1359346 - Implement custom element state; https://dom.spec.whatwg.org/#concept-element-custom-element-state Tag UXP Issue #1344 --- dom/base/CustomElementRegistry.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'dom/base/CustomElementRegistry.h') diff --git a/dom/base/CustomElementRegistry.h b/dom/base/CustomElementRegistry.h index 24d501d73..6184c0ac3 100644 --- a/dom/base/CustomElementRegistry.h +++ b/dom/base/CustomElementRegistry.h @@ -71,7 +71,18 @@ struct CustomElementData { NS_INLINE_DECL_REFCOUNTING(CustomElementData) + // https://dom.spec.whatwg.org/#concept-element-custom-element-state + // CustomElementData is only created on the element which is a custom element + // or an upgrade candidate, so the state of an element without + // CustomElementData is "uncustomized". + enum class State { + eUndefined, + eFailed, + eCustom + }; + explicit CustomElementData(nsIAtom* aType); + CustomElementData(nsIAtom* aType, State aState); // Objects in this array are transient and empty after each microtask // checkpoint. nsTArray> mCallbackQueue; @@ -89,6 +100,8 @@ struct CustomElementData // it is used to determine if a new queue needs to be pushed onto the // processing stack. int32_t mAssociatedMicroTask; + // Custom element state as described in the custom element spec. + State mState; // Empties the callback queue. void RunCallbackQueue(); -- cgit v1.2.3