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/dom/htmlsourceelement.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/dom/htmlsourceelement.rs')
-rw-r--r-- | components/script/dom/htmlsourceelement.rs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/components/script/dom/htmlsourceelement.rs b/components/script/dom/htmlsourceelement.rs index 0ef9d96df2d..e50ad5c131a 100644 --- a/components/script/dom/htmlsourceelement.rs +++ b/components/script/dom/htmlsourceelement.rs @@ -19,6 +19,7 @@ use crate::dom::htmlimageelement::HTMLImageElement; use crate::dom::htmlmediaelement::HTMLMediaElement; use crate::dom::node::{BindContext, Node, UnbindContext}; use crate::dom::virtualmethods::VirtualMethods; +use crate::script_runtime::CanGc; #[dom_struct] pub struct HTMLSourceElement { @@ -54,10 +55,11 @@ impl HTMLSourceElement { fn iterate_next_html_image_element_siblings( next_siblings_iterator: impl Iterator<Item = Root<Dom<Node>>>, + _can_gc: CanGc, ) { for next_sibling in next_siblings_iterator { if let Some(html_image_element_sibling) = next_sibling.downcast::<HTMLImageElement>() { - html_image_element_sibling.update_the_image_data(); + html_image_element_sibling.update_the_image_data(CanGc::note()); } } } @@ -76,7 +78,10 @@ impl VirtualMethods for HTMLSourceElement { &local_name!("media") | &local_name!("type") => { let next_sibling_iterator = self.upcast::<Node>().following_siblings(); - HTMLSourceElement::iterate_next_html_image_element_siblings(next_sibling_iterator); + HTMLSourceElement::iterate_next_html_image_element_siblings( + next_sibling_iterator, + CanGc::note(), + ); }, _ => {}, } @@ -87,17 +92,23 @@ impl VirtualMethods for HTMLSourceElement { self.super_type().unwrap().bind_to_tree(context); let parent = self.upcast::<Node>().GetParentNode().unwrap(); if let Some(media) = parent.downcast::<HTMLMediaElement>() { - media.handle_source_child_insertion(); + media.handle_source_child_insertion(CanGc::note()); } let next_sibling_iterator = self.upcast::<Node>().following_siblings(); - HTMLSourceElement::iterate_next_html_image_element_siblings(next_sibling_iterator); + HTMLSourceElement::iterate_next_html_image_element_siblings( + next_sibling_iterator, + CanGc::note(), + ); } fn unbind_from_tree(&self, context: &UnbindContext) { self.super_type().unwrap().unbind_from_tree(context); if let Some(next_sibling) = context.next_sibling { let next_sibling_iterator = next_sibling.inclusively_following_siblings(); - HTMLSourceElement::iterate_next_html_image_element_siblings(next_sibling_iterator); + HTMLSourceElement::iterate_next_html_image_element_siblings( + next_sibling_iterator, + CanGc::note(), + ); } } } |