libdom
Loading...
Searching...
No Matches
dispatch.c File Reference
#include <assert.h>
#include "core/document.h"
#include "events/dispatch.h"
#include "events/mutation_event.h"
#include "utils/utils.h"

Functions

dom_exception __dom_dispatch_node_change_event (dom_document *doc, dom_event_target *et, dom_event_target *related, dom_mutation_type change, bool *success)
 
dom_exception __dom_dispatch_node_change_document_event (dom_document *doc, dom_event_target *et, dom_mutation_type change, bool *success)
 
dom_exception __dom_dispatch_attr_modified_event (dom_document *doc, dom_event_target *et, dom_string *prev, dom_string *new, dom_event_target *related, dom_string *attr_name, dom_mutation_type change, bool *success)
 
dom_exception __dom_dispatch_characterdata_modified_event (dom_document *doc, dom_event_target *et, dom_string *prev, dom_string *new, bool *success)
 
dom_exception __dom_dispatch_subtree_modified_event (dom_document *doc, dom_event_target *et, bool *success)
 
dom_exception _dom_dispatch_generic_event (dom_document *doc, dom_event_target *et, dom_string *event_name, bool bubble, bool cancelable, bool *success)
 

Function Documentation

◆ __dom_dispatch_attr_modified_event()

dom_exception __dom_dispatch_attr_modified_event ( dom_document * doc,
dom_event_target * et,
dom_string * prev,
dom_string * new,
dom_event_target * related,
dom_string * attr_name,
dom_mutation_type change,
bool * success )

Dispatch a DOMAttrModified event

Parameters
docThe Document object
etThe EventTarget
prevThe previous value before change
newThe new value after change
relatedThe related EventTarget
attr_nameThe Attribute name
changeHow this attribute change
successWhether this event's default handler get called
Returns
DOM_NO_ERR on success, appropirate dom_exception on failure.

◆ __dom_dispatch_characterdata_modified_event()

dom_exception __dom_dispatch_characterdata_modified_event ( dom_document * doc,
dom_event_target * et,
dom_string * prev,
dom_string * new,
bool * success )

Dispatch a DOMCharacterDataModified event

Parameters
etThe EventTarget object
prevThe preValue of the DOMCharacterData
newThe newValue of the DOMCharacterData
successWhether this event's default handler get called
Returns
DOM_NO_ERR on success, appropirate dom_exception on failure.

TODO: The character_data object may be a part of a Attr node, if so, another DOMAttrModified event should be dispatched, too. But for now, we did not support any XML feature, so just leave it as this.

◆ __dom_dispatch_node_change_document_event()

dom_exception __dom_dispatch_node_change_document_event ( dom_document * doc,
dom_event_target * et,
dom_mutation_type change,
bool * success )

Dispatch a DOMNodeInsertedIntoDocument/DOMNodeRemovedFromDocument event

Parameters
docThe document object
etThe EventTarget object
type"DOMNodeInserted" or "DOMNodeRemoved"
successWhether this event's default action get called
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.

◆ __dom_dispatch_node_change_event()

dom_exception __dom_dispatch_node_change_event ( dom_document * doc,
dom_event_target * et,
dom_event_target * related,
dom_mutation_type change,
bool * success )

Dispatch a DOMNodeInserted/DOMNodeRemoved event

Parameters
docThe document object
etThe EventTarget object
type"DOMNodeInserted" or "DOMNodeRemoved"
relatedThe parent of the removed/inserted node
successWhether this event's default action get called
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.

◆ __dom_dispatch_subtree_modified_event()

dom_exception __dom_dispatch_subtree_modified_event ( dom_document * doc,
dom_event_target * et,
bool * success )

Dispatch a DOMSubtreeModified event

Parameters
docThe Document
etThe EventTarget object
successWhether this event's default handler get called
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.

◆ _dom_dispatch_generic_event()

dom_exception _dom_dispatch_generic_event ( dom_document * doc,
dom_event_target * et,
dom_string * event_name,
bool bubble,
bool cancelable,
bool * success )

Dispatch a generic event

Parameters
docThe Document
etThe EventTarget object
nameThe name of the event
lenThe length of the name string
bubbleWhether this event bubbles
cancelableWhether this event can be cancelable
successWhether this event's default handler get called
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.