summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_body.c
diff options
context:
space:
mode:
authorAndrew Sidwell <andy@entai.co.uk>2008-07-11 16:19:02 +0000
committerAndrew Sidwell <andy@entai.co.uk>2008-07-11 16:19:02 +0000
commit633b3acab1a0640cf3c452f213c37f068283ce51 (patch)
tree245f81573f86b8d9c3c75f102bac334f1b77aec3 /src/treebuilder/in_body.c
parenta08950658b99ee28c583deb8ba2da409cada3c85 (diff)
downloadlibhubbub-633b3acab1a0640cf3c452f213c37f068283ce51.tar.gz
libhubbub-633b3acab1a0640cf3c452f213c37f068283ce51.tar.bz2
Turn on basic MathML support.
svn path=/trunk/hubbub/; revision=4606
Diffstat (limited to 'src/treebuilder/in_body.c')
-rw-r--r--src/treebuilder/in_body.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/treebuilder/in_body.c b/src/treebuilder/in_body.c
index f658293..2ef2cde 100644
--- a/src/treebuilder/in_body.c
+++ b/src/treebuilder/in_body.c
@@ -316,14 +316,19 @@ bool process_start_tag(hubbub_treebuilder *treebuilder,
} else if (type == RP || type == RT) {
/** \todo ruby */
} else if (type == MATH) {
+ hubbub_tag tag = token->data.tag;
+
reconstruct_active_formatting_list(treebuilder);
- /** \todo adjust foreign attributes */
- /** \todo insert foreign element */
+ adjust_foreign_attributes(treebuilder, &tag);
+
+ tag.ns = HUBBUB_NS_MATHML;
+
if (token->data.tag.self_closing) {
- /** \todo pop off the stack of open elements */
+ insert_element_no_push(treebuilder, &tag);
/** \todo ack sc flag */
} else {
- /** \todo set to "in foreign content" */
+ insert_element(treebuilder, &tag);
+ treebuilder->context.mode = IN_FOREIGN_CONTENT;
}
} else if (type == CAPTION || type == COL || type == COLGROUP ||
type == FRAME || type == FRAMESET ||