aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/layout/wrapper.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs
index b26bd79d95d..0a31ccfc429 100644
--- a/components/layout/wrapper.rs
+++ b/components/layout/wrapper.rs
@@ -806,6 +806,7 @@ impl<T> PseudoElementType<T> {
pub trait ThreadSafeLayoutNode<'ln> : Clone + Copy + Sized {
type ConcreteThreadSafeLayoutElement: ThreadSafeLayoutElement<'ln, ConcreteThreadSafeLayoutNode = Self>;
+ type ChildrenIterator: Iterator<Item = Self> + Sized;
/// Converts self into an `OpaqueNode`.
fn opaque(&self) -> OpaqueNode;
@@ -819,7 +820,7 @@ pub trait ThreadSafeLayoutNode<'ln> : Clone + Copy + Sized {
fn flow_debug_id(self) -> usize;
/// Returns an iterator over this node's children.
- fn children(&self) -> ThreadSafeLayoutNodeChildrenIterator<'ln, Self>;
+ fn children(&self) -> Self::ChildrenIterator;
/// If this is an element, accesses the element data. Fails if this is not an element node.
#[inline]
@@ -1022,6 +1023,7 @@ impl<'ln> ServoThreadSafeLayoutNode<'ln> {
impl<'ln> ThreadSafeLayoutNode<'ln> for ServoThreadSafeLayoutNode<'ln> {
type ConcreteThreadSafeLayoutElement = ServoThreadSafeLayoutElement<'ln>;
+ type ChildrenIterator = ThreadSafeLayoutNodeChildrenIterator<'ln, Self>;
fn opaque(&self) -> OpaqueNode {
OpaqueNodeMethods::from_jsmanaged(unsafe { self.get_jsmanaged() })
@@ -1043,7 +1045,7 @@ impl<'ln> ThreadSafeLayoutNode<'ln> for ServoThreadSafeLayoutNode<'ln> {
self.node.flow_debug_id()
}
- fn children(&self) -> ThreadSafeLayoutNodeChildrenIterator<'ln, Self> {
+ fn children(&self) -> Self::ChildrenIterator {
ThreadSafeLayoutNodeChildrenIterator::new(*self)
}