summaryrefslogtreecommitdiff
path: root/dom
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2020-01-22 21:17:30 -0500
committerGaming4JC <g4jc@hyperbola.info>2020-01-26 15:50:50 -0500
commit0405d843be4889da2a489eb2d573855589ab874e (patch)
tree25425320985b4e10e20ced1b57a64ad66b64ad29 /dom
parent2077cdb41e3ef814cbbef482774d8bbec464fb1c (diff)
downloaduxp-0405d843be4889da2a489eb2d573855589ab874e.tar.gz
Bug 1419305 - Part 1: Use MicroTask on CustomElements correctly
Tag UXP Issue #1344
Diffstat (limited to 'dom')
-rw-r--r--dom/base/CustomElementRegistry.cpp5
-rw-r--r--dom/base/CustomElementRegistry.h10
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: