summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_body.c
diff options
context:
space:
mode:
authorRupinder Singh Khokhar <rsk1coder99@gmail.com>2014-07-13 01:31:51 +0530
committerRupinder Singh Khokhar <rsk1coder99@gmail.com>2014-08-01 21:44:33 +0530
commitcc0119cafe9c29bfb42573d65a2012dce8628c76 (patch)
tree15d459b3700b357bf3d6c7ea542798d124dc5b90 /src/treebuilder/in_body.c
parent26173b8ca58d8ef19ba4f3d4c61e7e9803204ae5 (diff)
downloadlibhubbub-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.c10
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) {