diff options
Diffstat (limited to 'src/treebuilder/after_after_frameset.c')
-rw-r--r-- | src/treebuilder/after_after_frameset.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/treebuilder/after_after_frameset.c b/src/treebuilder/after_after_frameset.c index 65981ef..11fcf5a 100644 --- a/src/treebuilder/after_after_frameset.c +++ b/src/treebuilder/after_after_frameset.c @@ -27,10 +27,20 @@ bool handle_after_after_frameset(hubbub_treebuilder *treebuilder, bool reprocess = false; switch (token->type) { + case HUBBUB_TOKEN_CHARACTER: + if (process_characters_expect_whitespace(treebuilder, + token, true)) { + treebuilder->context.mode = IN_FRAMESET; + reprocess = true; + } + break; case HUBBUB_TOKEN_COMMENT: + process_comment_append(treebuilder, token, + treebuilder->context.document); + break; case HUBBUB_TOKEN_DOCTYPE: - case HUBBUB_TOKEN_CHARACTER: - handle_in_body(treebuilder, token); + /** \todo parse error */ + /* ignore token */ break; case HUBBUB_TOKEN_START_TAG: { @@ -42,7 +52,7 @@ bool handle_after_after_frameset(hubbub_treebuilder *treebuilder, handle_in_body(treebuilder, token); } else { /** \todo parse error */ - treebuilder->context.mode = IN_BODY; + treebuilder->context.mode = IN_FRAMESET; reprocess = true; } } |