aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/microtask.rs
diff options
context:
space:
mode:
authorAndriy Sultanov <53952748+last-genius@users.noreply.github.com>2024-09-09 23:38:01 +0100
committerGitHub <noreply@github.com>2024-09-09 22:38:01 +0000
commite5150dbda1f89ff07294dbd1ca4e8f4f08cf4874 (patch)
treee77fae25f33905e1c8c626cf532e7222f521335c /components/script/microtask.rs
parent10e5bb72d9e16655b625b8971e346ff479b17fd2 (diff)
downloadservo-e5150dbda1f89ff07294dbd1ca4e8f4f08cf4874.tar.gz
servo-e5150dbda1f89ff07294dbd1ca4e8f4f08cf4874.zip
Propagate `CanGc` from `Document::new()` (#33386)
* Add canGc as a parameter to autogenerated trait methods Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com> * Propagate CanGc from Document::new() Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com> --------- Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com>
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();