summaryrefslogtreecommitdiff
path: root/src/treebuilder/after_after_frameset.c
diff options
context:
space:
mode:
authorAndrew Sidwell <andy@entai.co.uk>2008-07-11 21:15:15 +0000
committerAndrew Sidwell <andy@entai.co.uk>2008-07-11 21:15:15 +0000
commita06c8e695e1199317c571ec8f481900b79314ef0 (patch)
tree1eef087a607ecbc87682d80db07625f0baf22ed0 /src/treebuilder/after_after_frameset.c
parenta016790d3573e89ecb270d494d855b6111e5e715 (diff)
downloadlibhubbub-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.c16
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;
}
}