From 24cadf35148075ab5300ac406a2c87c8496dc0d5 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 5 Jul 2012 20:02:53 +0100 Subject: Add Script complete callback --- src/treebuilder/generic_rcdata.c | 2 +- src/treebuilder/internal.h | 1 + src/treebuilder/treebuilder.c | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/treebuilder/generic_rcdata.c b/src/treebuilder/generic_rcdata.c index 6991dce..29da1c5 100644 --- a/src/treebuilder/generic_rcdata.c +++ b/src/treebuilder/generic_rcdata.c @@ -63,7 +63,7 @@ hubbub_error handle_generic_rcdata(hubbub_treebuilder *treebuilder, } if (type == SCRIPT) { - /** \todo script processing and execution */ + err = complete_script(treebuilder); } done = true; diff --git a/src/treebuilder/internal.h b/src/treebuilder/internal.h index bc2fb9d..503168f 100644 --- a/src/treebuilder/internal.h +++ b/src/treebuilder/internal.h @@ -154,6 +154,7 @@ void close_implied_end_tags(hubbub_treebuilder *treebuilder, void reset_insertion_mode(hubbub_treebuilder *treebuilder); hubbub_error append_text(hubbub_treebuilder *treebuilder, const hubbub_string *string); +hubbub_error complete_script(hubbub_treebuilder *treebuilder); element_type element_type_from_name(hubbub_treebuilder *treebuilder, const hubbub_string *tag_name); diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c index 0e7372a..10433b4 100644 --- a/src/treebuilder/treebuilder.c +++ b/src/treebuilder/treebuilder.c @@ -924,6 +924,22 @@ void reset_insertion_mode(hubbub_treebuilder *treebuilder) } } +/** + * Script processing and execution + * + * \param treebuilder The treebuilder instance + * \return HUBBUB_OK on success, appropriate error otherwise + */ +hubbub_error complete_script(hubbub_treebuilder *treebuilder) +{ + hubbub_error error = HUBBUB_OK; + error = treebuilder->tree_handler->complete_script( + treebuilder->tree_handler->ctx, + treebuilder->context.element_stack[ + treebuilder->context.current_node].node); + return error; +} + /** * Append text to the current node, inserting into the last child of the * current node, iff it's a Text node. -- cgit v1.2.3