aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_layout_interface/message.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script_layout_interface/message.rs')
-rw-r--r--components/script_layout_interface/message.rs19
1 files changed, 12 insertions, 7 deletions
diff --git a/components/script_layout_interface/message.rs b/components/script_layout_interface/message.rs
index 7600ebe372a..144961cb8f5 100644
--- a/components/script_layout_interface/message.rs
+++ b/components/script_layout_interface/message.rs
@@ -21,6 +21,7 @@ use servo_atoms::Atom;
use servo_url::ServoUrl;
use std::sync::Arc;
use style::context::QuirksMode;
+use style::dom::OpaqueNode;
use style::properties::PropertyId;
use style::selector_parser::PseudoElement;
use style::stylesheets::Stylesheet;
@@ -111,16 +112,20 @@ pub enum NodesFromPointQueryType {
#[derive(Debug, PartialEq)]
pub enum QueryMsg {
- ContentBoxQuery(TrustedNodeAddress),
- ContentBoxesQuery(TrustedNodeAddress),
+ ContentBoxQuery(OpaqueNode),
+ ContentBoxesQuery(OpaqueNode),
+ NodeGeometryQuery(OpaqueNode),
+ NodeScrollGeometryQuery(OpaqueNode),
+ OffsetParentQuery(OpaqueNode),
+ TextIndexQuery(OpaqueNode, Point2D<f32>),
+ NodesFromPointQuery(Point2D<f32>, NodesFromPointQueryType),
+
+ // FIXME(nox): The following queries use the TrustedNodeAddress to
+ // access actual DOM nodes, but those values can be constructed from
+ // garbage values such as `0xdeadbeef as *const _`, this is unsound.
NodeScrollIdQuery(TrustedNodeAddress),
- NodeGeometryQuery(TrustedNodeAddress),
- NodeScrollGeometryQuery(TrustedNodeAddress),
ResolvedStyleQuery(TrustedNodeAddress, Option<PseudoElement>, PropertyId),
- OffsetParentQuery(TrustedNodeAddress),
StyleQuery(TrustedNodeAddress),
- TextIndexQuery(TrustedNodeAddress, Point2D<f32>),
- NodesFromPointQuery(Point2D<f32>, NodesFromPointQueryType),
ElementInnerTextQuery(TrustedNodeAddress),
}