diff options
author | Andriy Sultanov <53952748+last-genius@users.noreply.github.com> | 2024-09-09 23:38:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-09 22:38:01 +0000 |
commit | e5150dbda1f89ff07294dbd1ca4e8f4f08cf4874 (patch) | |
tree | e77fae25f33905e1c8c626cf532e7222f521335c /components/script/microtask.rs | |
parent | 10e5bb72d9e16655b625b8971e346ff479b17fd2 (diff) | |
download | servo-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.rs | 11 |
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(); |