summaryrefslogtreecommitdiff
path: root/src/events
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-08-26 23:00:23 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-08-26 23:00:23 +0000
commit229af12d7ab2c071a6888eb8ffc49bb0bbeb9ddd (patch)
tree78100a859a1bf8fbb9d2166dd0843c49c98c53c3 /src/events
parent5c109b370a014e49387320fa23bb589e4d4e36f1 (diff)
downloadlibdom-229af12d7ab2c071a6888eb8ffc49bb0bbeb9ddd.tar.gz
libdom-229af12d7ab2c071a6888eb8ffc49bb0bbeb9ddd.tar.bz2
Sync with modified libwapcaplet API: 11 additional DOM Level1 testsuite failures. Most importantly, it actually compiles now.
svn path=/trunk/dom/; revision=10717
Diffstat (limited to 'src/events')
-rw-r--r--src/events/document_event.c13
-rw-r--r--src/events/event.c17
-rw-r--r--src/events/event_target.c34
3 files changed, 25 insertions, 39 deletions
diff --git a/src/events/document_event.c b/src/events/document_event.c
index 47afed6..6f18028 100644
--- a/src/events/document_event.c
+++ b/src/events/document_event.c
@@ -53,11 +53,12 @@ dom_exception _dom_document_event_internal_initialise(struct dom_document *doc,
dom_events_default_action_fetcher actions)
{
lwc_error err;
- lwc_context *ctx = _dom_document_get_intern_context(doc);
int i = 0;
+ UNUSED(doc);
+
for (; i < DOM_EVENT_COUNT; i++) {
- err = lwc_context_intern(ctx, __event_types[i],
+ err = lwc_intern_string(__event_types[i],
SLEN(__event_types[i]), &dei->event_types[i]);
if (err != lwc_error_ok)
return _dom_exception_from_lwc_error(err);
@@ -92,15 +93,13 @@ void _dom_document_event_internal_finalise(struct dom_document *doc,
dom_exception _dom_document_event_create_event(dom_document_event *de,
struct dom_string *type, struct dom_event **evt)
{
- lwc_context *ctx = NULL;
lwc_string *t = NULL;
dom_exception err;
struct dom_document *doc = de;
- dom_string_get_intern(type, &ctx, &t);
+ dom_string_get_intern(type, &t);
if (t == NULL) {
- ctx = _dom_document_get_intern_context(doc);
- err = _dom_string_intern(type, ctx, &t);
+ err = _dom_string_intern(type, &t);
if (err != DOM_NO_ERR)
return err;
}
@@ -115,7 +114,7 @@ dom_exception _dom_document_event_create_event(dom_document_event *de,
break;
}
}
- lwc_context_string_unref(ctx, t);
+ lwc_string_unref(t);
switch (et) {
case DOM_EVENT:
diff --git a/src/events/event.c b/src/events/event.c
index 9330edf..6cd8d64 100644
--- a/src/events/event.c
+++ b/src/events/event.c
@@ -15,6 +15,7 @@
#include "core/string.h"
#include "core/node.h"
#include "core/document.h"
+#include "utils/utils.h"
static void _virtual_dom_event_destroy(struct dom_event *evt);
@@ -68,14 +69,12 @@ dom_exception _dom_event_initialise(struct dom_document *doc,
/* Finalise function */
void _dom_event_finalise(struct dom_document *doc, struct dom_event *evt)
{
- assert(doc != NULL);
- lwc_context *ctx = _dom_document_get_intern_context(doc);
- assert(ctx != NULL);
+ UNUSED(doc);
if (evt->type != NULL)
- lwc_context_string_unref(ctx, evt->type);
+ lwc_string_unref(evt->type);
if (evt->namespace != NULL)
- lwc_context_string_unref(ctx, evt->namespace);
+ lwc_string_unref(evt->namespace);
evt->stop = false;
evt->stop_now = false;
@@ -250,11 +249,10 @@ dom_exception _dom_event_init(dom_event *evt, struct dom_string *type,
bool bubble, bool cancelable)
{
assert(evt->doc != NULL);
- lwc_context *ctx = _dom_document_get_intern_context(evt->doc);
lwc_string *str = NULL;
dom_exception err;
- err = _dom_string_intern(type, ctx, &str);
+ err = _dom_string_intern(type, &str);
if (err != DOM_NO_ERR)
return err;
@@ -343,16 +341,15 @@ dom_exception _dom_event_init_ns(dom_event *evt, struct dom_string *namespace,
struct dom_string *type, bool bubble, bool cancelable)
{
assert(evt->doc != NULL);
- lwc_context *ctx = _dom_document_get_intern_context(evt->doc);
lwc_string *str = NULL;
dom_exception err;
- err = _dom_string_intern(type, ctx, &str);
+ err = _dom_string_intern(type, &str);
if (err != DOM_NO_ERR)
return err;
evt->type = str;
- err = _dom_string_intern(namespace, ctx, &str);
+ err = _dom_string_intern(namespace, &str);
if (err != DOM_NO_ERR)
return err;
evt->namespace = str;
diff --git a/src/events/event_target.c b/src/events/event_target.c
index 8350224..e409e02 100644
--- a/src/events/event_target.c
+++ b/src/events/event_target.c
@@ -51,10 +51,8 @@ dom_exception _dom_event_target_internal_initialise(struct dom_document *doc,
void _dom_event_target_internal_finalise(struct dom_document *doc,
dom_event_target_internal *eti)
{
- lwc_context *ctx = _dom_document_get_intern_context(doc);
-
if (eti->listeners != NULL)
- _dom_hash_destroy(eti->listeners, _key, ctx, _value, doc);
+ _dom_hash_destroy(eti->listeners, _key, NULL, _value, doc);
/* TODO: Now, we did not support the EventListener with namespace,
* when we support it, we should deal with the ns_listeners hash
* table, too.
@@ -83,7 +81,6 @@ dom_exception _dom_event_target_add_event_listener(dom_event_target *et,
struct dom_event_target_internal *eti = &et->eti;
lwc_string *t = NULL;
- lwc_context *ctx = NULL;
dom_exception err;
/* If there is no hash table, we should create one firstly */
@@ -94,17 +91,16 @@ dom_exception _dom_event_target_add_event_listener(dom_event_target *et,
return err;
}
- err = dom_string_get_intern(type, &ctx, &t);
+ err = dom_string_get_intern(type, &t);
if (err != DOM_NO_ERR)
return err;
- ctx = _dom_document_get_intern_context(doc);
if (t == NULL) {
- err = _dom_string_intern(type, ctx, &t);
+ err = _dom_string_intern(type, &t);
if (err != DOM_NO_ERR)
return err;
} else {
- lwc_context_string_ref(ctx, t);
+ lwc_string_ref(t);
}
assert(t != NULL);
@@ -158,20 +154,18 @@ dom_exception _dom_event_target_remove_event_listener(dom_event_target *et,
struct dom_event_target_internal *eti = &et->eti;
lwc_string *t = NULL;
- lwc_context *ctx = NULL;
dom_exception err;
- err = dom_string_get_intern(type, &ctx, &t);
+ err = dom_string_get_intern(type, &t);
if (err != DOM_NO_ERR)
return err;
- ctx = _dom_document_get_intern_context(doc);
if (t == NULL) {
- err = _dom_string_intern(type, ctx, &t);
+ err = _dom_string_intern(type, &t);
if (err != DOM_NO_ERR)
return err;
} else {
- lwc_context_string_ref(ctx, t);
+ lwc_string_ref(t);
}
assert(t != NULL);
@@ -181,7 +175,7 @@ dom_exception _dom_event_target_remove_event_listener(dom_event_target *et,
eti->listeners, t);
if (item == NULL) {
/* There is no such event listener */
- lwc_context_string_unref(ctx, t);
+ lwc_string_unref(t);
return DOM_NO_ERR;
} else {
struct list_entry *i = item;
@@ -262,11 +256,9 @@ dom_exception _dom_event_target_dispatch_event(dom_event_target *et,
dom_string_unref(type);
lwc_string *t = evt->type;
- lwc_context *ctx = NULL;
dom_event_target_entry list;
dom_event_target *target = et;
- ctx = _dom_document_get_intern_context(doc);
assert(t != NULL);
*success = true;
@@ -349,8 +341,7 @@ dom_exception _dom_event_target_dispatch_event(dom_event_target *et,
goto cleanup;
}
lwc_string *lnodename = NULL;
- lwc_context *lctx = NULL;
- err = dom_string_get_intern(nodename, &lctx, &lnodename);
+ err = dom_string_get_intern(nodename, &lnodename);
if (err != DOM_NO_ERR) {
dom_string_unref(nodename);
ret = err;
@@ -363,8 +354,7 @@ dom_exception _dom_event_target_dispatch_event(dom_event_target *et,
}
dom_string_unref(nodename);
- lwc_context_string_unref(lctx, lnodename);
- lwc_context_unref(lctx);
+ lwc_string_unref(lnodename);
cleanup:
if (evt->prevent_default == true) {
@@ -441,6 +431,7 @@ dom_exception _dom_event_target_remove_event_listener_ns(dom_event_target *et,
static void *_key(void *key, void *key_pw, dom_alloc alloc, void *pw,
bool clone)
{
+ UNUSED(key_pw);
UNUSED(alloc);
UNUSED(pw);
/* There should never be the requirement of clone the event listener
@@ -448,8 +439,7 @@ static void *_key(void *key, void *key_pw, dom_alloc alloc, void *pw,
assert(clone == false);
UNUSED(clone);
- lwc_context *ctx = (lwc_context *) key_pw;
- lwc_context_string_unref(ctx, (lwc_string *) key);
+ lwc_string_unref((lwc_string *) key);
return NULL;
}