From 3d4c4100912132141881f40e90ddbd3aba8b0737 Mon Sep 17 00:00:00 2001 From: Gaming4JC Date: Sun, 5 Jan 2020 15:59:26 -0500 Subject: Bug 1334043 - Part 2: Make nsContentUtils::EnqueueLifecycleCallback static. We make nsContentUtils::EnqueueLifecycleCallback static so that it can be called without a window object. To achive this, we also make CustomElementReaction not taking a CustomElementRegistry in the constructor, as it can call Upgrade statically. Tag UXP Issue #1344 --- dom/base/CustomElementRegistry.h | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) (limited to 'dom/base/CustomElementRegistry.h') diff --git a/dom/base/CustomElementRegistry.h b/dom/base/CustomElementRegistry.h index 89e754365..f73a8707e 100644 --- a/dom/base/CustomElementRegistry.h +++ b/dom/base/CustomElementRegistry.h @@ -198,10 +198,8 @@ private: class CustomElementReaction { public: - explicit CustomElementReaction(CustomElementRegistry* aRegistry, - CustomElementDefinition* aDefinition) - : mRegistry(aRegistry) - , mDefinition(aDefinition) + explicit CustomElementReaction(CustomElementDefinition* aDefinition) + : mDefinition(aDefinition) { } @@ -212,16 +210,14 @@ public: } protected: - CustomElementRegistry* mRegistry; CustomElementDefinition* mDefinition; }; class CustomElementUpgradeReaction final : public CustomElementReaction { public: - explicit CustomElementUpgradeReaction(CustomElementRegistry* aRegistry, - CustomElementDefinition* aDefinition) - : CustomElementReaction(aRegistry, aDefinition) + explicit CustomElementUpgradeReaction(CustomElementDefinition* aDefinition) + : CustomElementReaction(aDefinition) { } @@ -232,10 +228,9 @@ private: class CustomElementCallbackReaction final : public CustomElementReaction { public: - CustomElementCallbackReaction(CustomElementRegistry* aRegistry, - CustomElementDefinition* aDefinition, + CustomElementCallbackReaction(CustomElementDefinition* aDefinition, UniquePtr aCustomElementCallback) - : CustomElementReaction(aRegistry, aDefinition) + : CustomElementReaction(aDefinition) , mCustomElementCallback(Move(aCustomElementCallback)) { } @@ -271,16 +266,14 @@ public: * Enqueue a custom element upgrade reaction * https://html.spec.whatwg.org/multipage/scripting.html#enqueue-a-custom-element-upgrade-reaction */ - void EnqueueUpgradeReaction(CustomElementRegistry* aRegistry, - Element* aElement, + void EnqueueUpgradeReaction(Element* aElement, CustomElementDefinition* aDefinition); /** * Enqueue a custom element callback reaction * https://html.spec.whatwg.org/multipage/scripting.html#enqueue-a-custom-element-callback-reaction */ - void EnqueueCallbackReaction(CustomElementRegistry* aRegistry, - Element* aElement, + void EnqueueCallbackReaction(Element* aElement, CustomElementDefinition* aDefinition, UniquePtr aCustomElementCallback); @@ -368,10 +361,10 @@ public: */ void SetupCustomElement(Element* aElement, const nsAString* aTypeExtension); - void EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType, - Element* aCustomElement, - LifecycleCallbackArgs* aArgs, - CustomElementDefinition* aDefinition); + static void EnqueueLifecycleCallback(nsIDocument::ElementCallbackType aType, + Element* aCustomElement, + LifecycleCallbackArgs* aArgs, + CustomElementDefinition* aDefinition); void GetCustomPrototype(nsIAtom* aAtom, JS::MutableHandle aPrototype); @@ -385,7 +378,7 @@ public: private: ~CustomElementRegistry(); - UniquePtr CreateCustomElementCallback( + static UniquePtr CreateCustomElementCallback( nsIDocument::ElementCallbackType aType, Element* aCustomElement, LifecycleCallbackArgs* aArgs, CustomElementDefinition* aDefinition); -- cgit v1.2.3