summaryrefslogtreecommitdiff
path: root/src/treebuilder/after_after_frameset.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/treebuilder/after_after_frameset.c')
-rw-r--r--src/treebuilder/after_after_frameset.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/treebuilder/after_after_frameset.c b/src/treebuilder/after_after_frameset.c
index f068714..e9d1176 100644
--- a/src/treebuilder/after_after_frameset.c
+++ b/src/treebuilder/after_after_frameset.c
@@ -25,23 +25,28 @@ hubbub_error handle_after_after_frameset(hubbub_treebuilder *treebuilder,
const hubbub_token *token)
{
hubbub_error err = HUBBUB_OK;
-
switch (token->type) {
case HUBBUB_TOKEN_CHARACTER:
- err = process_characters_expect_whitespace(treebuilder,
- token, true);
- if (err == HUBBUB_REPROCESS)
- treebuilder->context.mode = IN_FRAMESET;
+ {
+ const uint8_t *data = token->data.character.ptr;
+ uint8_t c = data[0];
+ if (c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == '\f') {
+ err = handle_in_body(treebuilder, token);
+ }
+
+ }
break;
case HUBBUB_TOKEN_COMMENT:
err = process_comment_append(treebuilder, token,
treebuilder->context.document);
break;
case HUBBUB_TOKEN_END_TAG:
- case HUBBUB_TOKEN_DOCTYPE:
/** \todo parse error */
/* ignore token */
break;
+ case HUBBUB_TOKEN_DOCTYPE:
+ err = handle_in_body(treebuilder, token);
+ break;
case HUBBUB_TOKEN_START_TAG:
{
element_type type = element_type_from_name(treebuilder,