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/html.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/html.rs')
-rw-r--r-- | components/script/dom/servoparser/html.rs | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/components/script/dom/servoparser/html.rs b/components/script/dom/servoparser/html.rs index 1a25d71058b..5a06008ff4b 100644 --- a/components/script/dom/servoparser/html.rs +++ b/components/script/dom/servoparser/html.rs @@ -12,14 +12,13 @@ use html5ever::buffer_queue::BufferQueue; use html5ever::serialize::TraversalScope::IncludeNode; use html5ever::serialize::{AttrRef, Serialize, Serializer, TraversalScope}; use html5ever::tokenizer::{Tokenizer as HtmlTokenizer, TokenizerOpts, TokenizerResult}; -use html5ever::tree_builder::{Tracer as HtmlTracer, TreeBuilder, TreeBuilderOpts}; -use js::jsapi::JSTracer; +use html5ever::tree_builder::{TreeBuilder, TreeBuilderOpts}; +use script_bindings::trace::CustomTraceable; use servo_url::ServoUrl; use crate::dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods; use crate::dom::bindings::inheritance::{Castable, CharacterDataTypeId, NodeTypeId}; use crate::dom::bindings::root::{Dom, DomRoot}; -use crate::dom::bindings::trace::{CustomTraceable, JSTraceable}; use crate::dom::characterdata::CharacterData; use crate::dom::document::Document; use crate::dom::documentfragment::DocumentFragment; @@ -103,28 +102,6 @@ impl Tokenizer { } } -#[allow(unsafe_code)] -unsafe impl CustomTraceable for HtmlTokenizer<TreeBuilder<Dom<Node>, Sink>> { - unsafe fn trace(&self, trc: *mut JSTracer) { - struct Tracer(*mut JSTracer); - let tracer = Tracer(trc); - - impl HtmlTracer 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); - } -} - fn start_element<S: Serializer>(node: &Element, serializer: &mut S) -> io::Result<()> { let name = QualName::new(None, node.namespace().clone(), node.local_name().clone()); let attrs = node |