aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/servoparser/html.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2025-03-16 10:08:22 -0400
committerGitHub <noreply@github.com>2025-03-16 14:08:22 +0000
commitc8d878795966f0b685385e6961e0d69df4268734 (patch)
tree3560dee84d5ed70506b1de90910d361868b868dd /components/script/dom/servoparser/html.rs
parentd35da38a2fd6f093967e74f704612391b4988e69 (diff)
downloadservo-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.rs27
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