From 1464b39df09d285c440dcb0388ecb5dfd64590fb Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sat, 7 Jul 2012 17:12:02 +0100 Subject: HTMLDocument: Allow memoised strings to differ from their names --- src/html/html_document.c | 6 +- src/html/html_document_strings.h | 153 +++++++++++++++++++++------------------ 2 files changed, 84 insertions(+), 75 deletions(-) diff --git a/src/html/html_document.c b/src/html/html_document.c index 288de82..69b40eb 100644 --- a/src/html/html_document.c +++ b/src/html/html_document.c @@ -86,9 +86,9 @@ dom_exception _dom_html_document_initialise(dom_html_document *doc, goto out; } -#define HTML_DOCUMENT_STRINGS_ACTION(attr) \ - error = dom_string_create_interned((const uint8_t *) #attr, \ - SLEN(#attr), &doc->memoised[hds_##attr]); \ +#define HTML_DOCUMENT_STRINGS_ACTION(attr,str) \ + error = dom_string_create_interned((const uint8_t *) #str, \ + SLEN(#str), &doc->memoised[hds_##attr]); \ if (error != DOM_NO_ERR) { \ goto out; \ } diff --git a/src/html/html_document_strings.h b/src/html/html_document_strings.h index 6be5846..c179e0b 100644 --- a/src/html/html_document_strings.h +++ b/src/html/html_document_strings.h @@ -16,93 +16,102 @@ #define HTML_DOCUMENT_STRINGS_SUFFIX \ hds_COUNT \ } html_document_memo_string_e; -#define HTML_DOCUMENT_STRINGS_ACTION(tag) \ +#define HTML_DOCUMENT_STRINGS_ACTION(tag,str) \ hds_##tag, #endif +#define HTML_DOCUMENT_STRINGS_ACTION1(x) HTML_DOCUMENT_STRINGS_ACTION(x,x) + #ifdef HTML_DOCUMENT_STRINGS_PREFIX HTML_DOCUMENT_STRINGS_PREFIX #endif /* Useful attributes for HTMLElement */ -HTML_DOCUMENT_STRINGS_ACTION(id) -HTML_DOCUMENT_STRINGS_ACTION(title) -HTML_DOCUMENT_STRINGS_ACTION(lang) -HTML_DOCUMENT_STRINGS_ACTION(dir) -HTML_DOCUMENT_STRINGS_ACTION(class) +HTML_DOCUMENT_STRINGS_ACTION1(id) +HTML_DOCUMENT_STRINGS_ACTION1(title) +HTML_DOCUMENT_STRINGS_ACTION1(lang) +HTML_DOCUMENT_STRINGS_ACTION1(dir) +HTML_DOCUMENT_STRINGS_ACTION1(class) /* Useful attributes used by HTMLHtmlElement */ -HTML_DOCUMENT_STRINGS_ACTION(version) +HTML_DOCUMENT_STRINGS_ACTION1(version) /* Useful attributes used by HTMLHeadElement */ -HTML_DOCUMENT_STRINGS_ACTION(profile) +HTML_DOCUMENT_STRINGS_ACTION1(profile) +/* Useful attributes used by HTMLFormElement */ +HTML_DOCUMENT_STRINGS_ACTION(accept_charset,accept-charset) +HTML_DOCUMENT_STRINGS_ACTION1(action) +HTML_DOCUMENT_STRINGS_ACTION1(enctype) +HTML_DOCUMENT_STRINGS_ACTION1(method) +HTML_DOCUMENT_STRINGS_ACTION1(target) /* Names for elements which get specialised. */ -HTML_DOCUMENT_STRINGS_ACTION(HTML) -HTML_DOCUMENT_STRINGS_ACTION(HEAD) -HTML_DOCUMENT_STRINGS_ACTION(LINK) -HTML_DOCUMENT_STRINGS_ACTION(TITLE) -HTML_DOCUMENT_STRINGS_ACTION(META) -HTML_DOCUMENT_STRINGS_ACTION(BASE) -HTML_DOCUMENT_STRINGS_ACTION(ISINDEX) -HTML_DOCUMENT_STRINGS_ACTION(STYLE) -HTML_DOCUMENT_STRINGS_ACTION(BODY) -HTML_DOCUMENT_STRINGS_ACTION(FORM) -HTML_DOCUMENT_STRINGS_ACTION(SELECT) -HTML_DOCUMENT_STRINGS_ACTION(OPTGROUP) -HTML_DOCUMENT_STRINGS_ACTION(OPTION) -HTML_DOCUMENT_STRINGS_ACTION(INPUT) -HTML_DOCUMENT_STRINGS_ACTION(TEXTAREA) -HTML_DOCUMENT_STRINGS_ACTION(BUTTON) -HTML_DOCUMENT_STRINGS_ACTION(LABEL) -HTML_DOCUMENT_STRINGS_ACTION(FIELDSET) -HTML_DOCUMENT_STRINGS_ACTION(LEGEND) -HTML_DOCUMENT_STRINGS_ACTION(UL) -HTML_DOCUMENT_STRINGS_ACTION(OL) -HTML_DOCUMENT_STRINGS_ACTION(DL) -HTML_DOCUMENT_STRINGS_ACTION(DIR) -HTML_DOCUMENT_STRINGS_ACTION(MENU) -HTML_DOCUMENT_STRINGS_ACTION(LI) -HTML_DOCUMENT_STRINGS_ACTION(BLOCKQUOTE) -HTML_DOCUMENT_STRINGS_ACTION(DIV) -HTML_DOCUMENT_STRINGS_ACTION(P) -HTML_DOCUMENT_STRINGS_ACTION(H1) -HTML_DOCUMENT_STRINGS_ACTION(H2) -HTML_DOCUMENT_STRINGS_ACTION(H3) -HTML_DOCUMENT_STRINGS_ACTION(H4) -HTML_DOCUMENT_STRINGS_ACTION(H5) -HTML_DOCUMENT_STRINGS_ACTION(H6) -HTML_DOCUMENT_STRINGS_ACTION(Q) -HTML_DOCUMENT_STRINGS_ACTION(PRE) -HTML_DOCUMENT_STRINGS_ACTION(BR) -HTML_DOCUMENT_STRINGS_ACTION(BASEFONT) -HTML_DOCUMENT_STRINGS_ACTION(FONT) -HTML_DOCUMENT_STRINGS_ACTION(HR) -HTML_DOCUMENT_STRINGS_ACTION(INS) -HTML_DOCUMENT_STRINGS_ACTION(DEL) -HTML_DOCUMENT_STRINGS_ACTION(A) -HTML_DOCUMENT_STRINGS_ACTION(IMG) -HTML_DOCUMENT_STRINGS_ACTION(OBJECT) -HTML_DOCUMENT_STRINGS_ACTION(PARAM) -HTML_DOCUMENT_STRINGS_ACTION(APPLET) -HTML_DOCUMENT_STRINGS_ACTION(MAP) -HTML_DOCUMENT_STRINGS_ACTION(AREA) -HTML_DOCUMENT_STRINGS_ACTION(SCRIPT) -HTML_DOCUMENT_STRINGS_ACTION(TABLE) -HTML_DOCUMENT_STRINGS_ACTION(CAPTION) -HTML_DOCUMENT_STRINGS_ACTION(COL) -HTML_DOCUMENT_STRINGS_ACTION(COLGROUP) -HTML_DOCUMENT_STRINGS_ACTION(THEAD) -HTML_DOCUMENT_STRINGS_ACTION(TFOOT) -HTML_DOCUMENT_STRINGS_ACTION(TBODY) -HTML_DOCUMENT_STRINGS_ACTION(TR) -HTML_DOCUMENT_STRINGS_ACTION(TH) -HTML_DOCUMENT_STRINGS_ACTION(TD) -HTML_DOCUMENT_STRINGS_ACTION(FRAMESET) -HTML_DOCUMENT_STRINGS_ACTION(FRAME) -HTML_DOCUMENT_STRINGS_ACTION(IFRAME) +HTML_DOCUMENT_STRINGS_ACTION1(HTML) +HTML_DOCUMENT_STRINGS_ACTION1(HEAD) +HTML_DOCUMENT_STRINGS_ACTION1(LINK) +HTML_DOCUMENT_STRINGS_ACTION1(TITLE) +HTML_DOCUMENT_STRINGS_ACTION1(META) +HTML_DOCUMENT_STRINGS_ACTION1(BASE) +HTML_DOCUMENT_STRINGS_ACTION1(ISINDEX) +HTML_DOCUMENT_STRINGS_ACTION1(STYLE) +HTML_DOCUMENT_STRINGS_ACTION1(BODY) +HTML_DOCUMENT_STRINGS_ACTION1(FORM) +HTML_DOCUMENT_STRINGS_ACTION1(SELECT) +HTML_DOCUMENT_STRINGS_ACTION1(OPTGROUP) +HTML_DOCUMENT_STRINGS_ACTION1(OPTION) +HTML_DOCUMENT_STRINGS_ACTION1(INPUT) +HTML_DOCUMENT_STRINGS_ACTION1(TEXTAREA) +HTML_DOCUMENT_STRINGS_ACTION1(BUTTON) +HTML_DOCUMENT_STRINGS_ACTION1(LABEL) +HTML_DOCUMENT_STRINGS_ACTION1(FIELDSET) +HTML_DOCUMENT_STRINGS_ACTION1(LEGEND) +HTML_DOCUMENT_STRINGS_ACTION1(UL) +HTML_DOCUMENT_STRINGS_ACTION1(OL) +HTML_DOCUMENT_STRINGS_ACTION1(DL) +HTML_DOCUMENT_STRINGS_ACTION1(DIR) +HTML_DOCUMENT_STRINGS_ACTION1(MENU) +HTML_DOCUMENT_STRINGS_ACTION1(LI) +HTML_DOCUMENT_STRINGS_ACTION1(BLOCKQUOTE) +HTML_DOCUMENT_STRINGS_ACTION1(DIV) +HTML_DOCUMENT_STRINGS_ACTION1(P) +HTML_DOCUMENT_STRINGS_ACTION1(H1) +HTML_DOCUMENT_STRINGS_ACTION1(H2) +HTML_DOCUMENT_STRINGS_ACTION1(H3) +HTML_DOCUMENT_STRINGS_ACTION1(H4) +HTML_DOCUMENT_STRINGS_ACTION1(H5) +HTML_DOCUMENT_STRINGS_ACTION1(H6) +HTML_DOCUMENT_STRINGS_ACTION1(Q) +HTML_DOCUMENT_STRINGS_ACTION1(PRE) +HTML_DOCUMENT_STRINGS_ACTION1(BR) +HTML_DOCUMENT_STRINGS_ACTION1(BASEFONT) +HTML_DOCUMENT_STRINGS_ACTION1(FONT) +HTML_DOCUMENT_STRINGS_ACTION1(HR) +HTML_DOCUMENT_STRINGS_ACTION1(INS) +HTML_DOCUMENT_STRINGS_ACTION1(DEL) +HTML_DOCUMENT_STRINGS_ACTION1(A) +HTML_DOCUMENT_STRINGS_ACTION1(IMG) +HTML_DOCUMENT_STRINGS_ACTION1(OBJECT) +HTML_DOCUMENT_STRINGS_ACTION1(PARAM) +HTML_DOCUMENT_STRINGS_ACTION1(APPLET) +HTML_DOCUMENT_STRINGS_ACTION1(MAP) +HTML_DOCUMENT_STRINGS_ACTION1(AREA) +HTML_DOCUMENT_STRINGS_ACTION1(SCRIPT) +HTML_DOCUMENT_STRINGS_ACTION1(TABLE) +HTML_DOCUMENT_STRINGS_ACTION1(CAPTION) +HTML_DOCUMENT_STRINGS_ACTION1(COL) +HTML_DOCUMENT_STRINGS_ACTION1(COLGROUP) +HTML_DOCUMENT_STRINGS_ACTION1(THEAD) +HTML_DOCUMENT_STRINGS_ACTION1(TFOOT) +HTML_DOCUMENT_STRINGS_ACTION1(TBODY) +HTML_DOCUMENT_STRINGS_ACTION1(TR) +HTML_DOCUMENT_STRINGS_ACTION1(TH) +HTML_DOCUMENT_STRINGS_ACTION1(TD) +HTML_DOCUMENT_STRINGS_ACTION1(FRAMESET) +HTML_DOCUMENT_STRINGS_ACTION1(FRAME) +HTML_DOCUMENT_STRINGS_ACTION1(IFRAME) #ifdef HTML_DOCUMENT_STRINGS_SUFFIX HTML_DOCUMENT_STRINGS_SUFFIX #endif - + +#undef HTML_DOCUMENT_STRINGS_ACTION1 #ifdef HTML_DOCUMENT_STRINGS_INTERNAL_ACTION #undef HTML_DOCUMENT_STRINGS_INTERNAL_ACTION -- cgit v1.2.3