diff options
author | Andrew Sidwell <andy@entai.co.uk> | 2008-08-10 15:52:44 +0000 |
---|---|---|
committer | Andrew Sidwell <andy@entai.co.uk> | 2008-08-10 15:52:44 +0000 |
commit | 2ae59ba6c47e1b062536e3835e429ad1a17bee6f (patch) | |
tree | 974221ad82b047ed09bcf088b5385f052ea4756b /src/treebuilder | |
parent | 086bd1eef17d63b36a47ac954b1d90fff3d4115d (diff) | |
download | libhubbub-2ae59ba6c47e1b062536e3835e429ad1a17bee6f.tar.gz libhubbub-2ae59ba6c47e1b062536e3835e429ad1a17bee6f.tar.bz2 |
Simplify in_head.c; make sure return codes from handle_in_head() get propagated properly.
svn path=/trunk/hubbub/; revision=4990
Diffstat (limited to 'src/treebuilder')
-rw-r--r-- | src/treebuilder/after_frameset.c | 2 | ||||
-rw-r--r-- | src/treebuilder/in_body.c | 2 | ||||
-rw-r--r-- | src/treebuilder/in_frameset.c | 2 | ||||
-rw-r--r-- | src/treebuilder/in_head.c | 23 | ||||
-rw-r--r-- | src/treebuilder/in_table.c | 2 |
5 files changed, 6 insertions, 25 deletions
diff --git a/src/treebuilder/after_frameset.c b/src/treebuilder/after_frameset.c index 0719b07..a94eb86 100644 --- a/src/treebuilder/after_frameset.c +++ b/src/treebuilder/after_frameset.c @@ -49,7 +49,7 @@ hubbub_error handle_after_frameset(hubbub_treebuilder *treebuilder, if (type == HTML) { handle_in_body(treebuilder, token); } else if (type == NOFRAMES) { - handle_in_head(treebuilder, token); + err = handle_in_head(treebuilder, token); } else { /** \todo parse error */ } diff --git a/src/treebuilder/in_body.c b/src/treebuilder/in_body.c index 556862b..6be930d 100644 --- a/src/treebuilder/in_body.c +++ b/src/treebuilder/in_body.c @@ -221,7 +221,7 @@ bool process_start_tag(hubbub_treebuilder *treebuilder, type == META || type == NOFRAMES || type == SCRIPT || type == STYLE || type == TITLE) { /* Process as "in head" */ - handle_in_head(treebuilder, token); + err = handle_in_head(treebuilder, token); } else if (type == BODY) { process_body_in_body(treebuilder, token); } else if (type == ADDRESS || type == ARTICLE || type == ASIDE || diff --git a/src/treebuilder/in_frameset.c b/src/treebuilder/in_frameset.c index 2cae20c..221313e 100644 --- a/src/treebuilder/in_frameset.c +++ b/src/treebuilder/in_frameset.c @@ -54,7 +54,7 @@ hubbub_error handle_in_frameset(hubbub_treebuilder *treebuilder, insert_element_no_push(treebuilder, &token->data.tag); /** \todo ack sc flag */ } else if (type == NOFRAMES) { - handle_in_head(treebuilder, token); + err = handle_in_head(treebuilder, token); } else { /** \todo parse error */ } diff --git a/src/treebuilder/in_head.c b/src/treebuilder/in_head.c index 710fdce..034be21 100644 --- a/src/treebuilder/in_head.c +++ b/src/treebuilder/in_head.c @@ -14,23 +14,6 @@ #include "utils/utils.h" -/** - * Process a <base>, <link>, or <meta> start tag as if in "in head" - * - * \param treebuilder The treebuilder instance - * \param token The token to process - * \param type The type of element (BASE, LINK, or META) - */ -static void process_base_link_meta_in_head(hubbub_treebuilder *treebuilder, - const hubbub_token *token, element_type type) -{ - insert_element_no_push(treebuilder, &token->data.tag); - - if (type == META) { - /** \todo charset extraction */ - } -} - /** * Process a <script> start tag as if in "in head" @@ -114,13 +97,11 @@ hubbub_error handle_in_head(hubbub_treebuilder *treebuilder, handle_in_body(treebuilder, token); } else if (type == BASE || type == COMMAND || type == EVENTSOURCE || type == LINK) { - process_base_link_meta_in_head(treebuilder, - token, type); + insert_element_no_push(treebuilder, &token->data.tag); /** \todo ack sc flag */ } else if (type == META) { - process_base_link_meta_in_head(treebuilder, - token, type); + insert_element_no_push(treebuilder, &token->data.tag); /** \todo ack sc flag */ diff --git a/src/treebuilder/in_table.c b/src/treebuilder/in_table.c index 65a8b94..3a531a5 100644 --- a/src/treebuilder/in_table.c +++ b/src/treebuilder/in_table.c @@ -164,7 +164,7 @@ hubbub_error handle_in_table(hubbub_treebuilder *treebuilder, err = HUBBUB_REPROCESS; } else if (!tainted && (type == STYLE || type == SCRIPT)) { - handle_in_head(treebuilder, token); + err = handle_in_head(treebuilder, token); } else if (!tainted && type == INPUT) { handled = process_input_in_table(treebuilder, token); } else { |