diff options
author | Josh Matthews <josh@joshmatthews.net> | 2025-03-16 10:08:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-16 14:08:22 +0000 |
commit | c8d878795966f0b685385e6961e0d69df4268734 (patch) | |
tree | 3560dee84d5ed70506b1de90910d361868b868dd /components/script/dom/servoparser/xml.rs | |
parent | d35da38a2fd6f093967e74f704612391b4988e69 (diff) | |
download | servo-c8d878795966f0b685385e6961e0d69df4268734.tar.gz servo-c8d878795966f0b685385e6961e0d69df4268734.zip |
Move CustomTraceable to script_bindings. (#35988)
* script: Move CustomTraceable to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Move record binding support to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Address clippy warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Diffstat (limited to 'components/script/dom/servoparser/xml.rs')
-rw-r--r-- | components/script/dom/servoparser/xml.rs | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/components/script/dom/servoparser/xml.rs b/components/script/dom/servoparser/xml.rs index 35c86d2ba4b..218fdfaece5 100644 --- a/components/script/dom/servoparser/xml.rs +++ b/components/script/dom/servoparser/xml.rs @@ -7,14 +7,13 @@ use std::cell::Cell; use html5ever::tokenizer::TokenizerResult; -use js::jsapi::JSTracer; +use script_bindings::trace::CustomTraceable; use servo_url::ServoUrl; use xml5ever::buffer_queue::BufferQueue; use xml5ever::tokenizer::XmlTokenizer; -use xml5ever::tree_builder::{Tracer as XmlTracer, XmlTreeBuilder}; +use xml5ever::tree_builder::XmlTreeBuilder; use crate::dom::bindings::root::{Dom, DomRoot}; -use crate::dom::bindings::trace::{CustomTraceable, JSTraceable}; use crate::dom::document::Document; use crate::dom::htmlscriptelement::HTMLScriptElement; use crate::dom::node::Node; @@ -59,25 +58,3 @@ impl Tokenizer { &self.inner.sink.sink.base_url } } - -#[allow(unsafe_code)] -unsafe impl CustomTraceable for XmlTokenizer<XmlTreeBuilder<Dom<Node>, Sink>> { - unsafe fn trace(&self, trc: *mut JSTracer) { - struct Tracer(*mut JSTracer); - let tracer = Tracer(trc); - - impl XmlTracer for Tracer { - type Handle = Dom<Node>; - #[cfg_attr(crown, allow(crown::unrooted_must_root))] - fn trace_handle(&self, node: &Dom<Node>) { - unsafe { - node.trace(self.0); - } - } - } - - let tree_builder = &self.sink; - tree_builder.trace_handles(&tracer); - tree_builder.sink.trace(trc); - } -} |