From: Pierre Tachoire <[email protected]>

According with https://wpt.live/dom/nodes/Node-cloneNode.html test,
libdom missed some hmtl tags.
This commit adds tt, acronym, big, bgsound, marquee, noframes, spacer,
strike and nobr tags
---
 include/dom/html/html_elements.h |  9 +++++++++
 src/html/html_document.c         | 27 +++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/include/dom/html/html_elements.h b/include/dom/html/html_elements.h
index 5b54bbe..6e954c5 100644
--- a/include/dom/html/html_elements.h
+++ b/include/dom/html/html_elements.h
@@ -12,6 +12,7 @@
        DOM_HTML_ELEMENT_STRINGS_ENTRY(_UNKNOWN)        \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(A)               \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(ABBR)            \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(ACRONYM)         \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(ADDRESS)         \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(APPLET)          \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(AREA)            \
@@ -23,6 +24,8 @@
        DOM_HTML_ELEMENT_STRINGS_ENTRY(BASEFONT)        \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(BDI)             \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(BDO)             \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(BGSOUND)         \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(BIG)             \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(BLOCKQUOTE)      \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(BODY)            \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(BR)              \
@@ -81,11 +84,14 @@
        DOM_HTML_ELEMENT_STRINGS_ENTRY(MAIN)            \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(MAP)             \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(MARK)            \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(MARQUEE)         \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(MENU)            \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(MENUITEM)        \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(META)            \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(METER)           \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(NAV)             \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(NOBR)            \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(NOFRAMES)        \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(NOSCRIPT)        \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(OBJECT)          \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(OL)              \
@@ -108,7 +114,9 @@
        DOM_HTML_ELEMENT_STRINGS_ENTRY(SELECT)          \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(SMALL)           \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(SOURCE)          \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(SPACER)          \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(SPAN)            \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(STRIKE)          \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(STRONG)          \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(STYLE)           \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(SUB)             \
@@ -126,6 +134,7 @@
        DOM_HTML_ELEMENT_STRINGS_ENTRY(TITLE)           \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(TR)              \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(TRACK)           \
+       DOM_HTML_ELEMENT_STRINGS_ENTRY(TT)              \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(U)               \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(UL)              \
        DOM_HTML_ELEMENT_STRINGS_ENTRY(VAR)             \
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 5471f4f..cf3c25d 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -319,6 +319,8 @@ static inline dom_html_element_type 
_dom_html_document_get_element_type(
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_RP)
                else
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_RT)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_TT)
                break;
        case 3:
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_DIV)
@@ -354,6 +356,8 @@ static inline dom_html_element_type 
_dom_html_document_get_element_type(
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_BDO)
                else
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_WBR)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_BIG)
                break;
        case 4:
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_META)
@@ -395,6 +399,8 @@ static inline dom_html_element_type 
_dom_html_document_get_element_type(
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_BASE)
                else
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_TIME)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_NOBR)
                break;
        case 5:
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_INPUT)
@@ -469,6 +475,10 @@ static inline dom_html_element_type 
_dom_html_document_get_element_type(
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_SOURCE)
                else
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_STRONG)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_SPACER)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_STRIKE)
                break;
        case 7:
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_CAPTION)
@@ -486,6 +496,12 @@ static inline dom_html_element_type 
_dom_html_document_get_element_type(
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_SECTION)
                else
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_SUMMARY)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_ACRONYM)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_BGSOUND)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_MARQUEE)
                break;
        case 8:
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_TEXTAREA)
@@ -509,6 +525,8 @@ static inline dom_html_element_type 
_dom_html_document_get_element_type(
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_PROGRESS)
                else
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_TEMPLATE)
+               else
+               RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_NOFRAMES)
                break;
        case 10:
                RETURN_IF_MATCH(upper, DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE)
@@ -809,8 +827,10 @@ _dom_html_document_create_element_internal(
        case DOM_HTML_ELEMENT_TYPE_EM:
        case DOM_HTML_ELEMENT_TYPE_RP:
        case DOM_HTML_ELEMENT_TYPE_RT:
+       case DOM_HTML_ELEMENT_TYPE_TT:
        case DOM_HTML_ELEMENT_TYPE_BDI:
        case DOM_HTML_ELEMENT_TYPE_BDO:
+       case DOM_HTML_ELEMENT_TYPE_BIG:
        case DOM_HTML_ELEMENT_TYPE_DFN:
        case DOM_HTML_ELEMENT_TYPE_KBD:
        case DOM_HTML_ELEMENT_TYPE_NAV:
@@ -823,6 +843,7 @@ _dom_html_document_create_element_internal(
        case DOM_HTML_ELEMENT_TYPE_CODE:
        case DOM_HTML_ELEMENT_TYPE_MAIN:
        case DOM_HTML_ELEMENT_TYPE_MARK:
+       case DOM_HTML_ELEMENT_TYPE_NOBR:
        case DOM_HTML_ELEMENT_TYPE_RUBY:
        case DOM_HTML_ELEMENT_TYPE_SAMP:
        case DOM_HTML_ELEMENT_TYPE_ASIDE:
@@ -833,10 +854,16 @@ _dom_html_document_create_element_internal(
        case DOM_HTML_ELEMENT_TYPE_HEADER:
        case DOM_HTML_ELEMENT_TYPE_HGROUP:
        case DOM_HTML_ELEMENT_TYPE_STRONG:
+       case DOM_HTML_ELEMENT_TYPE_SPACER:
+       case DOM_HTML_ELEMENT_TYPE_STRIKE:
+       case DOM_HTML_ELEMENT_TYPE_ACRONYM:
        case DOM_HTML_ELEMENT_TYPE_ADDRESS:
        case DOM_HTML_ELEMENT_TYPE_ARTICLE:
+       case DOM_HTML_ELEMENT_TYPE_BGSOUND:
+       case DOM_HTML_ELEMENT_TYPE_MARQUEE:
        case DOM_HTML_ELEMENT_TYPE_SECTION:
        case DOM_HTML_ELEMENT_TYPE_SUMMARY:
+       case DOM_HTML_ELEMENT_TYPE_NOFRAMES:
        case DOM_HTML_ELEMENT_TYPE_NOSCRIPT:
        case DOM_HTML_ELEMENT_TYPE_FIGCAPTION:
                /* These have no specialisation: use HTMLElement */
-- 
2.43.0


Reply via email to