summaryrefslogtreecommitdiff
path: root/src/treebuilder/treebuilder.c
diff options
context:
space:
mode:
authorAndrew Sidwell <andy@entai.co.uk>2008-07-03 13:04:22 +0000
committerAndrew Sidwell <andy@entai.co.uk>2008-07-03 13:04:22 +0000
commit0bff00b4408d7296d1e5e940d8a5fd910c9fb283 (patch)
treed96d096d0541daa61ee946471bb82a58eba8f9bb /src/treebuilder/treebuilder.c
parent95a5f32cd305571579109fea002b47701e76f82e (diff)
downloadlibhubbub-0bff00b4408d7296d1e5e940d8a5fd910c9fb283.tar.gz
libhubbub-0bff00b4408d7296d1e5e940d8a5fd910c9fb283.tar.bz2
Get all the treebuilder actually linking together nicely.
svn path=/trunk/hubbub/; revision=4501
Diffstat (limited to 'src/treebuilder/treebuilder.c')
-rw-r--r--src/treebuilder/treebuilder.c40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c
index 3c25540..2a6a3c1 100644
--- a/src/treebuilder/treebuilder.c
+++ b/src/treebuilder/treebuilder.c
@@ -327,20 +327,46 @@ void hubbub_treebuilder_token_handler(const hubbub_token *token,
reprocess = handle_in_body(treebuilder, token);
break;
case IN_TABLE:
+ reprocess = handle_in_table(treebuilder, token);
+ break;
case IN_CAPTION:
+ reprocess = handle_in_caption(treebuilder, token);
+ break;
case IN_COLUMN_GROUP:
+ reprocess = handle_in_column_group(treebuilder, token);
+ break;
case IN_TABLE_BODY:
+ reprocess = handle_in_table_body(treebuilder, token);
+ break;
case IN_ROW:
+ reprocess = handle_in_row(treebuilder, token);
+ break;
case IN_CELL:
+ reprocess = handle_in_cell(treebuilder, token);
+ break;
case IN_SELECT:
+ reprocess = handle_in_select(treebuilder, token);
+ break;
case IN_SELECT_IN_TABLE:
+ reprocess = handle_in_select_in_table(treebuilder, token);
+ break;
case IN_FOREIGN_CONTENT:
+ reprocess = handle_in_foreign_content(treebuilder, token);
+ break;
case AFTER_BODY:
+ reprocess = handle_after_body(treebuilder, token);
+ break;
case IN_FRAMESET:
+ reprocess = handle_in_frameset(treebuilder, token);
+ break;
case AFTER_FRAMESET:
+ reprocess = handle_after_frameset(treebuilder, token);
+ break;
case AFTER_AFTER_BODY:
+ reprocess = handle_after_after_body(treebuilder, token);
+ break;
case AFTER_AFTER_FRAMESET:
- reprocess = false;
+ reprocess = handle_after_after_frameset(treebuilder, token);
break;
case GENERIC_RCDATA:
reprocess = handle_generic_rcdata(treebuilder, token);
@@ -1080,6 +1106,18 @@ element_type current_node(hubbub_treebuilder *treebuilder)
}
/**
+ * Peek at the top element of the element stack.
+ *
+ * \param treebuilder Treebuilder instance
+ * \return Element type on the top of the stack
+ */
+hubbub_ns current_node_ns(hubbub_treebuilder *treebuilder)
+{
+ return treebuilder->context.element_stack
+ [treebuilder->context.current_node].ns;
+}
+
+/**
* Peek at the element below the top of the element stack.
*
* \param treebuilder Treebuilder instance