pub struct ArenaSink<'arena> { /* private fields */ }
Expand description

An HTML document tree that uses a typed arena to store its nodes.

Implementations§

source§

impl<'arena> ArenaSink<'arena>

source

pub fn new(arena: Arena<'arena>) -> Self

Construct a new ArenaSink that uses arena as its memory space.

Trait Implementations§

source§

impl<'arena> TreeSink for ArenaSink<'arena>

§

type Handle = &'arena Node<'arena>

Handle is a reference to a DOM node. The tree builder requires that a Handle implements Clone to get another reference to the same node.
§

type Output = &'arena Node<'arena>

The overall result of parsing. Read more
source§

fn finish(self) -> Ref<'arena>

Consume this sink and return the overall result of parsing. Read more
source§

fn parse_error(&mut self, _: Cow<'static, str>)

Signal a parse error.
source§

fn get_document(&mut self) -> Ref<'arena>

Get a handle to the Document node.
source§

fn set_quirks_mode(&mut self, _mode: QuirksMode)

Set the document’s quirks mode.
source§

fn same_node(&self, x: &Ref<'arena>, y: &Ref<'arena>) -> bool

Do two handles refer to the same node?
source§

fn elem_name<'a>(&self, target: &'a Ref<'arena>) -> ExpandedName<'a>

What is the name of this element? Read more
source§

fn get_template_contents(&mut self, target: &Ref<'arena>) -> Ref<'arena>

Get a handle to a template’s template contents. The tree builder promises this will never be called with something else than a template element.
source§

fn is_mathml_annotation_xml_integration_point( &self, target: &Ref<'arena> ) -> bool

Returns true if the adjusted current node is an HTML integration point and the token is a start tag.
source§

fn create_element( &mut self, name: QualName, attrs: Vec<Attribute>, flags: ElementFlags ) -> Ref<'arena>

Create an element. Read more
source§

fn create_comment(&mut self, text: StrTendril) -> Ref<'arena>

Create a comment node.
source§

fn create_pi(&mut self, target: StrTendril, data: StrTendril) -> Ref<'arena>

Create a Processing Instruction node.
source§

fn append(&mut self, parent: &Ref<'arena>, child: NodeOrText<Ref<'arena>>)

Append a node as the last child of the given node. If this would produce adjacent sibling text nodes, it should concatenate the text instead. Read more
source§

fn append_before_sibling( &mut self, sibling: &Ref<'arena>, child: NodeOrText<Ref<'arena>> )

Append a node as the sibling immediately before the given node. Read more
source§

fn append_based_on_parent_node( &mut self, element: &Ref<'arena>, prev_element: &Ref<'arena>, child: NodeOrText<Ref<'arena>> )

When the insertion point is decided by the existence of a parent node of the element, we consider both possibilities and send the element which will be used if a parent node exists, along with the element to be used if there isn’t one.
source§

fn append_doctype_to_document( &mut self, name: StrTendril, _public_id: StrTendril, _system_id: StrTendril )

Append a DOCTYPE element to the Document node.
source§

fn add_attrs_if_missing(&mut self, target: &Ref<'arena>, attrs: Vec<Attribute>)

Add each attribute to the given element, if no attribute with that name already exists. The tree builder promises this will never be called with something else than an element.
source§

fn remove_from_parent(&mut self, target: &Ref<'arena>)

Detach the given node from its parent.
source§

fn reparent_children(&mut self, node: &Ref<'arena>, new_parent: &Ref<'arena>)

Remove all the children from node and append them to new_parent.
§

fn mark_script_already_started(&mut self, _node: &Self::Handle)

Mark a HTML <script> as “already started”.
§

fn pop(&mut self, _node: &Self::Handle)

Indicate that a node was popped off the stack of open elements.
§

fn associate_with_form( &mut self, _target: &Self::Handle, _form: &Self::Handle, _nodes: (&Self::Handle, Option<&Self::Handle>) )

Associate the given form-associatable element with the form element
§

fn set_current_line(&mut self, _line_number: u64)

Called whenever the line number changes.
§

fn complete_script(&mut self, _node: &Self::Handle) -> NextParserState

Indicate that a script element is complete.

Auto Trait Implementations§

§

impl<'arena> !RefUnwindSafe for ArenaSink<'arena>

§

impl<'arena> !Send for ArenaSink<'arena>

§

impl<'arena> !Sync for ArenaSink<'arena>

§

impl<'arena> Unpin for ArenaSink<'arena>

§

impl<'arena> !UnwindSafe for ArenaSink<'arena>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.