diff options
author | Gaming4JC <g4jc@hyperbola.info> | 2020-01-22 21:17:30 -0500 |
---|---|---|
committer | Gaming4JC <g4jc@hyperbola.info> | 2020-01-26 15:50:50 -0500 |
commit | 0405d843be4889da2a489eb2d573855589ab874e (patch) | |
tree | 25425320985b4e10e20ced1b57a64ad66b64ad29 | |
parent | 2077cdb41e3ef814cbbef482774d8bbec464fb1c (diff) | |
download | uxp-0405d843be4889da2a489eb2d573855589ab874e.tar.gz |
Bug 1419305 - Part 1: Use MicroTask on CustomElements correctly
Tag UXP Issue #1344
-rw-r--r-- | dom/base/CustomElementRegistry.cpp | 5 | ||||
-rw-r--r-- | dom/base/CustomElementRegistry.h | 10 |
2 files changed, 7 insertions, 8 deletions
diff --git a/dom/base/CustomElementRegistry.cpp b/dom/base/CustomElementRegistry.cpp index ab1e603660..55e2d3b305 100644 --- a/dom/base/CustomElementRegistry.cpp +++ b/dom/base/CustomElementRegistry.cpp @@ -1019,9 +1019,8 @@ CustomElementReactionsStack::Enqueue(Element* aElement, } CycleCollectedJSContext* context = CycleCollectedJSContext::Get(); - RefPtr<ProcessBackupQueueRunnable> processBackupQueueRunnable = - new ProcessBackupQueueRunnable(this); - context->DispatchToMicroTask(processBackupQueueRunnable.forget()); + RefPtr<BackupQueueMicroTask> bqmt = new BackupQueueMicroTask(this); + context->DispatchMicroTaskRunnable(bqmt.forget()); } void diff --git a/dom/base/CustomElementRegistry.h b/dom/base/CustomElementRegistry.h index 51c97fd5e2..8cea11d1f8 100644 --- a/dom/base/CustomElementRegistry.h +++ b/dom/base/CustomElementRegistry.h @@ -311,21 +311,21 @@ private: void Enqueue(Element* aElement, CustomElementReaction* aReaction); private: - class ProcessBackupQueueRunnable : public mozilla::Runnable { + class BackupQueueMicroTask final : public mozilla::MicroTaskRunnable { public: - explicit ProcessBackupQueueRunnable(CustomElementReactionsStack* aReactionStack) - : mReactionStack(aReactionStack) + explicit BackupQueueMicroTask(CustomElementReactionsStack* aReactionStack) + : MicroTaskRunnable() + , mReactionStack(aReactionStack) { MOZ_ASSERT(!mReactionStack->mIsBackupQueueProcessing, "mIsBackupQueueProcessing should be initially false"); mReactionStack->mIsBackupQueueProcessing = true; } - NS_IMETHOD Run() override + virtual void Run(AutoSlowOperation& aAso) override { mReactionStack->InvokeBackupQueue(); mReactionStack->mIsBackupQueueProcessing = false; - return NS_OK; } private: |