XenevaOS
Loading...
Searching...
No Matches
internal.h
Go to the documentation of this file.
1/*
2 * This file is part of Hubbub.
3 * Licensed under the MIT License,
4 * http://www.opensource.org/licenses/mit-license.php
5 * Copyright 2008 John-Mark Bell <jmb@netsurf-browser.org>
6 */
7
8#ifndef hubbub_treebuilder_internal_h_
9#define hubbub_treebuilder_internal_h_
10
13
31
44
87
102
104 const hubbub_token *token, void *pw);
105
107 hubbub_treebuilder *treebuilder, const hubbub_token *token,
108 bool insert_into_current_node);
110 const hubbub_token *token, void *parent);
112 const hubbub_token *token, bool rcdata);
113
115 element_type type, bool in_table);
117 hubbub_treebuilder *treebuilder);
119 hubbub_treebuilder *treebuilder);
121 void *node);
123 const hubbub_tag *tag_name, bool push);
125 element_type except);
128 const hubbub_string *string);
130
135
137 hubbub_ns ns, element_type type, void *node);
139 hubbub_ns *ns, element_type *type, void **node);
141 element_type type);
144 void **removed);
148
150 hubbub_ns ns, element_type type, void *node,
151 uint32_t stack_index);
154 hubbub_ns ns, element_type type, void *node,
155 uint32_t stack_index);
158 hubbub_ns *ns, element_type *type, void **node,
159 uint32_t *stack_index);
162 hubbub_ns ns, element_type type, void *node,
163 uint32_t stack_index,
164 hubbub_ns *ons, element_type *otype, void **onode,
165 uint32_t *ostack_index);
166
167/* in_foreign_content.c */
170 hubbub_tag *tag);
171void adjust_svg_tagname(hubbub_treebuilder *treebuilder,
172 hubbub_tag *tag);
174 hubbub_tag *tag);
175
176/* in_body.c */
178 void *node, void **inserted);
179
180#ifndef NDEBUG
181#include <stdio.h>
182
183void element_stack_dump(hubbub_treebuilder *treebuilder, FILE *fp);
184void formatting_list_dump(hubbub_treebuilder *treebuilder, FILE *fp);
185
186const char *element_type_to_name(element_type type);
187
188#endif
189
190#endif
191
bool is_phrasing_element(element_type type)
Definition treebuilder.c:956
void element_stack_dump(hubbub_treebuilder *treebuilder, FILE *fp)
Definition treebuilder.c:1369
hubbub_error element_stack_push(hubbub_treebuilder *treebuilder, hubbub_ns ns, element_type type, void *node)
Definition treebuilder.c:983
hubbub_error insert_element(hubbub_treebuilder *treebuilder, const hubbub_tag *tag_name, bool push)
Definition treebuilder.c:689
void reset_insertion_mode(hubbub_treebuilder *treebuilder)
Definition treebuilder.c:800
hubbub_error process_comment_append(hubbub_treebuilder *treebuilder, const hubbub_token *token, void *parent)
Definition treebuilder.c:358
hubbub_error formatting_list_replace(hubbub_treebuilder *treebuilder, formatting_list_entry *entry, hubbub_ns ns, element_type type, void *node, uint32_t stack_index, hubbub_ns *ons, element_type *otype, void **onode, uint32_t *ostack_index)
Definition treebuilder.c:1337
hubbub_error remove_node_from_dom(hubbub_treebuilder *treebuilder, void *node)
Definition treebuilder.c:618
hubbub_error element_stack_remove(hubbub_treebuilder *treebuilder, uint32_t index, hubbub_ns *ns, element_type *type, void **removed)
Definition treebuilder.c:1098
hubbub_error aa_insert_into_foster_parent(hubbub_treebuilder *treebuilder, void *node, void **inserted)
Definition in_body.c:2225
void clear_active_formatting_list_to_marker(hubbub_treebuilder *treebuilder)
Definition treebuilder.c:654
void adjust_svg_attributes(hubbub_treebuilder *treebuilder, hubbub_tag *tag)
Definition in_foreign_content.c:169
element_type prev_node(hubbub_treebuilder *treebuilder)
Definition treebuilder.c:1178
hubbub_error formatting_list_append(hubbub_treebuilder *treebuilder, hubbub_ns ns, element_type type, void *node, uint32_t stack_index)
Definition treebuilder.c:1199
hubbub_error append_text(hubbub_treebuilder *treebuilder, const hubbub_string *string)
Definition treebuilder.c:881
void adjust_foreign_attributes(hubbub_treebuilder *treebuilder, hubbub_tag *tag)
Definition in_foreign_content.c:227
void formatting_list_dump(hubbub_treebuilder *treebuilder, FILE *fp)
Definition treebuilder.c:1388
hubbub_error element_stack_pop_until(hubbub_treebuilder *treebuilder, element_type type)
Definition treebuilder.c:1069
bool is_formatting_element(element_type type)
Definition treebuilder.c:945
hubbub_error hubbub_treebuilder_token_handler(const hubbub_token *token, void *pw)
Definition treebuilder.c:202
uint32_t current_table(hubbub_treebuilder *treebuilder)
Definition treebuilder.c:1146
bool is_special_element(element_type type)
Definition treebuilder.c:923
hubbub_error formatting_list_insert(hubbub_treebuilder *treebuilder, formatting_list_entry *prev, formatting_list_entry *next, hubbub_ns ns, element_type type, void *node, uint32_t stack_index)
Definition treebuilder.c:1239
hubbub_error reconstruct_active_formatting_list(hubbub_treebuilder *treebuilder)
Definition treebuilder.c:480
uint32_t element_in_scope(hubbub_treebuilder *treebuilder, element_type type, bool in_table)
Definition treebuilder.c:437
void close_implied_end_tags(hubbub_treebuilder *treebuilder, element_type except)
Definition treebuilder.c:766
hubbub_error element_stack_pop(hubbub_treebuilder *treebuilder, hubbub_ns *ns, element_type *type, void **node)
Definition treebuilder.c:1020
bool is_scoping_element(element_type type)
Definition treebuilder.c:934
void adjust_svg_tagname(hubbub_treebuilder *treebuilder, hubbub_tag *tag)
Definition in_foreign_content.c:199
hubbub_error parse_generic_rcdata(hubbub_treebuilder *treebuilder, const hubbub_token *token, bool rcdata)
Definition treebuilder.c:401
void adjust_mathml_attributes(hubbub_treebuilder *treebuilder, hubbub_tag *tag)
Definition in_foreign_content.c:144
hubbub_error formatting_list_remove(hubbub_treebuilder *treebuilder, formatting_list_entry *entry, hubbub_ns *ns, element_type *type, void **node, uint32_t *stack_index)
Definition treebuilder.c:1291
const char * element_type_to_name(element_type type)
Definition element-type.c:38
element_type current_node(hubbub_treebuilder *treebuilder)
Definition treebuilder.c:1166
hubbub_error process_characters_expect_whitespace(hubbub_treebuilder *treebuilder, const hubbub_token *token, bool insert_into_current_node)
Definition treebuilder.c:312
hubbub_error complete_script(hubbub_treebuilder *treebuilder)
Definition treebuilder.c:863
#define index(str, chr)
Definition string.h:66
hubbub_ns
Definition types.h:63
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
element_type
Definition element-type.h:15
struct kobject * parent
Definition kobject.h:91
void int node
Definition kthread.h:31
hubbub_error
Definition errors.h:18
void(* hubbub_error_handler)(uint32_t line, uint32_t col, const char *message, void *pw)
Definition functypes.h:40
insertion_mode
Definition modes.h:15
void(* entry)(void *)
Definition process.h:101
Definition stdio.h:41
Definition internal.h:18
hubbub_ns ns
Definition internal.h:19
void * node
Definition internal.h:29
bool tainted
Definition internal.h:23
uint8_t * name
Definition internal.h:21
element_type type
Definition internal.h:20
Definition internal.h:36
element_context details
Definition internal.h:37
struct formatting_list_entry * prev
Definition internal.h:41
struct formatting_list_entry * next
Definition internal.h:42
uint32_t stack_index
Definition internal.h:39
Definition types.h:76
Definition types.h:108
Definition types.h:119
Definition tokeniser.c:165
Definition tree.h:273
Definition internal.h:49
struct hubbub_treebuilder_context::@876 collect
void * document
Definition internal.h:68
element_context * element_stack
Definition internal.h:54
bool strip_leading_lr
Definition internal.h:77
insertion_mode mode
Definition internal.h:50
uint32_t stack_alloc
Definition internal.h:55
void * head_element
Definition internal.h:63
bool frameset_ok
Definition internal.h:85
insertion_mode second_mode
Definition internal.h:51
formatting_list_entry * formatting_list
Definition internal.h:58
element_type type
Definition internal.h:74
bool enable_scripting
Definition internal.h:70
void * form_element
Definition internal.h:65
bool in_table_foster
Definition internal.h:81
formatting_list_entry * formatting_list_end
Definition internal.h:60
uint32_t current_node
Definition internal.h:56
Definition internal.h:92
hubbub_error_handler error_handler
Definition internal.h:99
void * error_pw
Definition internal.h:100
hubbub_treebuilder_context context
Definition internal.h:95
hubbub_tree_handler * tree_handler
Definition internal.h:97
hubbub_tokeniser * tokeniser
Definition internal.h:93