mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
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>
This commit is contained in:
parent
54bf13de43
commit
c09c31ef85
2 changed files with 5 additions and 36 deletions
|
@ -1309,7 +1309,7 @@ impl Document {
|
||||||
event.action, hit_test_result.point_in_viewport
|
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
|
let Some(el) = node
|
||||||
.inclusive_ancestors(ShadowIncluding::Yes)
|
.inclusive_ancestors(ShadowIncluding::Yes)
|
||||||
.filter_map(DomRoot::downcast::<Element>)
|
.filter_map(DomRoot::downcast::<Element>)
|
||||||
|
@ -1774,7 +1774,7 @@ impl Document {
|
||||||
return;
|
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
|
let Some(new_target) = node
|
||||||
.inclusive_ancestors(ShadowIncluding::No)
|
.inclusive_ancestors(ShadowIncluding::No)
|
||||||
.filter_map(DomRoot::downcast::<Element>)
|
.filter_map(DomRoot::downcast::<Element>)
|
||||||
|
@ -1952,7 +1952,7 @@ impl Document {
|
||||||
return;
|
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
|
let Some(el) = node
|
||||||
.inclusive_ancestors(ShadowIncluding::No)
|
.inclusive_ancestors(ShadowIncluding::No)
|
||||||
.filter_map(DomRoot::downcast::<Element>)
|
.filter_map(DomRoot::downcast::<Element>)
|
||||||
|
@ -2012,7 +2012,7 @@ impl Document {
|
||||||
TouchEventType::Cancel => "touchcancel",
|
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
|
let Some(el) = node
|
||||||
.inclusive_ancestors(ShadowIncluding::No)
|
.inclusive_ancestors(ShadowIncluding::No)
|
||||||
.filter_map(DomRoot::downcast::<Element>)
|
.filter_map(DomRoot::downcast::<Element>)
|
||||||
|
|
|
@ -16,9 +16,7 @@ use std::{cmp, fmt, iter};
|
||||||
use app_units::Au;
|
use app_units::Au;
|
||||||
use base::id::{BrowsingContextId, PipelineId};
|
use base::id::{BrowsingContextId, PipelineId};
|
||||||
use bitflags::bitflags;
|
use bitflags::bitflags;
|
||||||
use constellation_traits::{
|
use constellation_traits::UntrustedNodeAddress;
|
||||||
UntrustedNodeAddress, UntrustedNodeAddress as CompositorUntrustedNodeAddress,
|
|
||||||
};
|
|
||||||
use devtools_traits::NodeInfo;
|
use devtools_traits::NodeInfo;
|
||||||
use dom_struct::dom_struct;
|
use dom_struct::dom_struct;
|
||||||
use euclid::default::{Rect, Size2D, Vector2D};
|
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))
|
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)]
|
#[allow(unsafe_code)]
|
||||||
pub(crate) trait LayoutNodeHelpers<'dom> {
|
pub(crate) trait LayoutNodeHelpers<'dom> {
|
||||||
fn type_id_for_layout(self) -> NodeTypeId;
|
fn type_id_for_layout(self) -> NodeTypeId;
|
||||||
|
@ -2870,26 +2859,6 @@ impl Node {
|
||||||
&*(conversions::private_from_object(object) as *const Self)
|
&*(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(
|
pub(crate) fn html_serialize(
|
||||||
&self,
|
&self,
|
||||||
traversal_scope: html_serialize::TraversalScope,
|
traversal_scope: html_serialize::TraversalScope,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue