From c27dd9093614b9df998f994ee2fe530782e1d890 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sat, 3 Nov 2012 22:10:17 +0000 Subject: Remove ability to dispatch a generic event as a ptr+len, and memoise all previous callsites --- src/html/html_document_strings.h | 7 +++++++ src/html/html_form_element.c | 20 ++++++++++++-------- src/html/html_input_element.c | 40 +++++++++++++++++++++++---------------- src/html/html_select_element.c | 20 ++++++++++++-------- src/html/html_text_area_element.c | 30 +++++++++++++++++------------ 5 files changed, 73 insertions(+), 44 deletions(-) (limited to 'src/html') diff --git a/src/html/html_document_strings.h b/src/html/html_document_strings.h index fa9c4e4..f2d6fa2 100644 --- a/src/html/html_document_strings.h +++ b/src/html/html_document_strings.h @@ -95,6 +95,13 @@ HTML_DOCUMENT_STRINGS_ACTION1(selected) /* HTMLSelectElement strings */ HTML_DOCUMENT_STRINGS_ACTION(select_multiple,select-multiple) HTML_DOCUMENT_STRINGS_ACTION(select_one,select-one) +/* Some event strings for later */ +HTML_DOCUMENT_STRINGS_ACTION1(blur) +HTML_DOCUMENT_STRINGS_ACTION1(focus) +HTML_DOCUMENT_STRINGS_ACTION1(select) +HTML_DOCUMENT_STRINGS_ACTION1(click) +HTML_DOCUMENT_STRINGS_ACTION1(submit) +HTML_DOCUMENT_STRINGS_ACTION1(reset) /* Names for elements which get specialised. */ HTML_DOCUMENT_STRINGS_ACTION1(HTML) HTML_DOCUMENT_STRINGS_ACTION1(HEAD) diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c index 55ec0e9..808383d 100644 --- a/src/html/html_form_element.c +++ b/src/html/html_form_element.c @@ -235,16 +235,18 @@ SIMPLE_GET_SET(target) */ dom_exception dom_html_form_element_submit(dom_html_form_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /* Dispatch an event and let the default action handler to deal with * the submit action, and a 'submit' event is bubbling and cancelable */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "submit", SLEN("submit"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *)doc, + (dom_event_target *) ele, + doc->memoised[hds_submit], true, + true, &success); } /** @@ -255,16 +257,18 @@ dom_exception dom_html_form_element_submit(dom_html_form_element *ele) */ dom_exception dom_html_form_element_reset(dom_html_form_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /* Dispatch an event and let the default action handler to deal with * the reset action, and a 'reset' event is bubbling and cancelable */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "reset", SLEN("reset"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *) doc, + (dom_event_target *) ele, + doc->memoised[hds_reset], true, + true, &success); } /*-----------------------------------------------------------------------*/ diff --git a/src/html/html_input_element.c b/src/html/html_input_element.c index 9586abb..bab79f2 100644 --- a/src/html/html_input_element.c +++ b/src/html/html_input_element.c @@ -410,14 +410,16 @@ dom_exception _dom_html_input_element_set_form( */ dom_exception dom_html_input_element_blur(dom_html_input_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "blur", SLEN("blur"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *) doc, + (dom_event_target *) ele, + doc->memoised[hds_blur], true, + true, &success); } /** @@ -428,14 +430,16 @@ dom_exception dom_html_input_element_blur(dom_html_input_element *ele) */ dom_exception dom_html_input_element_focus(dom_html_input_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "focus", SLEN("focus"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *)doc, + (dom_event_target *) ele, + doc->memoised[hds_focus], true, + true, &success); } /** @@ -446,14 +450,16 @@ dom_exception dom_html_input_element_focus(dom_html_input_element *ele) */ dom_exception dom_html_input_element_select(dom_html_input_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "select", SLEN("select"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *)doc, + (dom_event_target *) ele, + doc->memoised[hds_select], true, + true, &success); } /** @@ -464,14 +470,16 @@ dom_exception dom_html_input_element_select(dom_html_input_element *ele) */ dom_exception dom_html_input_element_click(dom_html_input_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this is meant to check/uncheck boxes, radios etc */ /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "click", SLEN("click"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *)doc, + (dom_event_target *) ele, + doc->memoised[hds_click], true, + true, &success); } diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c index 12ea6ba..8de5dff 100644 --- a/src/html/html_select_element.c +++ b/src/html/html_select_element.c @@ -566,14 +566,16 @@ dom_exception dom_html_select_element_remove(dom_html_select_element *ele, */ dom_exception dom_html_select_element_blur(struct dom_html_select_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "blur", SLEN("blur"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *) doc, + (dom_event_target *) ele, + doc->memoised[hds_blur], true, + true, &success); } /** @@ -584,14 +586,16 @@ dom_exception dom_html_select_element_blur(struct dom_html_select_element *ele) */ dom_exception dom_html_select_element_focus(struct dom_html_select_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "focus", SLEN("focus"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *) doc, + (dom_event_target *) ele, + doc->memoised[hds_focus], true, + true, &success); } diff --git a/src/html/html_text_area_element.c b/src/html/html_text_area_element.c index 1c7534c..eea5b4e 100644 --- a/src/html/html_text_area_element.c +++ b/src/html/html_text_area_element.c @@ -433,14 +433,16 @@ dom_exception _dom_html_text_area_element_set_form( */ dom_exception dom_html_text_area_element_blur(dom_html_text_area_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "blur", SLEN("blur"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *) doc, + (dom_event_target *) ele, + doc->memoised[hds_blur], true, + true, &success); } /** @@ -451,14 +453,16 @@ dom_exception dom_html_text_area_element_blur(dom_html_text_area_element *ele) */ dom_exception dom_html_text_area_element_focus(dom_html_text_area_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "focus", SLEN("focus"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *)doc, + (dom_event_target *) ele, + doc->memoised[hds_focus], true, + true, &success); } /** @@ -469,12 +473,14 @@ dom_exception dom_html_text_area_element_focus(dom_html_text_area_element *ele) */ dom_exception dom_html_text_area_element_select(dom_html_text_area_element *ele) { - struct dom_document *doc = dom_node_get_owner(ele); + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); bool success = false; assert(doc != NULL); /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event(doc, (dom_event_target *) ele, - (const uint8_t *) "select", SLEN("select"), true, - true, &success); + return _dom_dispatch_generic_event((dom_document *)doc, + (dom_event_target *) ele, + doc->memoised[hds_select], true, + true, &success); } -- cgit v1.2.3