aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlsourceelement.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/dom/htmlsourceelement.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/dom/htmlsourceelement.rs')
-rw-r--r--components/script/dom/htmlsourceelement.rs21
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(),
+ );
}
}
}