summaryrefslogtreecommitdiff
path: root/src/treebuilder
diff options
context:
space:
mode:
authorAndrew Sidwell <andy@entai.co.uk>2008-07-09 16:15:49 +0000
committerAndrew Sidwell <andy@entai.co.uk>2008-07-09 16:15:49 +0000
commitfeb9c2adced5f29a4d4ef0782b2bc880a212dc66 (patch)
treef1444d58a405e8fc551faba606b75e3fb34e02e1 /src/treebuilder
parentc32c49be6738551acdd5bbd94360e9973c921190 (diff)
downloadlibhubbub-feb9c2adced5f29a4d4ef0782b2bc880a212dc66.tar.gz
libhubbub-feb9c2adced5f29a4d4ef0782b2bc880a212dc66.tar.bz2
Exorcise process_tag_in_body(), and just use handle_in_body() instead. This makes all the tests "pass".
svn path=/trunk/hubbub/; revision=4545
Diffstat (limited to 'src/treebuilder')
-rw-r--r--src/treebuilder/after_after_body.c2
-rw-r--r--src/treebuilder/after_after_frameset.c4
-rw-r--r--src/treebuilder/after_body.c2
-rw-r--r--src/treebuilder/after_frameset.c2
-rw-r--r--src/treebuilder/after_head.c2
-rw-r--r--src/treebuilder/before_head.c2
-rw-r--r--src/treebuilder/in_body.c39
-rw-r--r--src/treebuilder/in_caption.c6
-rw-r--r--src/treebuilder/in_column_group.c2
-rw-r--r--src/treebuilder/in_frameset.c2
-rw-r--r--src/treebuilder/in_head.c2
-rw-r--r--src/treebuilder/in_head_noscript.c2
-rw-r--r--src/treebuilder/in_select.c2
-rw-r--r--src/treebuilder/in_table.c2
-rw-r--r--src/treebuilder/modes.h2
15 files changed, 16 insertions, 57 deletions
diff --git a/src/treebuilder/after_after_body.c b/src/treebuilder/after_after_body.c
index a3f11fb..35e5500 100644
--- a/src/treebuilder/after_after_body.c
+++ b/src/treebuilder/after_after_body.c
@@ -39,7 +39,7 @@ bool handle_after_after_body(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else {
/** \todo parse error */
treebuilder->context.mode = IN_BODY;
diff --git a/src/treebuilder/after_after_frameset.c b/src/treebuilder/after_after_frameset.c
index 6227825..65981ef 100644
--- a/src/treebuilder/after_after_frameset.c
+++ b/src/treebuilder/after_after_frameset.c
@@ -30,7 +30,7 @@ bool handle_after_after_frameset(hubbub_treebuilder *treebuilder,
case HUBBUB_TOKEN_COMMENT:
case HUBBUB_TOKEN_DOCTYPE:
case HUBBUB_TOKEN_CHARACTER:
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
break;
case HUBBUB_TOKEN_START_TAG:
{
@@ -39,7 +39,7 @@ bool handle_after_after_frameset(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else {
/** \todo parse error */
treebuilder->context.mode = IN_BODY;
diff --git a/src/treebuilder/after_body.c b/src/treebuilder/after_body.c
index 81c654a..00d44f8 100644
--- a/src/treebuilder/after_body.c
+++ b/src/treebuilder/after_body.c
@@ -80,7 +80,7 @@ bool handle_after_body(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else {
/** \todo parse error */
treebuilder->context.mode = IN_BODY;
diff --git a/src/treebuilder/after_frameset.c b/src/treebuilder/after_frameset.c
index 1d0a740..37a03a5 100644
--- a/src/treebuilder/after_frameset.c
+++ b/src/treebuilder/after_frameset.c
@@ -47,7 +47,7 @@ bool handle_after_frameset(hubbub_treebuilder *treebuilder,
&token->data.tag.name);
if (type == HTML) {
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else if (type == NOFRAMES) {
process_in_head(treebuilder, token);
} else {
diff --git a/src/treebuilder/after_head.c b/src/treebuilder/after_head.c
index 6c4197f..60b84a7 100644
--- a/src/treebuilder/after_head.c
+++ b/src/treebuilder/after_head.c
@@ -47,7 +47,7 @@ bool handle_after_head(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else if (type == BODY) {
handled = true;
} else if (type == FRAMESET) {
diff --git a/src/treebuilder/before_head.c b/src/treebuilder/before_head.c
index 1534ff8..2e73355 100644
--- a/src/treebuilder/before_head.c
+++ b/src/treebuilder/before_head.c
@@ -47,7 +47,7 @@ bool handle_before_head(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else if (type == HEAD) {
handled = true;
} else {
diff --git a/src/treebuilder/in_body.c b/src/treebuilder/in_body.c
index fa015d2..9d91aaf 100644
--- a/src/treebuilder/in_body.c
+++ b/src/treebuilder/in_body.c
@@ -203,45 +203,6 @@ void process_character(hubbub_treebuilder *treebuilder,
}
/**
- * Process a tag as if in "in body" mode
- *
- * \param treebuilder The treebuilder instance
- * \param token The token to process
- * \return True to reprocess the token
- */
-bool process_tag_in_body(hubbub_treebuilder *treebuilder,
- const hubbub_token *token)
-{
- bool reprocess = false;
-
- if (treebuilder->context.strip_leading_lr &&
- token->type != HUBBUB_TOKEN_CHARACTER) {
- /* Reset the LR stripping flag */
- treebuilder->context.strip_leading_lr = false;
- }
-
- switch (token->type)
- {
- case HUBBUB_TOKEN_CHARACTER:
- process_character(treebuilder, token);
- break;
- case HUBBUB_TOKEN_START_TAG:
- reprocess = process_start_tag(treebuilder, token);
- break;
- case HUBBUB_TOKEN_END_TAG:
- reprocess = process_end_tag(treebuilder, token);
- break;
- case HUBBUB_TOKEN_COMMENT:
- case HUBBUB_TOKEN_DOCTYPE:
- case HUBBUB_TOKEN_EOF:
- assert(0);
- break;
- }
-
- return reprocess;
-}
-
-/**
* Process a start tag
*
* \param treebuilder The treebuilder instance
diff --git a/src/treebuilder/in_caption.c b/src/treebuilder/in_caption.c
index 4f7fe21..d6a1972 100644
--- a/src/treebuilder/in_caption.c
+++ b/src/treebuilder/in_caption.c
@@ -40,7 +40,7 @@ bool handle_in_caption(hubbub_treebuilder *treebuilder,
handled = true;
} else {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
}
}
break;
@@ -59,7 +59,7 @@ bool handle_in_caption(hubbub_treebuilder *treebuilder,
/** \todo parse error */
} else {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
}
}
break;
@@ -68,7 +68,7 @@ bool handle_in_caption(hubbub_treebuilder *treebuilder,
case HUBBUB_TOKEN_DOCTYPE:
case HUBBUB_TOKEN_EOF:
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
break;
}
diff --git a/src/treebuilder/in_column_group.c b/src/treebuilder/in_column_group.c
index 07454ee..bcd1ebe 100644
--- a/src/treebuilder/in_column_group.c
+++ b/src/treebuilder/in_column_group.c
@@ -49,7 +49,7 @@ bool handle_in_column_group(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else if (type == COL) {
insert_element_no_push(treebuilder, &token->data.tag);
diff --git a/src/treebuilder/in_frameset.c b/src/treebuilder/in_frameset.c
index 465f7e6..923f2db 100644
--- a/src/treebuilder/in_frameset.c
+++ b/src/treebuilder/in_frameset.c
@@ -47,7 +47,7 @@ bool handle_in_frameset(hubbub_treebuilder *treebuilder,
&token->data.tag.name);
if (type == HTML) {
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else if (type == FRAMESET) {
insert_element(treebuilder, &token->data.tag);
} else if (type == FRAME) {
diff --git a/src/treebuilder/in_head.c b/src/treebuilder/in_head.c
index 925bf57..58955e5 100644
--- a/src/treebuilder/in_head.c
+++ b/src/treebuilder/in_head.c
@@ -111,7 +111,7 @@ bool handle_in_head(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else if (type == BASE || type == COMMAND ||
type == EVENT_SOURCE || type == LINK) {
process_base_link_meta_in_head(treebuilder,
diff --git a/src/treebuilder/in_head_noscript.c b/src/treebuilder/in_head_noscript.c
index 4eebf4e..cea5d88 100644
--- a/src/treebuilder/in_head_noscript.c
+++ b/src/treebuilder/in_head_noscript.c
@@ -44,7 +44,7 @@ bool handle_in_head_noscript(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else if (type == NOSCRIPT) {
handled = true;
} else if (type == LINK || type == META || type == NOFRAMES ||
diff --git a/src/treebuilder/in_select.c b/src/treebuilder/in_select.c
index df286ed..8a60b60 100644
--- a/src/treebuilder/in_select.c
+++ b/src/treebuilder/in_select.c
@@ -49,7 +49,7 @@ bool handle_in_select(hubbub_treebuilder *treebuilder,
if (type == HTML) {
/* Process as if "in body" */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
} else if (type == OPTION) {
if (current_node(treebuilder) == OPTION) {
if (!element_stack_pop(treebuilder, &ns, &otype,
diff --git a/src/treebuilder/in_table.c b/src/treebuilder/in_table.c
index e43a423..ad4c5b9 100644
--- a/src/treebuilder/in_table.c
+++ b/src/treebuilder/in_table.c
@@ -207,7 +207,7 @@ bool handle_in_table(hubbub_treebuilder *treebuilder,
}
/** \todo parse error */
- process_tag_in_body(treebuilder, token);
+ handle_in_body(treebuilder, token);
treebuilder->context.in_table_foster = false;
}
diff --git a/src/treebuilder/modes.h b/src/treebuilder/modes.h
index b1820d2..7c0a87b 100644
--- a/src/treebuilder/modes.h
+++ b/src/treebuilder/modes.h
@@ -94,7 +94,5 @@ bool process_in_table(hubbub_treebuilder *treebuilder,
const hubbub_token *token);
bool process_in_select(hubbub_treebuilder *treebuilder,
const hubbub_token *token);
-bool process_tag_in_body(hubbub_treebuilder *treebuilder,
- const hubbub_token *token);
#endif