diff options
author | Andrew Sidwell <andy@entai.co.uk> | 2008-07-11 21:15:15 +0000 |
---|---|---|
committer | Andrew Sidwell <andy@entai.co.uk> | 2008-07-11 21:15:15 +0000 |
commit | a06c8e695e1199317c571ec8f481900b79314ef0 (patch) | |
tree | 1eef087a607ecbc87682d80db07625f0baf22ed0 /src/treebuilder/after_after_frameset.c | |
parent | a016790d3573e89ecb270d494d855b6111e5e715 (diff) | |
download | libhubbub-a06c8e695e1199317c571ec8f481900b79314ef0.tar.gz libhubbub-a06c8e695e1199317c571ec8f481900b79314ef0.tar.bz2 |
Fixes to "after after body", "after after frameset", and "in frameset" so that the newly added tests pass.
svn path=/trunk/hubbub/; revision=4624
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; } } |