Hubbub
Functions
in_head.c File Reference
#include <assert.h>
#include <string.h>
#include <parserutils/charset/mibenum.h>
#include "treebuilder/modes.h"
#include "treebuilder/internal.h"
#include "treebuilder/treebuilder.h"
#include "charset/detect.h"
#include "utils/utils.h"

Go to the source code of this file.

Functions

static hubbub_error process_meta_in_head (hubbub_treebuilder *treebuilder, const hubbub_token *token)
 Process a meta tag as if "in head". More...
 
hubbub_error handle_in_head (hubbub_treebuilder *treebuilder, const hubbub_token *token)
 Handle token in "in head" insertion mode. More...
 

Function Documentation

◆ handle_in_head()

hubbub_error handle_in_head ( hubbub_treebuilder treebuilder,
const hubbub_token token 
)

Handle token in "in head" insertion mode.

Parameters
treebuilderThe treebuilder instance
tokenThe token to handle
Returns
True to reprocess token, false otherwise
Todo:
parse error
Todo:
ack sc flag
Todo:
need to ensure that the client callback sets the parser-inserted/already-executed script flags.
Todo:
parse error
Todo:
parse error

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().

◆ process_meta_in_head()

static hubbub_error process_meta_in_head ( hubbub_treebuilder treebuilder,
const hubbub_token token 
)
static