Bug 1407937 - Move mDefinition from CustomElementReacion to CustomElementUpgradeReaction;

Tag UXP Issue #1344
This commit is contained in:
Gaming4JC 2020-01-05 18:47:29 -05:00 • committed by Roy Tam
commit eb9d4bb8df
2 changed files with 7 additions and 19 deletions

View file

@ -442,8 +442,7 @@ CustomElementRegistry::EnqueueLifecycleCallback(nsIDocument::ElementCallbackType
CustomElementReactionsStack* reactionsStack = CustomElementReactionsStack* reactionsStack =
docGroup->CustomElementReactionsStack(); docGroup->CustomElementReactionsStack();
reactionsStack->EnqueueCallbackReaction(aCustomElement, definition, reactionsStack->EnqueueCallbackReaction(aCustomElement, Move(callback));
Move(callback));
} }
void void
@ -1025,11 +1024,9 @@ CustomElementReactionsStack::EnqueueUpgradeReaction(Element* aElement,
void void
CustomElementReactionsStack::EnqueueCallbackReaction(Element* aElement, CustomElementReactionsStack::EnqueueCallbackReaction(Element* aElement,
CustomElementDefinition* aDefinition,
UniquePtr<CustomElementCallback> aCustomElementCallback) UniquePtr<CustomElementCallback> aCustomElementCallback)
{ {
Enqueue(aElement, new CustomElementCallbackReaction(aDefinition, Enqueue(aElement, new CustomElementCallbackReaction(Move(aCustomElementCallback)));
Move(aCustomElementCallback)));
} }
void void

View file

@ -212,40 +212,32 @@ private:
class CustomElementReaction class CustomElementReaction
{ {
public: public:
explicit CustomElementReaction(CustomElementDefinition* aDefinition)
: mDefinition(aDefinition)
{
}
virtual ~CustomElementReaction() = default; virtual ~CustomElementReaction() = default;
virtual void Invoke(Element* aElement, ErrorResult& aRv) = 0; virtual void Invoke(Element* aElement, ErrorResult& aRv) = 0;
virtual void Traverse(nsCycleCollectionTraversalCallback& aCb) const virtual void Traverse(nsCycleCollectionTraversalCallback& aCb) const
{ {
} }
protected:
CustomElementDefinition* mDefinition;
}; };
class CustomElementUpgradeReaction final : public CustomElementReaction class CustomElementUpgradeReaction final : public CustomElementReaction
{ {
public: public:
explicit CustomElementUpgradeReaction(CustomElementDefinition* aDefinition) explicit CustomElementUpgradeReaction(CustomElementDefinition* aDefinition)
: CustomElementReaction(aDefinition) : mDefinition(aDefinition)
{ {
} }
private: private:
virtual void Invoke(Element* aElement, ErrorResult& aRv) override; virtual void Invoke(Element* aElement, ErrorResult& aRv) override;
CustomElementDefinition* mDefinition;
}; };
class CustomElementCallbackReaction final : public CustomElementReaction class CustomElementCallbackReaction final : public CustomElementReaction
{ {
public: public:
CustomElementCallbackReaction(CustomElementDefinition* aDefinition, explicit CustomElementCallbackReaction(UniquePtr<CustomElementCallback> aCustomElementCallback)
UniquePtr<CustomElementCallback> aCustomElementCallback) : mCustomElementCallback(Move(aCustomElementCallback))
: CustomElementReaction(aDefinition)
, mCustomElementCallback(Move(aCustomElementCallback))
{ {
} }
@ -289,7 +281,6 @@ public:
* https://html.spec.whatwg.org/multipage/scripting.html#enqueue-a-custom-element-callback-reaction * https://html.spec.whatwg.org/multipage/scripting.html#enqueue-a-custom-element-callback-reaction
*/ */
void EnqueueCallbackReaction(Element* aElement, void EnqueueCallbackReaction(Element* aElement,
CustomElementDefinition* aDefinition,
UniquePtr<CustomElementCallback> aCustomElementCallback); UniquePtr<CustomElementCallback> aCustomElementCallback);
// [CEReactions] Before executing the algorithm's steps // [CEReactions] Before executing the algorithm's steps