diff options
Diffstat (limited to 'dom/base/CustomElementRegistry.h')
-rw-r--r-- | dom/base/CustomElementRegistry.h | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/dom/base/CustomElementRegistry.h b/dom/base/CustomElementRegistry.h index 6184c0ac3..cb7bd67a5 100644 --- a/dom/base/CustomElementRegistry.h +++ b/dom/base/CustomElementRegistry.h @@ -25,6 +25,7 @@ struct CustomElementData; struct ElementDefinitionOptions; struct LifecycleCallbacks; class CallbackFunction; +class CustomElementReaction; class Function; class Promise; @@ -102,6 +103,13 @@ struct CustomElementData int32_t mAssociatedMicroTask; // Custom element state as described in the custom element spec. State mState; + // custom element reaction queue as described in the custom element spec. + // There is 1 reaction in reaction queue, when 1) it becomes disconnected, + // 2) it’s adopted into a new document, 3) its attributes are changed, + // appended, removed, or replaced. + // There are 3 reactions in reaction queue when doing upgrade operation, + // e.g., create an element, insert a node. + AutoTArray<nsAutoPtr<CustomElementReaction>, 3> mReactionQueue; // Empties the callback queue. void RunCallbackQueue(); @@ -190,7 +198,7 @@ public: } // nsWeakPtr is a weak pointer of Element - // The element reaction queues are stored in ElementReactionQueueMap. + // The element reaction queues are stored in CustomElementData. // We need to lookup ElementReactionQueueMap again to get relevant reaction queue. // The choice of 1 for the auto size here is based on gut feeling. typedef AutoTArray<nsWeakPtr, 1> ElementQueue; @@ -215,17 +223,6 @@ public: private: ~CustomElementReactionsStack() {}; - // There is 1 reaction in reaction queue, when 1) it becomes disconnected, - // 2) it’s adopted into a new document, 3) its attributes are changed, - // appended, removed, or replaced. - // There are 3 reactions in reaction queue when doing upgrade operation, - // e.g., create an element, insert a node. - typedef AutoTArray<nsAutoPtr<CustomElementReaction>, 3> ReactionQueue; - typedef nsClassHashtable<nsISupportsHashKey, ReactionQueue> - ElementReactionQueueMap; - - ElementReactionQueueMap mElementReactionQueueMap; - // The choice of 8 for the auto size here is based on gut feeling. AutoTArray<ElementQueue, 8> mReactionsStack; ElementQueue mBackupQueue; |