summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_body.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2008-07-07 13:03:24 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2008-07-07 13:03:24 +0000
commit7ba8d4327b849aee00a71bfefa17f5fcf5bb1eaa (patch)
treee875ba2c1ecdeacca4fb2964def68f8453e46211 /src/treebuilder/in_body.c
parentc5aab778cca9b8c579f4241ed76c5dfeac4c8553 (diff)
downloadlibhubbub-7ba8d4327b849aee00a71bfefa17f5fcf5bb1eaa.tar.gz
libhubbub-7ba8d4327b849aee00a71bfefa17f5fcf5bb1eaa.tar.bz2
A bunch of fixes to table handling
svn path=/trunk/hubbub/; revision=4525
Diffstat (limited to 'src/treebuilder/in_body.c')
-rw-r--r--src/treebuilder/in_body.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/treebuilder/in_body.c b/src/treebuilder/in_body.c
index 739e0c2..64c6b5e 100644
--- a/src/treebuilder/in_body.c
+++ b/src/treebuilder/in_body.c
@@ -301,9 +301,17 @@ bool process_start_tag(hubbub_treebuilder *treebuilder,
} else if (type == TABLE) {
process_container_in_body(treebuilder, token);
- if (treebuilder->context.mode == IN_BODY) {
+ /** \todo Section 9.2.3.1 is really vague
+ * Are we meant to reset the insertion mode all the time or
+ * only when we're actually in body? I'd inferred the latter
+ * interpretation from the spec, but that causes breakage on
+ * real-world pages. */
+/* if (treebuilder->context.mode == IN_BODY) {*/
+ treebuilder->context.element_stack[
+ treebuilder->context.current_table].
+ tainted = false;
treebuilder->context.mode = IN_TABLE;
- }
+/* }*/
} else if (type == AREA || type == BASEFONT ||
type == BGSOUND || type == BR ||
type == EMBED || type == IMG || type == PARAM ||