aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2025-04-04 20:55:05 +0200
committerGitHub <noreply@github.com>2025-04-04 18:55:05 +0000
commitc09c31ef85f6347653c5838cecb3c546d76d0a22 (patch)
treeb4377364ef439655a7cd6807465b04e679476231 /components
parent54bf13de43f2f2ac55dc8d1da351e6d0ee7caa68 (diff)
downloadservo-c09c31ef85f6347653c5838cecb3c546d76d0a22.tar.gz
servo-c09c31ef85f6347653c5838cecb3c546d76d0a22.zip
script: Remove code dealing with `CompositorUntrustedNode` (#36343)
There used to be two kinds of untrusted nodes, but these have been unified, so the duplicate methods dealing with them in `script` can be removed. Testing: This is covered by existing tests as it shouldn't change any behavior. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components')
-rw-r--r--components/script/dom/document.rs8
-rw-r--r--components/script/dom/node.rs33
2 files changed, 5 insertions, 36 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 167b397a4c6..ba4befe6fc3 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -1309,7 +1309,7 @@ impl Document {
event.action, hit_test_result.point_in_viewport
);
- let node = unsafe { node::from_untrusted_compositor_node_address(hit_test_result.node) };
+ let node = unsafe { node::from_untrusted_node_address(hit_test_result.node) };
let Some(el) = node
.inclusive_ancestors(ShadowIncluding::Yes)
.filter_map(DomRoot::downcast::<Element>)
@@ -1774,7 +1774,7 @@ impl Document {
return;
};
- let node = unsafe { node::from_untrusted_compositor_node_address(hit_test_result.node) };
+ let node = unsafe { node::from_untrusted_node_address(hit_test_result.node) };
let Some(new_target) = node
.inclusive_ancestors(ShadowIncluding::No)
.filter_map(DomRoot::downcast::<Element>)
@@ -1952,7 +1952,7 @@ impl Document {
return;
};
- let node = unsafe { node::from_untrusted_compositor_node_address(hit_test_result.node) };
+ let node = unsafe { node::from_untrusted_node_address(hit_test_result.node) };
let Some(el) = node
.inclusive_ancestors(ShadowIncluding::No)
.filter_map(DomRoot::downcast::<Element>)
@@ -2012,7 +2012,7 @@ impl Document {
TouchEventType::Cancel => "touchcancel",
};
- let node = unsafe { node::from_untrusted_compositor_node_address(hit_test_result.node) };
+ let node = unsafe { node::from_untrusted_node_address(hit_test_result.node) };
let Some(el) = node
.inclusive_ancestors(ShadowIncluding::No)
.filter_map(DomRoot::downcast::<Element>)
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index 94e3d94b540..0caac6be09e 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -16,9 +16,7 @@ use std::{cmp, fmt, iter};
use app_units::Au;
use base::id::{BrowsingContextId, PipelineId};
use bitflags::bitflags;
-use constellation_traits::{
- UntrustedNodeAddress, UntrustedNodeAddress as CompositorUntrustedNodeAddress,
-};
+use constellation_traits::UntrustedNodeAddress;
use devtools_traits::NodeInfo;
use dom_struct::dom_struct;
use euclid::default::{Rect, Size2D, Vector2D};
@@ -1513,15 +1511,6 @@ pub(crate) unsafe fn from_untrusted_node_address(candidate: UntrustedNodeAddress
DomRoot::from_ref(Node::from_untrusted_node_address(candidate))
}
-/// If the given untrusted node address represents a valid DOM node in the given runtime,
-/// returns it.
-#[allow(unsafe_code)]
-pub(crate) unsafe fn from_untrusted_compositor_node_address(
- candidate: CompositorUntrustedNodeAddress,
-) -> DomRoot<Node> {
- DomRoot::from_ref(Node::from_untrusted_compositor_node_address(candidate))
-}
-
#[allow(unsafe_code)]
pub(crate) trait LayoutNodeHelpers<'dom> {
fn type_id_for_layout(self) -> NodeTypeId;
@@ -2870,26 +2859,6 @@ impl Node {
&*(conversions::private_from_object(object) as *const Self)
}
- /// If the given untrusted node address represents a valid DOM node in the given runtime,
- /// returns it.
- ///
- /// # Safety
- ///
- /// Callers should ensure they pass a [`CompositorUntrustedNodeAddress`] that points
- /// to a valid [`JSObject`] in memory that represents a [`Node`].
- #[allow(unsafe_code)]
- pub(crate) unsafe fn from_untrusted_compositor_node_address(
- candidate: CompositorUntrustedNodeAddress,
- ) -> &'static Self {
- // https://github.com/servo/servo/issues/6383
- let candidate = candidate.0 as usize;
- let object = candidate as *mut JSObject;
- if object.is_null() {
- panic!("Attempted to create a `Node` from an invalid pointer!")
- }
- &*(conversions::private_from_object(object) as *const Self)
- }
-
pub(crate) fn html_serialize(
&self,
traversal_scope: html_serialize::TraversalScope,