summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2020-05-22 12:07:16 +0100
committerMichael Drake <michael.drake@codethink.co.uk>2020-05-22 12:07:16 +0100
commit595df53b981454939c903182248bd9d983f380b3 (patch)
tree1061341553ce017effba2c0e4fc63faa5a830601
parent4d0a0f5290c8dcc31fef17aaed0788bb1309f9bd (diff)
downloadlibhubbub-595df53b981454939c903182248bd9d983f380b3.tar.gz
libhubbub-595df53b981454939c903182248bd9d983f380b3.tar.bz2
Treebuilder: Add some new element names.
-rw-r--r--src/treebuilder/in_body.c21
-rw-r--r--src/treebuilder/internal.h12
-rw-r--r--src/treebuilder/treebuilder.c10
3 files changed, 28 insertions, 15 deletions
diff --git a/src/treebuilder/in_body.c b/src/treebuilder/in_body.c
index 5157e66..0e4184c 100644
--- a/src/treebuilder/in_body.c
+++ b/src/treebuilder/in_body.c
@@ -267,9 +267,10 @@ hubbub_error process_start_tag(hubbub_treebuilder *treebuilder,
type == DATAGRID || type == DETAILS ||
type == DIALOG || type == DIR ||
type == DIV || type == DL || type == FIELDSET ||
- type == FIGURE || type == FOOTER ||
- type == HEADER || type == MENU || type == NAV ||
- type == OL || type == P || type == SECTION ||
+ type == FIGCAPTION || type == FIGURE ||
+ type == FOOTER || type == HEADER || type == MAIN ||
+ type == MENU || type == NAV || type == OL ||
+ type == P || type == SECTION || type == SUMMARY ||
type == UL) {
err = process_container_in_body(treebuilder, token);
} else if (type == H1 || type == H2 || type == H3 ||
@@ -430,12 +431,14 @@ hubbub_error process_end_tag(hubbub_treebuilder *treebuilder,
* that wasn't ignored, reprocess this token */
err = process_0body_in_body(treebuilder);
} else if (type == ADDRESS || type == ARTICLE || type == ASIDE ||
- type == BLOCKQUOTE || type == CENTER || type == DIR ||
- type == DATAGRID || type == DIV || type == DL ||
- type == FIELDSET || type == FOOTER || type == HEADER ||
- type == LISTING || type == MENU || type == NAV ||
- type == OL || type == PRE || type == SECTION ||
- type == UL) {
+ type == BLOCKQUOTE || type == CENTER ||
+ type == DETAILS || type == DIALOG || type == DIR ||
+ type == DATAGRID || type == DIV || type == DL ||
+ type == FIELDSET || type == FIGCAPTION ||
+ type == FIGURE || type == FOOTER || type == HEADER ||
+ type == LISTING || type == MAIN|| type == MENU ||
+ type == NAV || type == OL || type == PRE ||
+ type == SECTION || type == SUMMARY || type == UL) {
err = process_0container_in_body(treebuilder, type);
} else if (type == FORM) {
err = process_0form_in_body(treebuilder);
diff --git a/src/treebuilder/internal.h b/src/treebuilder/internal.h
index 58c21d6..3c112c9 100644
--- a/src/treebuilder/internal.h
+++ b/src/treebuilder/internal.h
@@ -15,12 +15,12 @@ typedef enum
/* Special */
ADDRESS, AREA, ARTICLE, ASIDE, BASE, BASEFONT, BGSOUND, BLOCKQUOTE,
BODY, BR, CENTER, COL, COLGROUP, COMMAND, DATAGRID, DD, DETAILS,
- DIALOG, DIR, DIV, DL, DT, EMBED, FIELDSET, FIGURE, FOOTER, FORM, FRAME,
- FRAMESET, H1, H2, H3, H4, H5, H6, HEAD, HEADER, HR, IFRAME, IMAGE, IMG,
- INPUT, ISINDEX, LI, LINK, LISTING, MENU, META, NAV, NOEMBED, NOFRAMES,
- NOSCRIPT, OL, OPTGROUP, OPTION, P, PARAM, PLAINTEXT, PRE, SCRIPT,
- SECTION, SELECT, SPACER, STYLE, TBODY, TEXTAREA, TFOOT, THEAD, TITLE,
- TR, UL, WBR,
+ DIALOG, DIR, DIV, DL, DT, EMBED, FIELDSET, FIGCAPTION, FIGURE, FOOTER,
+ FORM, FRAME, FRAMESET, H1, H2, H3, H4, H5, H6, HEAD, HEADER, HR, IFRAME,
+ IMAGE, IMG, INPUT, ISINDEX, LI, LINK, LISTING, MAIN, MENU, META, NAV,
+ NOEMBED, NOFRAMES, NOSCRIPT, OL, OPTGROUP, OPTION, P, PARAM, PLAINTEXT,
+ PRE, SCRIPT, SECTION, SELECT, SPACER, STYLE, SUMMARY, TBODY, TEXTAREA,
+ TFOOT, THEAD, TITLE, TR, UL, WBR,
/* Scoping */
APPLET, BUTTON, CAPTION, HTML, MARQUEE, OBJECT, TABLE, TD, TH,
/* Formatting */
diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c
index 0c171e3..b84ca11 100644
--- a/src/treebuilder/treebuilder.c
+++ b/src/treebuilder/treebuilder.c
@@ -27,6 +27,8 @@ static const struct {
} name_type_map[] = {
{ S("address"), ADDRESS },
{ S("area"), AREA },
+ { S("article"), ARTICLE },
+ { S("aside"), ASIDE },
{ S("base"), BASE },
{ S("basefont"), BASEFONT },
{ S("bgsound"), BGSOUND },
@@ -36,13 +38,19 @@ static const struct {
{ S("center"), CENTER },
{ S("col"), COL },
{ S("colgroup"), COLGROUP },
+ { S("command"), COMMAND },
{ S("dd"), DD },
+ { S("details"), DETAILS },
+ { S("dialog"), DIALOG },
{ S("dir"), DIR },
{ S("div"), DIV },
{ S("dl"), DL },
{ S("dt"), DT },
{ S("embed"), EMBED },
{ S("fieldset"), FIELDSET },
+ { S("figcaption"), FIGCAPTION },
+ { S("figure"), FIGURE },
+ { S("footer"), FOOTER },
{ S("form"), FORM },
{ S("frame"), FRAME },
{ S("frameset"), FRAMESET },
@@ -79,6 +87,7 @@ static const struct {
{ S("select"), SELECT },
{ S("spacer"), SPACER },
{ S("style"), STYLE },
+ { S("summary"), SUMMARY },
{ S("tbody"), TBODY },
{ S("textarea"), TEXTAREA },
{ S("tfoot"), TFOOT },
@@ -111,6 +120,7 @@ static const struct {
{ S("strong"), STRONG },
{ S("tt"), TT },
{ S("u"), U },
+
{ S("xmp"), XMP },
{ S("math"), MATH },