aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/microtask.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/microtask.rs')
-rw-r--r--components/script/microtask.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/components/script/microtask.rs b/components/script/microtask.rs
index 820afcc5f97..086fa99cd50 100644
--- a/components/script/microtask.rs
+++ b/components/script/microtask.rs
@@ -23,7 +23,7 @@ use crate::dom::htmlimageelement::ImageElementMicrotask;
use crate::dom::htmlmediaelement::MediaElementMicrotask;
use crate::dom::mutationobserver::MutationObserver;
use crate::realms::enter_realm;
-use crate::script_runtime::{notify_about_rejected_promises, JSContext};
+use crate::script_runtime::{notify_about_rejected_promises, CanGc, JSContext};
use crate::script_thread::ScriptThread;
/// A collection of microtasks in FIFO order.
@@ -46,7 +46,7 @@ pub enum Microtask {
}
pub trait MicrotaskRunnable {
- fn handler(&self) {}
+ fn handler(&self, _can_gc: CanGc) {}
fn enter_realm(&self) -> JSAutoRealm;
}
@@ -87,6 +87,7 @@ impl MicrotaskQueue {
cx: JSContext,
target_provider: F,
globalscopes: Vec<DomRoot<GlobalScope>>,
+ _can_gc: CanGc,
) where
F: Fn(PipelineId) -> Option<DomRoot<GlobalScope>>,
{
@@ -127,14 +128,14 @@ impl MicrotaskQueue {
},
Microtask::MediaElement(ref task) => {
let _realm = task.enter_realm();
- task.handler();
+ task.handler(CanGc::note());
},
Microtask::ImageElement(ref task) => {
let _realm = task.enter_realm();
- task.handler();
+ task.handler(CanGc::note());
},
Microtask::CustomElementReaction => {
- ScriptThread::invoke_backup_element_queue();
+ ScriptThread::invoke_backup_element_queue(CanGc::note());
},
Microtask::NotifyMutationObservers => {
MutationObserver::notify_mutation_observers();