Hubbub
|
#include "treebuilder/treebuilder.h"
Go to the source code of this file.
Enumerations | |
enum | insertion_mode { INITIAL, BEFORE_HTML, BEFORE_HEAD, IN_HEAD, IN_HEAD_NOSCRIPT, AFTER_HEAD, IN_BODY, IN_TABLE, IN_CAPTION, IN_COLUMN_GROUP, IN_TABLE_BODY, IN_ROW, IN_CELL, IN_SELECT, IN_SELECT_IN_TABLE, IN_FOREIGN_CONTENT, AFTER_BODY, IN_FRAMESET, AFTER_FRAMESET, AFTER_AFTER_BODY, AFTER_AFTER_FRAMESET, GENERIC_RCDATA } |
The various treebuilder insertion modes. More... | |
Functions | |
hubbub_error | handle_initial (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in initial insertion mode. More... | |
hubbub_error | handle_before_html (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "before html" insertion mode. More... | |
hubbub_error | handle_before_head (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "before head" insertion mode. More... | |
hubbub_error | handle_in_head (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "in head" insertion mode. More... | |
hubbub_error | handle_in_head_noscript (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "in head noscript" insertion mode. More... | |
hubbub_error | handle_after_head (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "after head" insertion mode. More... | |
hubbub_error | handle_in_body (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "in body" insertion mode. More... | |
hubbub_error | handle_in_table (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "in table" insertion mode. More... | |
hubbub_error | handle_in_caption (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "in caption" insertion mode. More... | |
hubbub_error | handle_in_column_group (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "in column group" insertion mode. More... | |
hubbub_error | handle_in_table_body (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "in table body" insertion mode. More... | |
hubbub_error | handle_in_row (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "in row" insertion mode. More... | |
hubbub_error | handle_in_cell (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "in cell" insertion mode. More... | |
hubbub_error | handle_in_select (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "in head" insertion mode. More... | |
hubbub_error | handle_in_select_in_table (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "in select in table" insertion mode. More... | |
hubbub_error | handle_generic_rcdata (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "generic rcdata" insertion mode. More... | |
hubbub_error | handle_script_collect_characters (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
hubbub_error | handle_in_foreign_content (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle tokens in "in foreign content" insertion mode. More... | |
hubbub_error | handle_after_body (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "after body" insertion mode. More... | |
hubbub_error | handle_in_frameset (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "in frameset" insertion mode. More... | |
hubbub_error | handle_after_frameset (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "after frameset" insertion mode. More... | |
hubbub_error | handle_after_after_body (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "after after body" insertion mode. More... | |
hubbub_error | handle_after_after_frameset (hubbub_treebuilder *treebuilder, const hubbub_token *token) |
Handle token in "after after frameset" insertion mode. More... | |
enum insertion_mode |
The various treebuilder insertion modes.
hubbub_error handle_after_after_body | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "after after body" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 26 of file after_after_body.c.
References hubbub_treebuilder::context, hubbub_token::data, hubbub_treebuilder_context::document, element_type_from_name(), handle_in_body(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_BODY, hubbub_treebuilder_context::mode, hubbub_tag::name, process_characters_expect_whitespace(), process_comment_append(), hubbub_token::tag, type, and hubbub_token::type.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_after_after_frameset | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "after after frameset" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 24 of file after_after_frameset.c.
References hubbub_treebuilder::context, hubbub_token::data, hubbub_treebuilder_context::document, element_type_from_name(), handle_in_body(), handle_in_head(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_FRAMESET, hubbub_treebuilder_context::mode, hubbub_tag::name, NOFRAMES, process_characters_expect_whitespace(), process_comment_append(), hubbub_token::tag, type, and hubbub_token::type.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_after_body | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "after body" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 24 of file after_body.c.
References AFTER_AFTER_BODY, hubbub_token::character, hubbub_treebuilder::context, hubbub_token::data, hubbub_treebuilder_context::element_stack, element_type_from_name(), handle_in_body(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_BODY, len, hubbub_string::len, hubbub_treebuilder_context::mode, hubbub_tag::name, element_context::node, process_comment_append(), hubbub_string::ptr, hubbub_token::tag, type, and hubbub_token::type.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_after_frameset | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "after frameset" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 24 of file after_frameset.c.
References AFTER_AFTER_FRAMESET, hubbub_treebuilder::context, hubbub_treebuilder_context::current_node, hubbub_token::data, hubbub_treebuilder_context::element_stack, element_type_from_name(), handle_in_body(), handle_in_head(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, hubbub_treebuilder_context::mode, hubbub_tag::name, element_context::node, NOFRAMES, process_characters_expect_whitespace(), process_comment_append(), hubbub_token::tag, type, and hubbub_token::type.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_after_head | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "after head" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 24 of file after_head.c.
References hubbub_tag::attributes, BASE, BODY, BR, hubbub_treebuilder::context, hubbub_treebuilder_context::current_node, hubbub_token::data, hubbub_treebuilder_context::element_stack, element_stack_push(), element_stack_remove(), element_type_from_name(), FRAMESET, handle_in_body(), handle_in_head(), HEAD, hubbub_treebuilder_context::head_element, HTML, HUBBUB_NS_HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_BODY, IN_FRAMESET, insert_element(), hubbub_string::len, LINK, META, hubbub_treebuilder_context::mode, hubbub_tag::n_attributes, hubbub_tag::name, element_context::node, NOFRAMES, hubbub_tag::ns, process_characters_expect_whitespace(), process_comment_append(), hubbub_string::ptr, SCRIPT, SLEN, STYLE, hubbub_token::tag, TITLE, type, and hubbub_token::type.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_before_head | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "before head" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 24 of file before_head.c.
References hubbub_tag::attributes, BODY, BR, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_treebuilder_context::current_node, hubbub_token::data, hubbub_treebuilder_context::element_stack, element_type_from_name(), handle_in_body(), HEAD, hubbub_treebuilder_context::head_element, HTML, HUBBUB_NS_HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_HEAD, insert_element(), hubbub_string::len, hubbub_treebuilder_context::mode, hubbub_tag::n_attributes, hubbub_tag::name, element_context::node, hubbub_tag::ns, process_characters_expect_whitespace(), process_comment_append(), hubbub_string::ptr, hubbub_tree_handler::ref_node, SLEN, hubbub_token::tag, hubbub_treebuilder::tree_handler, type, and hubbub_token::type.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_before_html | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "before html" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 24 of file before_html.c.
References hubbub_tree_handler::append_child, hubbub_tag::attributes, BEFORE_HEAD, hubbub_treebuilder::context, hubbub_tree_handler::create_element, hubbub_tree_handler::ctx, hubbub_treebuilder_context::current_node, hubbub_token::data, hubbub_treebuilder_context::document, hubbub_treebuilder_context::element_stack, element_type_from_name(), HTML, HUBBUB_NS_HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, hubbub_string::len, hubbub_treebuilder_context::mode, hubbub_tag::n_attributes, hubbub_tag::name, element_context::node, hubbub_tag::ns, process_characters_expect_whitespace(), process_comment_append(), hubbub_string::ptr, SLEN, hubbub_token::tag, hubbub_treebuilder::tree_handler, type, element_context::type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_generic_rcdata | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "generic rcdata" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 24 of file generic_rcdata.c.
References append_text(), hubbub_token::character, hubbub_treebuilder_context::collect, complete_script(), hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_token::data, element_stack_pop(), element_type_from_name(), hubbub_treebuilder_context::enable_scripting, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, hubbub_string::len, hubbub_treebuilder_context::mode, hubbub_tag::name, hubbub_string::ptr, SCRIPT, hubbub_treebuilder_context::strip_leading_lr, hubbub_token::tag, hubbub_treebuilder::tree_handler, type, hubbub_treebuilder_context::type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_body | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "in body" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 123 of file in_body.c.
References BODY, hubbub_treebuilder::context, hubbub_treebuilder_context::current_node, DD, DT, hubbub_treebuilder_context::element_stack, element_stack_dump(), formatting_list_dump(), HUBBUB_OK, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, LI, element_context::node, P, process_character(), process_comment_append(), process_end_tag(), process_start_tag(), hubbub_treebuilder_context::strip_leading_lr, TBODY, TD, TFOOT, TH, THEAD, TR, type, element_context::type, and hubbub_token::type.
Referenced by handle_after_after_body(), handle_after_after_frameset(), handle_after_body(), handle_after_frameset(), handle_after_head(), handle_before_head(), handle_in_caption(), handle_in_cell(), handle_in_column_group(), handle_in_frameset(), handle_in_head(), handle_in_head_noscript(), handle_in_select(), handle_in_table(), and hubbub_treebuilder_token_handler().
hubbub_error handle_in_caption | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "in caption" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 24 of file in_caption.c.
References BODY, CAPTION, clear_active_formatting_list_to_marker(), close_implied_end_tags(), COL, COLGROUP, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_token::data, element_stack_pop(), element_type_from_name(), handle_in_body(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_TABLE, hubbub_treebuilder_context::mode, hubbub_tag::name, TABLE, hubbub_token::tag, TBODY, TD, TFOOT, TH, THEAD, TR, hubbub_treebuilder::tree_handler, type, hubbub_token::type, UNKNOWN, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_cell | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "in cell" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 63 of file in_cell.c.
References BODY, CAPTION, clear_active_formatting_list_to_marker(), close_cell(), close_implied_end_tags(), COL, COLGROUP, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_token::data, element_in_scope(), element_stack_pop(), element_type_from_name(), handle_in_body(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_ROW, hubbub_treebuilder_context::mode, hubbub_tag::name, TABLE, hubbub_token::tag, TBODY, TD, TFOOT, TH, THEAD, TR, hubbub_treebuilder::tree_handler, type, hubbub_token::type, UNKNOWN, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_column_group | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "in column group" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 24 of file in_column_group.c.
References COL, COLGROUP, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_treebuilder_context::current_node, hubbub_token::data, hubbub_treebuilder_context::element_stack, element_stack_pop(), element_type_from_name(), handle_in_body(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_TABLE, insert_element(), hubbub_treebuilder_context::mode, hubbub_tag::name, element_context::node, process_characters_expect_whitespace(), process_comment_append(), hubbub_token::tag, hubbub_treebuilder::tree_handler, type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_foreign_content | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "in foreign content" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 390 of file in_foreign_content.c.
References adjust_foreign_attributes(), adjust_svg_attributes(), adjust_svg_tagname(), ANNOTATION_XML, append_text(), hubbub_tag::attributes, B, BIG, BLOCKQUOTE, BODY, BR, CENTER, hubbub_token::character, CODE, hubbub_treebuilder::context, hubbub_treebuilder_context::current_node, current_node(), hubbub_token::data, DD, DESC, DIV, DL, DT, hubbub_treebuilder_context::element_stack, element_type_from_name(), EM, EMBED, FONT, foreign_break_out(), FOREIGNOBJECT, H1, H2, H3, H4, H5, H6, HEAD, HR, HUBBUB_NS_HTML, HUBBUB_NS_MATHML, HUBBUB_NS_SVG, HUBBUB_OK, HUBBUB_REPROCESS, hubbub_string_match(), HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, I, IMG, insert_element(), len, hubbub_string::len, LI, LISTING, MALIGNMARK, MENU, META, MGLYPH, MI, MN, MO, MS, MTEXT, hubbub_tag::n_attributes, name, hubbub_attribute::name, hubbub_tag::name, NOBR, element_context::node, element_context::ns, hubbub_tag::ns, OL, P, PRE, process_as_in_secondary(), process_comment_append(), hubbub_string::ptr, RUBY, S, hubbub_tag::self_closing, SLEN, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, SVG, TABLE, hubbub_token::tag, TITLE, TT, type, hubbub_token::type, U, UL, and VAR.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_frameset | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "in frameset" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 24 of file in_frameset.c.
References AFTER_FRAMESET, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_treebuilder_context::current_node, current_node(), hubbub_token::data, hubbub_treebuilder_context::element_stack, element_stack_pop(), element_type_from_name(), FRAME, FRAMESET, handle_in_body(), handle_in_head(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, insert_element(), hubbub_treebuilder_context::mode, hubbub_tag::name, element_context::node, NOFRAMES, process_characters_expect_whitespace(), process_comment_append(), hubbub_token::tag, hubbub_treebuilder::tree_handler, type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_head | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "in head" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 109 of file in_head.c.
References AFTER_HEAD, BASE, BODY, BR, COMMAND, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_treebuilder_context::current_node, hubbub_token::data, hubbub_treebuilder_context::element_stack, element_stack_pop(), element_type_from_name(), hubbub_treebuilder_context::enable_scripting, handle_in_body(), HEAD, HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_HEAD_NOSCRIPT, insert_element(), LINK, META, hubbub_treebuilder_context::mode, hubbub_tag::name, element_context::node, NOFRAMES, NOSCRIPT, parse_generic_rcdata(), process_characters_expect_whitespace(), process_comment_append(), process_meta_in_head(), SCRIPT, STYLE, hubbub_token::tag, TITLE, hubbub_treebuilder::tree_handler, type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by handle_after_after_frameset(), handle_after_frameset(), handle_after_head(), handle_in_frameset(), handle_in_head_noscript(), handle_in_select(), handle_in_table(), hubbub_treebuilder_token_handler(), and process_start_tag().
hubbub_error handle_in_head_noscript | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "in head noscript" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 24 of file in_head_noscript.c.
References BR, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_token::data, element_stack_pop(), element_type_from_name(), handle_in_body(), handle_in_head(), HEAD, HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_HEAD, LINK, META, hubbub_treebuilder_context::mode, hubbub_tag::name, NOFRAMES, NOSCRIPT, process_characters_expect_whitespace(), STYLE, hubbub_token::tag, hubbub_treebuilder::tree_handler, type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_row | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "in row" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 78 of file in_row.c.
References act_as_if_end_tag_tr(), BODY, CAPTION, COL, COLGROUP, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_treebuilder_context::current_node, hubbub_token::data, hubbub_treebuilder_context::element_stack, element_stack_pop(), element_type_from_name(), formatting_list_append(), handle_in_table(), HTML, HUBBUB_OK, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_CELL, insert_element(), hubbub_treebuilder_context::mode, hubbub_tag::name, element_context::node, hubbub_tag::ns, hubbub_tree_handler::ref_node, remove_node_from_dom(), TABLE, table_clear_stack(), hubbub_token::tag, TBODY, TD, TFOOT, TH, THEAD, TR, hubbub_treebuilder::tree_handler, type, and hubbub_token::type.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_select | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "in head" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 24 of file in_select.c.
References append_text(), hubbub_token::character, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_treebuilder_context::current_node, current_node(), hubbub_token::data, element_in_scope(), hubbub_treebuilder_context::element_stack, element_stack_pop(), element_stack_pop_until(), element_type_from_name(), handle_in_body(), handle_in_head(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, INPUT, insert_element(), hubbub_tag::name, element_context::node, OPTGROUP, OPTION, prev_node(), process_comment_append(), reset_insertion_mode(), SCRIPT, SELECT, hubbub_token::tag, TEXTAREA, hubbub_treebuilder::tree_handler, type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by handle_in_select_in_table(), and hubbub_treebuilder_token_handler().
hubbub_error handle_in_select_in_table | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "in select in table" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 24 of file in_select_in_table.c.
References CAPTION, hubbub_token::data, element_in_scope(), element_stack_pop_until(), element_type_from_name(), handle_in_select(), HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_START_TAG, hubbub_tag::name, reset_insertion_mode(), SELECT, TABLE, hubbub_token::tag, TBODY, TD, TFOOT, TH, THEAD, TR, type, and hubbub_token::type.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_in_table | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in "in table" insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 74 of file in_table.c.
References hubbub_tag::attributes, BODY, CAPTION, clear_stack_table_context(), COL, COLGROUP, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_treebuilder_context::current_node, current_table(), hubbub_token::data, hubbub_treebuilder_context::element_stack, element_stack_pop_until(), element_type_from_name(), formatting_list_append(), hubbub_treebuilder_context::formatting_list_end, formatting_list_remove(), handle_in_body(), handle_in_head(), HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_CAPTION, IN_COLUMN_GROUP, IN_TABLE_BODY, hubbub_treebuilder_context::in_table_foster, INPUT, insert_element(), hubbub_string::len, hubbub_treebuilder_context::mode, hubbub_tag::n_attributes, hubbub_tag::name, element_context::node, hubbub_tag::ns, process_characters_expect_whitespace(), process_comment_append(), process_input_in_table(), hubbub_string::ptr, hubbub_tree_handler::ref_node, reset_insertion_mode(), SCRIPT, SLEN, STYLE, TABLE, hubbub_token::tag, element_context::tainted, TBODY, TD, TFOOT, TH, THEAD, TR, hubbub_treebuilder::tree_handler, type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by handle_in_row(), handle_in_table_body(), and hubbub_treebuilder_token_handler().
hubbub_error handle_in_table_body | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle tokens in "in table body" insertion mode.
treebuilder | The treebuilder instance |
token | The token to process |
Definition at line 89 of file in_table_body.c.
References hubbub_tag::attributes, BODY, CAPTION, COL, COLGROUP, hubbub_treebuilder::context, hubbub_tree_handler::ctx, hubbub_token::data, element_in_scope(), element_stack_pop(), element_type_from_name(), handle_in_table(), HTML, HUBBUB_NS_HTML, HUBBUB_OK, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, IN_ROW, IN_TABLE, insert_element(), hubbub_string::len, hubbub_treebuilder_context::mode, hubbub_tag::n_attributes, hubbub_tag::name, hubbub_tag::ns, hubbub_string::ptr, SLEN, TABLE, table_clear_stack(), table_sub_start_or_table_end(), hubbub_token::tag, TBODY, TD, TFOOT, TH, THEAD, TR, hubbub_treebuilder::tree_handler, type, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_initial | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |
Handle token in initial insertion mode.
treebuilder | The treebuilder instance |
token | The token to handle |
Definition at line 214 of file initial.c.
References hubbub_tree_handler::append_child, BEFORE_HTML, hubbub_treebuilder::context, hubbub_tree_handler::create_doctype, hubbub_tree_handler::ctx, hubbub_token::data, hubbub_token::doctype, hubbub_treebuilder_context::document, hubbub_doctype::force_quirks, HUBBUB_OK, HUBBUB_QUIRKS_MODE_FULL, HUBBUB_QUIRKS_MODE_LIMITED, HUBBUB_REPROCESS, HUBBUB_TOKEN_CHARACTER, HUBBUB_TOKEN_COMMENT, HUBBUB_TOKEN_DOCTYPE, HUBBUB_TOKEN_END_TAG, HUBBUB_TOKEN_EOF, HUBBUB_TOKEN_START_TAG, lookup_full_quirks(), lookup_limited_quirks(), hubbub_treebuilder_context::mode, process_characters_expect_whitespace(), process_comment_append(), hubbub_tree_handler::set_quirks_mode, hubbub_treebuilder::tree_handler, hubbub_token::type, and hubbub_tree_handler::unref_node.
Referenced by hubbub_treebuilder_token_handler().
hubbub_error handle_script_collect_characters | ( | hubbub_treebuilder * | treebuilder, |
const hubbub_token * | token | ||
) |