pub(crate) trait TreeWalkerMethods<D: DomTypes> {
// Required methods
fn Root(&self) -> DomRoot<D::Node>;
fn WhatToShow(&self) -> u32;
fn GetFilter(&self) -> Option<Rc<NodeFilter<D>>>;
fn CurrentNode(&self) -> DomRoot<D::Node>;
fn SetCurrentNode(&self, value: &D::Node);
fn ParentNode(&self, _can_gc: CanGc) -> Fallible<Option<DomRoot<D::Node>>>;
fn FirstChild(&self, _can_gc: CanGc) -> Fallible<Option<DomRoot<D::Node>>>;
fn LastChild(&self, _can_gc: CanGc) -> Fallible<Option<DomRoot<D::Node>>>;
fn PreviousSibling(
&self,
_can_gc: CanGc,
) -> Fallible<Option<DomRoot<D::Node>>>;
fn NextSibling(&self, _can_gc: CanGc) -> Fallible<Option<DomRoot<D::Node>>>;
fn PreviousNode(&self, _can_gc: CanGc) -> Fallible<Option<DomRoot<D::Node>>>;
fn NextNode(&self, _can_gc: CanGc) -> Fallible<Option<DomRoot<D::Node>>>;
}