diff options
author | Rupinder Singh Khokhar <rsk1coder99@gmail.com> | 2014-07-13 01:31:51 +0530 |
---|---|---|
committer | Rupinder Singh Khokhar <rsk1coder99@gmail.com> | 2014-08-01 21:44:33 +0530 |
commit | cc0119cafe9c29bfb42573d65a2012dce8628c76 (patch) | |
tree | 15d459b3700b357bf3d6c7ea542798d124dc5b90 /src/treebuilder/in_body.c | |
parent | 26173b8ca58d8ef19ba4f3d4c61e7e9803204ae5 (diff) | |
download | libhubbub-cc0119cafe9c29bfb42573d65a2012dce8628c76.tar.gz libhubbub-cc0119cafe9c29bfb42573d65a2012dce8628c76.tar.bz2 |
Fixed dd/dt/li start tag handler once again. Also fixed resting of insertion mode. Also fixed some things in after_after_frameset state
Diffstat (limited to 'src/treebuilder/in_body.c')
-rw-r--r-- | src/treebuilder/in_body.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/treebuilder/in_body.c b/src/treebuilder/in_body.c index f5fdc89..d684702 100644 --- a/src/treebuilder/in_body.c +++ b/src/treebuilder/in_body.c @@ -785,8 +785,7 @@ hubbub_error process_dd_dt_li_in_body(hubbub_treebuilder *treebuilder, (ntype == DD || ntype == DT))) break; - if (!is_formatting_element(ntype) && - !is_phrasing_element(ntype) && + if (is_special_element(ntype) && ntype != ADDRESS && ntype != DIV && ntype != P) @@ -794,10 +793,11 @@ hubbub_error process_dd_dt_li_in_body(hubbub_treebuilder *treebuilder, } /* If we found one, then pop all nodes up to and including it */ - if (stack[node].type == LI || stack[node].type == DD || - stack[node].type == DT) { + if((stack[node].type == LI && type == LI) || + ((stack[node].type == DT || stack[node].type == DD) && + (type == DD || type == DT))) { - close_implied_end_tags(treebuilder, type); + close_implied_end_tags(treebuilder, stack[node].type); /* Check that we're only popping one node * and emit a parse error if not */ if (treebuilder->context.current_node > node) { |