netsurf: branch master updated. release/3.3-661-gb3c524c
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/netsurf.git/shortlog/b3c524cea10d636bd7e65...
...commit http://git.netsurf-browser.org/netsurf.git/commit/b3c524cea10d636bd7e657d...
...tree http://git.netsurf-browser.org/netsurf.git/tree/b3c524cea10d636bd7e657d27...
The branch, master has been updated
via b3c524cea10d636bd7e657d274ba9f94c1d1e433 (commit)
from 0ce170c18e971121e54ac60c863b523bc5874516 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/netsurf.git/commit/?id=b3c524cea10d636bd7e...
commit b3c524cea10d636bd7e657d274ba9f94c1d1e433
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Move some things around to try and prevent invalid pointer accesses on exit
diff --git a/amiga/bitmap.c b/amiga/bitmap.c
index b98d95f..986f426 100644
--- a/amiga/bitmap.c
+++ b/amiga/bitmap.c
@@ -112,11 +112,12 @@ void amiga_bitmap_destroy(void *bitmap)
if(bm)
{
- if((bm->nativebm) && (bm->dto == NULL)) {
+ if((bm->nativebm) && (bm->native == AMI_NSBM_TRUECOLOUR)) {
ami_rtg_freebitmap(bm->nativebm);
}
-
+
if(bm->dto) {
+ /**\todo find out why this crashes on exit but not during normal program execution */
DisposeDTObject(bm->dto);
}
@@ -163,7 +164,7 @@ void amiga_bitmap_modified(void *bitmap)
{
struct bitmap *bm = bitmap;
- if((bm->nativebm) && (bm->dto == NULL))
+ if((bm->nativebm) && (bm->native == AMI_NSBM_TRUECOLOUR))
ami_rtg_freebitmap(bm->nativebm);
if(bm->dto) DisposeDTObject(bm->dto);
@@ -516,7 +517,7 @@ static inline struct BitMap *ami_bitmap_get_palettemapped(struct bitmap *bitmap,
if(bitmap->dto == NULL) {
bitmap->dto = ami_datatype_object_from_bitmap(bitmap);
-
+
SetDTAttrs(bitmap->dto, NULL, NULL,
PDTA_Screen, scrn,
PDTA_ScaleQuality, nsoption_bool(scale_quality),
diff --git a/amiga/gui.c b/amiga/gui.c
index fab5d14..c73f0d1 100644
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -3001,6 +3001,10 @@ void ami_try_quit(void)
static void gui_quit(void)
{
+ LOG("Closing screen");
+ ami_gui_close_screen(scrn, locked_screen, FALSE);
+ if(nsscreentitle) FreeVec(nsscreentitle);
+
ami_theme_throbber_free();
urldb_save(nsoption_charp(url_file));
@@ -3019,39 +3023,18 @@ static void gui_quit(void)
ami_font_fini();
ami_help_free();
- LOG("Closing screen");
- ami_gui_close_screen(scrn, locked_screen, FALSE);
- if(nsscreentitle) FreeVec(nsscreentitle);
-
LOG("Freeing menu items");
ami_ctxmenu_free();
ami_menu_free_glyphs();
LOG("Freeing mouse pointers");
ami_mouse_pointers_free();
- LOG("Freeing clipboard");
- ami_clipboard_free();
- LOG("Freeing scheduler resources");
- ami_schedule_free();
-
- FreeSysObject(ASOT_PORT, appport);
- FreeSysObject(ASOT_PORT, sport);
- FreeSysObject(ASOT_PORT, schedulermsgport);
ami_file_req_free();
ami_openurl_close();
FreeStringClass(urlStringClass);
FreeObjList(window_list);
-
- FreeVec(current_user_options);
- FreeVec(current_user_dir);
- FreeVec(current_user_faviconcache);
- FreeVec(current_user);
-
- ami_object_fini();
-
- ami_libs_close();
}
char *ami_gui_get_cache_favicon_name(nsurl *url, bool only_if_avail)
@@ -5684,6 +5667,22 @@ int main(int argc, char** argv)
ami_mime_free();
netsurf_exit();
+
+ FreeVec(current_user_options);
+ FreeVec(current_user_dir);
+ FreeVec(current_user_faviconcache);
+ FreeVec(current_user);
+
+ ami_clipboard_free();
+ ami_schedule_free();
+
+ FreeSysObject(ASOT_PORT, appport);
+ FreeSysObject(ASOT_PORT, sport);
+ FreeSysObject(ASOT_PORT, schedulermsgport);
+
+ ami_object_fini();
+ ami_libs_close();
+
return RETURN_OK;
}
diff --git a/amiga/theme.c b/amiga/theme.c
index 0b77dc5..6a0d5da 100644
--- a/amiga/theme.c
+++ b/amiga/theme.c
@@ -168,7 +168,7 @@ void ami_theme_throbber_setup(void)
bm = ami_bitmap_from_datatype(throbberfile);
throbber = ami_bitmap_get_native(bm, bm->width, bm->height, NULL);
-
+
throbber_width = bm->width / throbber_frames;
throbber_height = bm->height;
throbber_nsbm = bm;
@@ -177,6 +177,7 @@ void ami_theme_throbber_setup(void)
void ami_theme_throbber_free(void)
{
amiga_bitmap_destroy(throbber_nsbm);
+ throbber_nsbm = NULL;
throbber = NULL;
}
-----------------------------------------------------------------------
Summary of changes:
amiga/bitmap.c | 9 +++++----
amiga/gui.c | 41 ++++++++++++++++++++---------------------
amiga/theme.c | 3 ++-
3 files changed, 27 insertions(+), 26 deletions(-)
diff --git a/amiga/bitmap.c b/amiga/bitmap.c
index b98d95f..986f426 100644
--- a/amiga/bitmap.c
+++ b/amiga/bitmap.c
@@ -112,11 +112,12 @@ void amiga_bitmap_destroy(void *bitmap)
if(bm)
{
- if((bm->nativebm) && (bm->dto == NULL)) {
+ if((bm->nativebm) && (bm->native == AMI_NSBM_TRUECOLOUR)) {
ami_rtg_freebitmap(bm->nativebm);
}
-
+
if(bm->dto) {
+ /**\todo find out why this crashes on exit but not during normal program execution */
DisposeDTObject(bm->dto);
}
@@ -163,7 +164,7 @@ void amiga_bitmap_modified(void *bitmap)
{
struct bitmap *bm = bitmap;
- if((bm->nativebm) && (bm->dto == NULL))
+ if((bm->nativebm) && (bm->native == AMI_NSBM_TRUECOLOUR))
ami_rtg_freebitmap(bm->nativebm);
if(bm->dto) DisposeDTObject(bm->dto);
@@ -516,7 +517,7 @@ static inline struct BitMap *ami_bitmap_get_palettemapped(struct bitmap *bitmap,
if(bitmap->dto == NULL) {
bitmap->dto = ami_datatype_object_from_bitmap(bitmap);
-
+
SetDTAttrs(bitmap->dto, NULL, NULL,
PDTA_Screen, scrn,
PDTA_ScaleQuality, nsoption_bool(scale_quality),
diff --git a/amiga/gui.c b/amiga/gui.c
index fab5d14..c73f0d1 100644
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -3001,6 +3001,10 @@ void ami_try_quit(void)
static void gui_quit(void)
{
+ LOG("Closing screen");
+ ami_gui_close_screen(scrn, locked_screen, FALSE);
+ if(nsscreentitle) FreeVec(nsscreentitle);
+
ami_theme_throbber_free();
urldb_save(nsoption_charp(url_file));
@@ -3019,39 +3023,18 @@ static void gui_quit(void)
ami_font_fini();
ami_help_free();
- LOG("Closing screen");
- ami_gui_close_screen(scrn, locked_screen, FALSE);
- if(nsscreentitle) FreeVec(nsscreentitle);
-
LOG("Freeing menu items");
ami_ctxmenu_free();
ami_menu_free_glyphs();
LOG("Freeing mouse pointers");
ami_mouse_pointers_free();
- LOG("Freeing clipboard");
- ami_clipboard_free();
- LOG("Freeing scheduler resources");
- ami_schedule_free();
-
- FreeSysObject(ASOT_PORT, appport);
- FreeSysObject(ASOT_PORT, sport);
- FreeSysObject(ASOT_PORT, schedulermsgport);
ami_file_req_free();
ami_openurl_close();
FreeStringClass(urlStringClass);
FreeObjList(window_list);
-
- FreeVec(current_user_options);
- FreeVec(current_user_dir);
- FreeVec(current_user_faviconcache);
- FreeVec(current_user);
-
- ami_object_fini();
-
- ami_libs_close();
}
char *ami_gui_get_cache_favicon_name(nsurl *url, bool only_if_avail)
@@ -5684,6 +5667,22 @@ int main(int argc, char** argv)
ami_mime_free();
netsurf_exit();
+
+ FreeVec(current_user_options);
+ FreeVec(current_user_dir);
+ FreeVec(current_user_faviconcache);
+ FreeVec(current_user);
+
+ ami_clipboard_free();
+ ami_schedule_free();
+
+ FreeSysObject(ASOT_PORT, appport);
+ FreeSysObject(ASOT_PORT, sport);
+ FreeSysObject(ASOT_PORT, schedulermsgport);
+
+ ami_object_fini();
+ ami_libs_close();
+
return RETURN_OK;
}
diff --git a/amiga/theme.c b/amiga/theme.c
index 0b77dc5..6a0d5da 100644
--- a/amiga/theme.c
+++ b/amiga/theme.c
@@ -168,7 +168,7 @@ void ami_theme_throbber_setup(void)
bm = ami_bitmap_from_datatype(throbberfile);
throbber = ami_bitmap_get_native(bm, bm->width, bm->height, NULL);
-
+
throbber_width = bm->width / throbber_frames;
throbber_height = bm->height;
throbber_nsbm = bm;
@@ -177,6 +177,7 @@ void ami_theme_throbber_setup(void)
void ami_theme_throbber_free(void)
{
amiga_bitmap_destroy(throbber_nsbm);
+ throbber_nsbm = NULL;
throbber = NULL;
}
--
NetSurf Browser
7 years, 10 months
toolchains: branch master updated. 69b07c78b11547d6550572eedcc393680d92bd1a
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/toolchains.git/shortlog/69b07c78b11547d655...
...commit http://git.netsurf-browser.org/toolchains.git/commit/69b07c78b11547d65505...
...tree http://git.netsurf-browser.org/toolchains.git/tree/69b07c78b11547d6550572...
The branch, master has been updated
via 69b07c78b11547d6550572eedcc393680d92bd1a (commit)
via b2a208800023c05b5bc8edda4557f2ccfcc127b3 (commit)
from fa4b449b1da6ff24239f34049e0757579a2f7047 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/toolchains.git/commit/?id=69b07c78b11547d6...
commit 69b07c78b11547d6550572eedcc393680d92bd1a
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Update clib to 2.106
diff --git a/m68k-unknown-amigaos/Makefile b/m68k-unknown-amigaos/Makefile
index dc2f957..1adc7ce 100644
--- a/m68k-unknown-amigaos/Makefile
+++ b/m68k-unknown-amigaos/Makefile
@@ -20,9 +20,9 @@ UPSTREAM_MPC_VERSION := 0.8.2
UPSTREAM_MPC_TARBALL := mpc-$(UPSTREAM_MPC_VERSION).tar.gz
UPSTREAM_MPC_URI := http://www.multiprecision.org/mpc/download/$(UPSTREAM_MPC_TARBALL)
-UPSTREAM_CLIB2_VERSION := 2010-12-30
-UPSTREAM_CLIB2_TARBALL := clib2-$(UPSTREAM_CLIB2_VERSION).tar.xz
-UPSTREAM_CLIB2_URI := anonymous:@clib2.cvs.sourceforge.net:/cvsroot/clib2
+UPSTREAM_CLIB2_VERSION := 1_206
+UPSTREAM_CLIB2_TARBALL := V$(UPSTREAM_CLIB2_VERSION).tar.gz
+UPSTREAM_CLIB2_URI := https://github.com/adtools/clib2/archive/$(UPSTREAM_CLIB2_TARBALL)
UPSTREAM_NDK_TARBALL := ndk-3.9-includes.tar.bz2
UPSTREAM_NDK_URI := http://kas1e.mikendezign.com/zerohero_crosscompilers_backup/files/m68k-am...
@@ -76,7 +76,7 @@ $(BUILDSTEPS)/stage2.d: $(BUILDSTEPS)/clib2.d
$(BUILDSTEPS)/clib2.d: $(BUILDSTEPS)/bootstrap-compiler.d $(BUILDSTEPS)/ndk.d $(SOURCESDIR)/$(UPSTREAM_CLIB2_TARBALL)
tar xaf $(SOURCESDIR)/$(UPSTREAM_CLIB2_TARBALL)
- mv library $(BUILDDIR)/clib2
+ mv clib2-$(UPSTREAM_CLIB2_VERSION)/library $(BUILDDIR)/clib2
for p in `ls $(RECIPES)/patches/clib2/*.p` ; do patch -d $(BUILDDIR)/clib2 -p0 <$$p ; done
for dir in `find $(RECIPES)/files/clib2/ -type d | grep -v '\.svn' | sed 's#$(RECIPES)/files/clib2##'` ; do mkdir -p $(BUILDDIR)/clib2$$dir ; done
for file in `find $(RECIPES)/files/clib2/ -type f | grep -v '\.svn' | sed 's#$(RECIPES)/files/clib2##'` ; do cp -p $(RECIPES)/files/clib2$$file $(BUILDDIR)/clib2$$file ; done
@@ -185,10 +185,7 @@ $(SOURCESDIR)/$(UPSTREAM_BINUTILS_TARBALL):
svn co $(UPSTREAM_BINUTILS_URI) $@
$(SOURCESDIR)/$(UPSTREAM_CLIB2_TARBALL):
- cvs -Q -d:pserver:$(UPSTREAM_CLIB2_URI) login
- cvs -z9 -d:pserver:$(UPSTREAM_CLIB2_URI) checkout -D $(UPSTREAM_CLIB2_VERSION) library
- tar -caf $@ library
- rm -rf library
+ wget -q -O $@ $(UPSTREAM_CLIB2_URI)
$(SOURCESDIR)/$(UPSTREAM_NDK_TARBALL):
wget -q -O $@ $(UPSTREAM_NDK_URI)
commitdiff http://git.netsurf-browser.org/toolchains.git/commit/?id=b2a208800023c05b...
commit b2a208800023c05b5bc8edda4557f2ccfcc127b3
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Fix openurl SDK install
diff --git a/m68k-unknown-amigaos/Makefile b/m68k-unknown-amigaos/Makefile
index 73066ad..dc2f957 100644
--- a/m68k-unknown-amigaos/Makefile
+++ b/m68k-unknown-amigaos/Makefile
@@ -27,9 +27,9 @@ UPSTREAM_CLIB2_URI := anonymous:@clib2.cvs.sourceforge.net:/cvsroot/clib2
UPSTREAM_NDK_TARBALL := ndk-3.9-includes.tar.bz2
UPSTREAM_NDK_URI := http://kas1e.mikendezign.com/zerohero_crosscompilers_backup/files/m68k-am...
-UPSTREAM_OPENURL_VERSION := 7.15
-UPSTREAM_OPENURL_TARBALL := openurl
-UPSTREAM_OPENURL_URI := http://svn.code.sf.net/p/openurllib/code/releases/$(UPSTREAM_OPENURL_VERS...
+UPSTREAM_OPENURL_VERSION := 7.16
+UPSTREAM_OPENURL_TARBALL := openurl-$(UPSTREAM_OPENURL_VERSION)
+UPSTREAM_OPENURL_URI := https://github.com/jens-maus/libopenurl/archive/$(UPSTREAM_OPENURL_VERSIO...
# need to force the auto* version in use
GCC_AUTOCONF := autoconf2.64
@@ -96,7 +96,9 @@ $(BUILDSTEPS)/ndk.d: $(SOURCESDIR)/$(UPSTREAM_NDK_TARBALL) $(SOURCESDIR)/$(UPSTR
for p in `ls $(RECIPES)/patches/ndk/*.p` ; do patch -d $(PREFIX)/$(TARGET_NAME) -p0 <$$p ; done
for dir in `find $(RECIPES)/files/ndk/ -type d | grep -v '\.svn' | sed 's#$(RECIPES)/files/ndk##'` ; do mkdir -p $(PREFIX)/$(TARGET_NAME)$$dir ; done
for file in `find $(RECIPES)/files/ndk/ -type f | grep -v '\.svn' | sed 's#$(RECIPES)/files/ndk##'` ; do cp -p $(RECIPES)/files/ndk$$file $(PREFIX)/$(TARGET_NAME)$$file ; done
- cp -r $(SOURCESDIR)/$(UPSTREAM_OPENURL_TARBALL)/include/* $(PREFIX)/$(TARGET_NAME)/sys-include/
+ mkdir -p $(BUILDDIR)/openurl
+ cd $(BUILDDIR)/openurl && tar xaf $(SOURCESDIR)/$(UPSTREAM_OPENURL_TARBALL)
+ cp -r $(BUILDDIR)/openurl/libopenurl-$(UPSTREAM_OPENURL_VERSION)/include/* $(PREFIX)/$(TARGET_NAME)/sys-include/
touch $@
###
@@ -192,7 +194,7 @@ $(SOURCESDIR)/$(UPSTREAM_NDK_TARBALL):
wget -q -O $@ $(UPSTREAM_NDK_URI)
$(SOURCESDIR)/$(UPSTREAM_OPENURL_TARBALL):
- svn export $(UPSTREAM_OPENURL_URI) $@
+ wget -q -O $@ $(UPSTREAM_OPENURL_URI)
###
# Rule to create buildsteps dir
-----------------------------------------------------------------------
Summary of changes:
m68k-unknown-amigaos/Makefile | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/m68k-unknown-amigaos/Makefile b/m68k-unknown-amigaos/Makefile
index 73066ad..1adc7ce 100644
--- a/m68k-unknown-amigaos/Makefile
+++ b/m68k-unknown-amigaos/Makefile
@@ -20,16 +20,16 @@ UPSTREAM_MPC_VERSION := 0.8.2
UPSTREAM_MPC_TARBALL := mpc-$(UPSTREAM_MPC_VERSION).tar.gz
UPSTREAM_MPC_URI := http://www.multiprecision.org/mpc/download/$(UPSTREAM_MPC_TARBALL)
-UPSTREAM_CLIB2_VERSION := 2010-12-30
-UPSTREAM_CLIB2_TARBALL := clib2-$(UPSTREAM_CLIB2_VERSION).tar.xz
-UPSTREAM_CLIB2_URI := anonymous:@clib2.cvs.sourceforge.net:/cvsroot/clib2
+UPSTREAM_CLIB2_VERSION := 1_206
+UPSTREAM_CLIB2_TARBALL := V$(UPSTREAM_CLIB2_VERSION).tar.gz
+UPSTREAM_CLIB2_URI := https://github.com/adtools/clib2/archive/$(UPSTREAM_CLIB2_TARBALL)
UPSTREAM_NDK_TARBALL := ndk-3.9-includes.tar.bz2
UPSTREAM_NDK_URI := http://kas1e.mikendezign.com/zerohero_crosscompilers_backup/files/m68k-am...
-UPSTREAM_OPENURL_VERSION := 7.15
-UPSTREAM_OPENURL_TARBALL := openurl
-UPSTREAM_OPENURL_URI := http://svn.code.sf.net/p/openurllib/code/releases/$(UPSTREAM_OPENURL_VERS...
+UPSTREAM_OPENURL_VERSION := 7.16
+UPSTREAM_OPENURL_TARBALL := openurl-$(UPSTREAM_OPENURL_VERSION)
+UPSTREAM_OPENURL_URI := https://github.com/jens-maus/libopenurl/archive/$(UPSTREAM_OPENURL_VERSIO...
# need to force the auto* version in use
GCC_AUTOCONF := autoconf2.64
@@ -76,7 +76,7 @@ $(BUILDSTEPS)/stage2.d: $(BUILDSTEPS)/clib2.d
$(BUILDSTEPS)/clib2.d: $(BUILDSTEPS)/bootstrap-compiler.d $(BUILDSTEPS)/ndk.d $(SOURCESDIR)/$(UPSTREAM_CLIB2_TARBALL)
tar xaf $(SOURCESDIR)/$(UPSTREAM_CLIB2_TARBALL)
- mv library $(BUILDDIR)/clib2
+ mv clib2-$(UPSTREAM_CLIB2_VERSION)/library $(BUILDDIR)/clib2
for p in `ls $(RECIPES)/patches/clib2/*.p` ; do patch -d $(BUILDDIR)/clib2 -p0 <$$p ; done
for dir in `find $(RECIPES)/files/clib2/ -type d | grep -v '\.svn' | sed 's#$(RECIPES)/files/clib2##'` ; do mkdir -p $(BUILDDIR)/clib2$$dir ; done
for file in `find $(RECIPES)/files/clib2/ -type f | grep -v '\.svn' | sed 's#$(RECIPES)/files/clib2##'` ; do cp -p $(RECIPES)/files/clib2$$file $(BUILDDIR)/clib2$$file ; done
@@ -96,7 +96,9 @@ $(BUILDSTEPS)/ndk.d: $(SOURCESDIR)/$(UPSTREAM_NDK_TARBALL) $(SOURCESDIR)/$(UPSTR
for p in `ls $(RECIPES)/patches/ndk/*.p` ; do patch -d $(PREFIX)/$(TARGET_NAME) -p0 <$$p ; done
for dir in `find $(RECIPES)/files/ndk/ -type d | grep -v '\.svn' | sed 's#$(RECIPES)/files/ndk##'` ; do mkdir -p $(PREFIX)/$(TARGET_NAME)$$dir ; done
for file in `find $(RECIPES)/files/ndk/ -type f | grep -v '\.svn' | sed 's#$(RECIPES)/files/ndk##'` ; do cp -p $(RECIPES)/files/ndk$$file $(PREFIX)/$(TARGET_NAME)$$file ; done
- cp -r $(SOURCESDIR)/$(UPSTREAM_OPENURL_TARBALL)/include/* $(PREFIX)/$(TARGET_NAME)/sys-include/
+ mkdir -p $(BUILDDIR)/openurl
+ cd $(BUILDDIR)/openurl && tar xaf $(SOURCESDIR)/$(UPSTREAM_OPENURL_TARBALL)
+ cp -r $(BUILDDIR)/openurl/libopenurl-$(UPSTREAM_OPENURL_VERSION)/include/* $(PREFIX)/$(TARGET_NAME)/sys-include/
touch $@
###
@@ -183,16 +185,13 @@ $(SOURCESDIR)/$(UPSTREAM_BINUTILS_TARBALL):
svn co $(UPSTREAM_BINUTILS_URI) $@
$(SOURCESDIR)/$(UPSTREAM_CLIB2_TARBALL):
- cvs -Q -d:pserver:$(UPSTREAM_CLIB2_URI) login
- cvs -z9 -d:pserver:$(UPSTREAM_CLIB2_URI) checkout -D $(UPSTREAM_CLIB2_VERSION) library
- tar -caf $@ library
- rm -rf library
+ wget -q -O $@ $(UPSTREAM_CLIB2_URI)
$(SOURCESDIR)/$(UPSTREAM_NDK_TARBALL):
wget -q -O $@ $(UPSTREAM_NDK_URI)
$(SOURCESDIR)/$(UPSTREAM_OPENURL_TARBALL):
- svn export $(UPSTREAM_OPENURL_URI) $@
+ wget -q -O $@ $(UPSTREAM_OPENURL_URI)
###
# Rule to create buildsteps dir
--
Cross-compilation toolchains and environments
7 years, 10 months
libdom: branch tlsa/html-element-type updated. release/0.2.0-23-gcedfbbc
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/libdom.git/shortlog/cedfbbce5ee148d04cfa87...
...commit http://git.netsurf-browser.org/libdom.git/commit/cedfbbce5ee148d04cfa87c3...
...tree http://git.netsurf-browser.org/libdom.git/tree/cedfbbce5ee148d04cfa87c3e4...
The branch, tlsa/html-element-type has been updated
via cedfbbce5ee148d04cfa87c3e459eea26ba397ef (commit)
via fa2111088b5bb6b24b4acca53c95e1dc0284682e (commit)
via 5007c80a332a8e538b1c5d530cab87f04427b2ad (commit)
from bab3f35ff01a5825034d23424b8e3866cb6376e7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/libdom.git/commit/?id=cedfbbce5ee148d04cfa...
commit cedfbbce5ee148d04cfa87c3e459eea26ba397ef
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Add function to get html element's tag type.
diff --git a/Makefile b/Makefile
index ddbdbd2..d287455 100644
--- a/Makefile
+++ b/Makefile
@@ -90,6 +90,7 @@ I := /$(INCLUDEDIR)/dom/html
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_document.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_collection.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_element.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_elements.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_html_element.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_head_element.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_link_element.h
diff --git a/include/dom/html/html_element.h b/include/dom/html/html_element.h
index dc1def1..49a7d59 100644
--- a/include/dom/html/html_element.h
+++ b/include/dom/html/html_element.h
@@ -9,6 +9,7 @@
#define dom_html_element_h_
#include <dom/core/element.h>
+#include <dom/html/html_elements.h>
typedef struct dom_html_element dom_html_element;
@@ -45,6 +46,12 @@ typedef struct dom_html_element_vtable {
dom_exception (*dom_html_element_set_class_name)(
struct dom_html_element *element,
dom_string *class_name);
+
+ /* This is for providing clients with a convienent way to deal
+ * with html elements with a specific tag name. */
+ dom_exception (*dom_html_element_get_tag_type)(
+ const struct dom_html_element *element,
+ dom_html_element_type *type);
} dom_html_element_vtable;
static inline dom_exception dom_html_element_get_id(
@@ -139,5 +146,16 @@ static inline dom_exception dom_html_element_set_class_name(
dom_html_element_set_class_name((dom_html_element *) (e), \
(class_name))
+static inline dom_exception dom_html_element_get_tag_type(
+ const struct dom_html_element *element,
+ dom_html_element_type *type)
+{
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_tag_type(element, type);
+}
+#define dom_html_element_get_tag_type(e, type) \
+ dom_html_element_get_tag_type((const dom_html_element *) (e), \
+ (type))
+
#endif
diff --git a/src/html/html_element.c b/src/html/html_element.c
index 39aabda..85380ff 100644
--- a/src/html/html_element.c
+++ b/src/html/html_element.c
@@ -282,6 +282,24 @@ dom_exception _dom_html_element_get_elements_by_tag_name_ns(
return err;
}
+/**
+ * Retrieve an HTML element's tag type.
+ *
+ * \param element The element to get the tag type of.
+ * \param type Updated to the tag type of the element.
+ * \return DOM_NO_ERR
+ *
+ * Elements with non-standard tags will be DOM_HTML_ELEMENT_TYPE__UNKNOWN.
+ */
+dom_exception _dom_html_element_get_tag_type(
+ const struct dom_html_element *element,
+ dom_html_element_type *type)
+{
+ *type = element->type;
+
+ return DOM_NO_ERR;
+}
+
/*-----------------------------------------------------------------------*/
/* Common functions */
diff --git a/src/html/html_element.h b/src/html/html_element.h
index 7d86727..92c96ab 100644
--- a/src/html/html_element.h
+++ b/src/html/html_element.h
@@ -124,6 +124,8 @@ dom_exception _dom_html_element_get_class_name(dom_html_element *element,
dom_string **class_name);
dom_exception _dom_html_element_set_class_name(dom_html_element *element,
dom_string *class_name);
+dom_exception _dom_html_element_get_tag_type(const dom_html_element *element,
+ dom_html_element_type *type);
#define DOM_HTML_ELEMENT_VTABLE \
_dom_html_element_get_id, \
@@ -135,7 +137,8 @@ dom_exception _dom_html_element_set_class_name(dom_html_element *element,
_dom_html_element_get_dir, \
_dom_html_element_set_dir, \
_dom_html_element_get_class_name, \
- _dom_html_element_set_class_name
+ _dom_html_element_set_class_name, \
+ _dom_html_element_get_tag_type
/* Some common functions used by all child classes */
dom_exception dom_html_element_get_bool_property(dom_html_element *ele,
commitdiff http://git.netsurf-browser.org/libdom.git/commit/?id=fa2111088b5bb6b24b4a...
commit fa2111088b5bb6b24b4acca53c95e1dc0284682e
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Style: Fix indentation and tidy up.
diff --git a/include/dom/html/html_element.h b/include/dom/html/html_element.h
index d6d3c88..dc1def1 100644
--- a/include/dom/html/html_element.h
+++ b/include/dom/html/html_element.h
@@ -13,119 +13,131 @@
typedef struct dom_html_element dom_html_element;
typedef struct dom_html_element_vtable {
- struct dom_element_vtable base;
-
- dom_exception (*dom_html_element_get_id)(struct dom_html_element *element,
- dom_string **id);
- dom_exception (*dom_html_element_set_id)(struct dom_html_element *element,
- dom_string *id);
- dom_exception (*dom_html_element_get_title)(struct dom_html_element *element,
- dom_string **title);
- dom_exception (*dom_html_element_set_title)(struct dom_html_element *element,
- dom_string *title);
- dom_exception (*dom_html_element_get_lang)(struct dom_html_element *element,
- dom_string **lang);
- dom_exception (*dom_html_element_set_lang)(struct dom_html_element *element,
- dom_string *lang);
- dom_exception (*dom_html_element_get_dir)(struct dom_html_element *element,
- dom_string **dir);
- dom_exception (*dom_html_element_set_dir)(struct dom_html_element *element,
- dom_string *dir);
- dom_exception (*dom_html_element_get_class_name)(struct dom_html_element *element,
- dom_string **class_name);
- dom_exception (*dom_html_element_set_class_name)(struct dom_html_element *element,
- dom_string *class_name);
+ struct dom_element_vtable base;
+
+ dom_exception (*dom_html_element_get_id)(
+ struct dom_html_element *element,
+ dom_string **id);
+ dom_exception (*dom_html_element_set_id)(
+ struct dom_html_element *element,
+ dom_string *id);
+ dom_exception (*dom_html_element_get_title)(
+ struct dom_html_element *element,
+ dom_string **title);
+ dom_exception (*dom_html_element_set_title)(
+ struct dom_html_element *element,
+ dom_string *title);
+ dom_exception (*dom_html_element_get_lang)(
+ struct dom_html_element *element,
+ dom_string **lang);
+ dom_exception (*dom_html_element_set_lang)(
+ struct dom_html_element *element,
+ dom_string *lang);
+ dom_exception (*dom_html_element_get_dir)(
+ struct dom_html_element *element,
+ dom_string **dir);
+ dom_exception (*dom_html_element_set_dir)(
+ struct dom_html_element *element,
+ dom_string *dir);
+ dom_exception (*dom_html_element_get_class_name)(
+ struct dom_html_element *element,
+ dom_string **class_name);
+ dom_exception (*dom_html_element_set_class_name)(
+ struct dom_html_element *element,
+ dom_string *class_name);
} dom_html_element_vtable;
-static inline dom_exception dom_html_element_get_id(struct dom_html_element *element,
- dom_string **id)
+static inline dom_exception dom_html_element_get_id(
+ struct dom_html_element *element, dom_string **id)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_id(element, id);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_id(element, id);
}
#define dom_html_element_get_id(e, id) dom_html_element_get_id( \
(dom_html_element *) (e), (id))
-static inline dom_exception dom_html_element_set_id(struct dom_html_element *element,
- dom_string *id)
+static inline dom_exception dom_html_element_set_id(
+ struct dom_html_element *element, dom_string *id)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_id(element, id);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_id(element, id);
}
#define dom_html_element_set_id(e, id) dom_html_element_set_id( \
(dom_html_element *) (e), (id))
-static inline dom_exception dom_html_element_get_title(struct dom_html_element *element,
- dom_string **title)
+static inline dom_exception dom_html_element_get_title(
+ struct dom_html_element *element, dom_string **title)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_title(element, title);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_title(element, title);
}
#define dom_html_element_get_title(e, title) dom_html_element_get_title( \
(dom_html_element *) (e), (title))
-static inline dom_exception dom_html_element_set_title(struct dom_html_element *element,
- dom_string *title)
+static inline dom_exception dom_html_element_set_title(
+ struct dom_html_element *element, dom_string *title)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_title(element, title);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_title(element, title);
}
#define dom_html_element_set_title(e, title) dom_html_element_set_title( \
(dom_html_element *) (e), (title))
-static inline dom_exception dom_html_element_get_lang(struct dom_html_element *element,
- dom_string **lang)
+static inline dom_exception dom_html_element_get_lang(
+ struct dom_html_element *element, dom_string **lang)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_lang(element, lang);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_lang(element, lang);
}
#define dom_html_element_get_lang(e, lang) dom_html_element_get_lang( \
(dom_html_element *) (e), (lang))
-static inline dom_exception dom_html_element_set_lang(struct dom_html_element *element,
- dom_string *lang)
+static inline dom_exception dom_html_element_set_lang(
+ struct dom_html_element *element, dom_string *lang)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_lang(element, lang);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_lang(element, lang);
}
#define dom_html_element_set_lang(e, lang) dom_html_element_set_lang( \
(dom_html_element *) (e), (lang))
-static inline dom_exception dom_html_element_get_dir(struct dom_html_element *element,
- dom_string **dir)
+static inline dom_exception dom_html_element_get_dir(
+ struct dom_html_element *element, dom_string **dir)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_dir(element, dir);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_dir(element, dir);
}
#define dom_html_element_get_dir(e, dir) dom_html_element_get_dir( \
(dom_html_element *) (e), (dir))
-static inline dom_exception dom_html_element_set_dir(struct dom_html_element *element,
- dom_string *dir)
+static inline dom_exception dom_html_element_set_dir(
+ struct dom_html_element *element, dom_string *dir)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_dir(element, dir);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_dir(element, dir);
}
#define dom_html_element_set_dir(e, dir) dom_html_element_set_dir( \
(dom_html_element *) (e), (dir))
-static inline dom_exception dom_html_element_get_class_name(struct dom_html_element *element,
- dom_string **class_name)
+static inline dom_exception dom_html_element_get_class_name(
+ struct dom_html_element *element, dom_string **class_name)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_class_name(element, class_name);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_class_name(element, class_name);
}
-#define dom_html_element_get_class_name(e, class_name) dom_html_element_get_class_name( \
- (dom_html_element *) (e), (class_name))
+#define dom_html_element_get_class_name(e, class_name) \
+ dom_html_element_get_class_name((dom_html_element *) (e), \
+ (class_name))
-static inline dom_exception dom_html_element_set_class_name(struct dom_html_element *element,
- dom_string *class_name)
+static inline dom_exception dom_html_element_set_class_name(
+ struct dom_html_element *element, dom_string *class_name)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_class_name(element, class_name);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_class_name(element, class_name);
}
-#define dom_html_element_set_class_name(e, class_name) dom_html_element_set_class_name( \
- (dom_html_element *) (e), (class_name))
+#define dom_html_element_set_class_name(e, class_name) \
+ dom_html_element_set_class_name((dom_html_element *) (e), \
+ (class_name))
#endif
commitdiff http://git.netsurf-browser.org/libdom.git/commit/?id=5007c80a332a8e538b1c...
commit 5007c80a332a8e538b1c5d530cab87f04427b2ad
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Store HTMLElement tag types as enum on the html elements.
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 34d8803..0d9ccc7 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -493,22 +493,20 @@ _dom_html_document_create_element_internal(
dom_html_element **result)
{
dom_exception exc;
- dom_html_element_type type;
struct dom_html_element_create_params params;
exc = dom_string_toupper(in_tag_name, true, ¶ms.name);
if (exc != DOM_NO_ERR)
return exc;
- type = _dom_html_document_get_element_type(html, params.name);
-
+ params.type = _dom_html_document_get_element_type(html, params.name);
params.doc = html;
params.namespace = namespace;
params.prefix = prefix;
- switch(type) {
+ switch(params.type) {
case DOM_HTML_ELEMENT_TYPE__COUNT:
- assert(type != DOM_HTML_ELEMENT_TYPE__COUNT);
+ assert(params.type != DOM_HTML_ELEMENT_TYPE__COUNT);
break;
case DOM_HTML_ELEMENT_TYPE_HTML:
exc = _dom_html_html_element_create(¶ms,
@@ -730,8 +728,7 @@ _dom_html_document_create_element_internal(
(dom_html_isindex_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE__UNKNOWN:
- exc = _dom_html_element_create(¶ms,
- result);
+ exc = _dom_html_element_create(¶ms, result);
break;
}
diff --git a/src/html/html_element.c b/src/html/html_element.c
index 513a5be..39aabda 100644
--- a/src/html/html_element.c
+++ b/src/html/html_element.c
@@ -69,6 +69,8 @@ dom_exception _dom_html_element_initialise(
{
dom_exception err;
+ el->type = params->type;
+
err = _dom_element_initialise(¶ms->doc->base, &el->base,
params->name, params->namespace, params->prefix);
if (err != DOM_NO_ERR)
diff --git a/src/html/html_element.h b/src/html/html_element.h
index 2d42abc..7d86727 100644
--- a/src/html/html_element.h
+++ b/src/html/html_element.h
@@ -22,9 +22,11 @@ struct dom_html_document;
struct dom_html_element {
struct dom_element base;
/**< The base class */
+ dom_html_element_type type;
};
struct dom_html_element_create_params {
+ dom_html_element_type type;
struct dom_html_document *doc;
dom_string *name;
dom_string *namespace;
diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c
index 2139272..442e1d6 100644
--- a/src/html/html_table_element.c
+++ b/src/html/html_table_element.c
@@ -435,6 +435,7 @@ dom_exception dom_html_table_element_create_caption(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_CAPTION,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
.namespace = ((dom_node_internal *)element)->namespace,
@@ -507,6 +508,7 @@ dom_exception dom_html_table_element_create_t_foot(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TFOOT,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
.namespace = ((dom_node_internal *)element)->namespace,
@@ -584,6 +586,7 @@ dom_exception dom_html_table_element_create_t_head(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_THEAD,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD],
.namespace = ((dom_node_internal *)element)->namespace,
@@ -666,6 +669,7 @@ dom_exception dom_html_table_element_create_t_body(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TBODY,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
.namespace = ((dom_node_internal *)element)->namespace,
@@ -711,6 +715,7 @@ dom_exception dom_html_table_element_insert_row(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TR,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
.namespace = ((dom_node_internal *)element)->namespace,
diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c
index 8773452..0d4f3eb 100644
--- a/src/html/html_tablerow_element.c
+++ b/src/html/html_tablerow_element.c
@@ -334,6 +334,7 @@ dom_exception dom_html_table_row_element_insert_cell(
dom_exception exp; /*< Variable for getting the exceptions*/
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TD,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TD],
.namespace = ((dom_node_internal *)element)->namespace,
diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c
index fadc0ed..d570e1c 100644
--- a/src/html/html_tablesection_element.c
+++ b/src/html/html_tablesection_element.c
@@ -210,6 +210,7 @@ dom_exception dom_html_table_section_element_insert_row(
dom_exception exp; /*< Variable for getting the exceptions*/
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TR,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
.namespace = ((dom_node_internal *)element)->namespace,
-----------------------------------------------------------------------
Summary of changes:
Makefile | 1 +
include/dom/html/html_element.h | 162 ++++++++++++++++++++--------------
src/html/html_document.c | 11 +--
src/html/html_element.c | 20 +++++
src/html/html_element.h | 7 +-
src/html/html_table_element.c | 5 ++
src/html/html_tablerow_element.c | 1 +
src/html/html_tablesection_element.c | 1 +
8 files changed, 134 insertions(+), 74 deletions(-)
diff --git a/Makefile b/Makefile
index ddbdbd2..d287455 100644
--- a/Makefile
+++ b/Makefile
@@ -90,6 +90,7 @@ I := /$(INCLUDEDIR)/dom/html
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_document.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_collection.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_element.h
+INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_elements.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_html_element.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_head_element.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_link_element.h
diff --git a/include/dom/html/html_element.h b/include/dom/html/html_element.h
index d6d3c88..49a7d59 100644
--- a/include/dom/html/html_element.h
+++ b/include/dom/html/html_element.h
@@ -9,123 +9,153 @@
#define dom_html_element_h_
#include <dom/core/element.h>
+#include <dom/html/html_elements.h>
typedef struct dom_html_element dom_html_element;
typedef struct dom_html_element_vtable {
- struct dom_element_vtable base;
-
- dom_exception (*dom_html_element_get_id)(struct dom_html_element *element,
- dom_string **id);
- dom_exception (*dom_html_element_set_id)(struct dom_html_element *element,
- dom_string *id);
- dom_exception (*dom_html_element_get_title)(struct dom_html_element *element,
- dom_string **title);
- dom_exception (*dom_html_element_set_title)(struct dom_html_element *element,
- dom_string *title);
- dom_exception (*dom_html_element_get_lang)(struct dom_html_element *element,
- dom_string **lang);
- dom_exception (*dom_html_element_set_lang)(struct dom_html_element *element,
- dom_string *lang);
- dom_exception (*dom_html_element_get_dir)(struct dom_html_element *element,
- dom_string **dir);
- dom_exception (*dom_html_element_set_dir)(struct dom_html_element *element,
- dom_string *dir);
- dom_exception (*dom_html_element_get_class_name)(struct dom_html_element *element,
- dom_string **class_name);
- dom_exception (*dom_html_element_set_class_name)(struct dom_html_element *element,
- dom_string *class_name);
+ struct dom_element_vtable base;
+
+ dom_exception (*dom_html_element_get_id)(
+ struct dom_html_element *element,
+ dom_string **id);
+ dom_exception (*dom_html_element_set_id)(
+ struct dom_html_element *element,
+ dom_string *id);
+ dom_exception (*dom_html_element_get_title)(
+ struct dom_html_element *element,
+ dom_string **title);
+ dom_exception (*dom_html_element_set_title)(
+ struct dom_html_element *element,
+ dom_string *title);
+ dom_exception (*dom_html_element_get_lang)(
+ struct dom_html_element *element,
+ dom_string **lang);
+ dom_exception (*dom_html_element_set_lang)(
+ struct dom_html_element *element,
+ dom_string *lang);
+ dom_exception (*dom_html_element_get_dir)(
+ struct dom_html_element *element,
+ dom_string **dir);
+ dom_exception (*dom_html_element_set_dir)(
+ struct dom_html_element *element,
+ dom_string *dir);
+ dom_exception (*dom_html_element_get_class_name)(
+ struct dom_html_element *element,
+ dom_string **class_name);
+ dom_exception (*dom_html_element_set_class_name)(
+ struct dom_html_element *element,
+ dom_string *class_name);
+
+ /* This is for providing clients with a convienent way to deal
+ * with html elements with a specific tag name. */
+ dom_exception (*dom_html_element_get_tag_type)(
+ const struct dom_html_element *element,
+ dom_html_element_type *type);
} dom_html_element_vtable;
-static inline dom_exception dom_html_element_get_id(struct dom_html_element *element,
- dom_string **id)
+static inline dom_exception dom_html_element_get_id(
+ struct dom_html_element *element, dom_string **id)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_id(element, id);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_id(element, id);
}
#define dom_html_element_get_id(e, id) dom_html_element_get_id( \
(dom_html_element *) (e), (id))
-static inline dom_exception dom_html_element_set_id(struct dom_html_element *element,
- dom_string *id)
+static inline dom_exception dom_html_element_set_id(
+ struct dom_html_element *element, dom_string *id)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_id(element, id);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_id(element, id);
}
#define dom_html_element_set_id(e, id) dom_html_element_set_id( \
(dom_html_element *) (e), (id))
-static inline dom_exception dom_html_element_get_title(struct dom_html_element *element,
- dom_string **title)
+static inline dom_exception dom_html_element_get_title(
+ struct dom_html_element *element, dom_string **title)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_title(element, title);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_title(element, title);
}
#define dom_html_element_get_title(e, title) dom_html_element_get_title( \
(dom_html_element *) (e), (title))
-static inline dom_exception dom_html_element_set_title(struct dom_html_element *element,
- dom_string *title)
+static inline dom_exception dom_html_element_set_title(
+ struct dom_html_element *element, dom_string *title)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_title(element, title);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_title(element, title);
}
#define dom_html_element_set_title(e, title) dom_html_element_set_title( \
(dom_html_element *) (e), (title))
-static inline dom_exception dom_html_element_get_lang(struct dom_html_element *element,
- dom_string **lang)
+static inline dom_exception dom_html_element_get_lang(
+ struct dom_html_element *element, dom_string **lang)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_lang(element, lang);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_lang(element, lang);
}
#define dom_html_element_get_lang(e, lang) dom_html_element_get_lang( \
(dom_html_element *) (e), (lang))
-static inline dom_exception dom_html_element_set_lang(struct dom_html_element *element,
- dom_string *lang)
+static inline dom_exception dom_html_element_set_lang(
+ struct dom_html_element *element, dom_string *lang)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_lang(element, lang);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_lang(element, lang);
}
#define dom_html_element_set_lang(e, lang) dom_html_element_set_lang( \
(dom_html_element *) (e), (lang))
-static inline dom_exception dom_html_element_get_dir(struct dom_html_element *element,
- dom_string **dir)
+static inline dom_exception dom_html_element_get_dir(
+ struct dom_html_element *element, dom_string **dir)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_dir(element, dir);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_dir(element, dir);
}
#define dom_html_element_get_dir(e, dir) dom_html_element_get_dir( \
(dom_html_element *) (e), (dir))
-static inline dom_exception dom_html_element_set_dir(struct dom_html_element *element,
- dom_string *dir)
+static inline dom_exception dom_html_element_set_dir(
+ struct dom_html_element *element, dom_string *dir)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_dir(element, dir);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_dir(element, dir);
}
#define dom_html_element_set_dir(e, dir) dom_html_element_set_dir( \
(dom_html_element *) (e), (dir))
-static inline dom_exception dom_html_element_get_class_name(struct dom_html_element *element,
- dom_string **class_name)
+static inline dom_exception dom_html_element_get_class_name(
+ struct dom_html_element *element, dom_string **class_name)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_get_class_name(element, class_name);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_class_name(element, class_name);
}
-#define dom_html_element_get_class_name(e, class_name) dom_html_element_get_class_name( \
- (dom_html_element *) (e), (class_name))
+#define dom_html_element_get_class_name(e, class_name) \
+ dom_html_element_get_class_name((dom_html_element *) (e), \
+ (class_name))
-static inline dom_exception dom_html_element_set_class_name(struct dom_html_element *element,
- dom_string *class_name)
+static inline dom_exception dom_html_element_set_class_name(
+ struct dom_html_element *element, dom_string *class_name)
{
- return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
- dom_html_element_set_class_name(element, class_name);
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_set_class_name(element, class_name);
}
-#define dom_html_element_set_class_name(e, class_name) dom_html_element_set_class_name( \
- (dom_html_element *) (e), (class_name))
+#define dom_html_element_set_class_name(e, class_name) \
+ dom_html_element_set_class_name((dom_html_element *) (e), \
+ (class_name))
+
+static inline dom_exception dom_html_element_get_tag_type(
+ const struct dom_html_element *element,
+ dom_html_element_type *type)
+{
+ return ((dom_html_element_vtable *) ((dom_node *) element)->vtable)->
+ dom_html_element_get_tag_type(element, type);
+}
+#define dom_html_element_get_tag_type(e, type) \
+ dom_html_element_get_tag_type((const dom_html_element *) (e), \
+ (type))
#endif
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 34d8803..0d9ccc7 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -493,22 +493,20 @@ _dom_html_document_create_element_internal(
dom_html_element **result)
{
dom_exception exc;
- dom_html_element_type type;
struct dom_html_element_create_params params;
exc = dom_string_toupper(in_tag_name, true, ¶ms.name);
if (exc != DOM_NO_ERR)
return exc;
- type = _dom_html_document_get_element_type(html, params.name);
-
+ params.type = _dom_html_document_get_element_type(html, params.name);
params.doc = html;
params.namespace = namespace;
params.prefix = prefix;
- switch(type) {
+ switch(params.type) {
case DOM_HTML_ELEMENT_TYPE__COUNT:
- assert(type != DOM_HTML_ELEMENT_TYPE__COUNT);
+ assert(params.type != DOM_HTML_ELEMENT_TYPE__COUNT);
break;
case DOM_HTML_ELEMENT_TYPE_HTML:
exc = _dom_html_html_element_create(¶ms,
@@ -730,8 +728,7 @@ _dom_html_document_create_element_internal(
(dom_html_isindex_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE__UNKNOWN:
- exc = _dom_html_element_create(¶ms,
- result);
+ exc = _dom_html_element_create(¶ms, result);
break;
}
diff --git a/src/html/html_element.c b/src/html/html_element.c
index 513a5be..85380ff 100644
--- a/src/html/html_element.c
+++ b/src/html/html_element.c
@@ -69,6 +69,8 @@ dom_exception _dom_html_element_initialise(
{
dom_exception err;
+ el->type = params->type;
+
err = _dom_element_initialise(¶ms->doc->base, &el->base,
params->name, params->namespace, params->prefix);
if (err != DOM_NO_ERR)
@@ -280,6 +282,24 @@ dom_exception _dom_html_element_get_elements_by_tag_name_ns(
return err;
}
+/**
+ * Retrieve an HTML element's tag type.
+ *
+ * \param element The element to get the tag type of.
+ * \param type Updated to the tag type of the element.
+ * \return DOM_NO_ERR
+ *
+ * Elements with non-standard tags will be DOM_HTML_ELEMENT_TYPE__UNKNOWN.
+ */
+dom_exception _dom_html_element_get_tag_type(
+ const struct dom_html_element *element,
+ dom_html_element_type *type)
+{
+ *type = element->type;
+
+ return DOM_NO_ERR;
+}
+
/*-----------------------------------------------------------------------*/
/* Common functions */
diff --git a/src/html/html_element.h b/src/html/html_element.h
index 2d42abc..92c96ab 100644
--- a/src/html/html_element.h
+++ b/src/html/html_element.h
@@ -22,9 +22,11 @@ struct dom_html_document;
struct dom_html_element {
struct dom_element base;
/**< The base class */
+ dom_html_element_type type;
};
struct dom_html_element_create_params {
+ dom_html_element_type type;
struct dom_html_document *doc;
dom_string *name;
dom_string *namespace;
@@ -122,6 +124,8 @@ dom_exception _dom_html_element_get_class_name(dom_html_element *element,
dom_string **class_name);
dom_exception _dom_html_element_set_class_name(dom_html_element *element,
dom_string *class_name);
+dom_exception _dom_html_element_get_tag_type(const dom_html_element *element,
+ dom_html_element_type *type);
#define DOM_HTML_ELEMENT_VTABLE \
_dom_html_element_get_id, \
@@ -133,7 +137,8 @@ dom_exception _dom_html_element_set_class_name(dom_html_element *element,
_dom_html_element_get_dir, \
_dom_html_element_set_dir, \
_dom_html_element_get_class_name, \
- _dom_html_element_set_class_name
+ _dom_html_element_set_class_name, \
+ _dom_html_element_get_tag_type
/* Some common functions used by all child classes */
dom_exception dom_html_element_get_bool_property(dom_html_element *ele,
diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c
index 2139272..442e1d6 100644
--- a/src/html/html_table_element.c
+++ b/src/html/html_table_element.c
@@ -435,6 +435,7 @@ dom_exception dom_html_table_element_create_caption(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_CAPTION,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
.namespace = ((dom_node_internal *)element)->namespace,
@@ -507,6 +508,7 @@ dom_exception dom_html_table_element_create_t_foot(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TFOOT,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
.namespace = ((dom_node_internal *)element)->namespace,
@@ -584,6 +586,7 @@ dom_exception dom_html_table_element_create_t_head(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_THEAD,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD],
.namespace = ((dom_node_internal *)element)->namespace,
@@ -666,6 +669,7 @@ dom_exception dom_html_table_element_create_t_body(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TBODY,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
.namespace = ((dom_node_internal *)element)->namespace,
@@ -711,6 +715,7 @@ dom_exception dom_html_table_element_insert_row(
((dom_node_internal *) element)->owner;
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TR,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
.namespace = ((dom_node_internal *)element)->namespace,
diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c
index 8773452..0d4f3eb 100644
--- a/src/html/html_tablerow_element.c
+++ b/src/html/html_tablerow_element.c
@@ -334,6 +334,7 @@ dom_exception dom_html_table_row_element_insert_cell(
dom_exception exp; /*< Variable for getting the exceptions*/
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TD,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TD],
.namespace = ((dom_node_internal *)element)->namespace,
diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c
index fadc0ed..d570e1c 100644
--- a/src/html/html_tablesection_element.c
+++ b/src/html/html_tablesection_element.c
@@ -210,6 +210,7 @@ dom_exception dom_html_table_section_element_insert_row(
dom_exception exp; /*< Variable for getting the exceptions*/
struct dom_html_element_create_params params = {
+ .type = DOM_HTML_ELEMENT_TYPE_TR,
.doc = doc,
.name = doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
.namespace = ((dom_node_internal *)element)->namespace,
--
Document Object Model library
7 years, 10 months
toolchains: branch master updated. fa4b449b1da6ff24239f34049e0757579a2f7047
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/toolchains.git/shortlog/fa4b449b1da6ff2423...
...commit http://git.netsurf-browser.org/toolchains.git/commit/fa4b449b1da6ff24239f...
...tree http://git.netsurf-browser.org/toolchains.git/tree/fa4b449b1da6ff24239f34...
The branch, master has been updated
via fa4b449b1da6ff24239f34049e0757579a2f7047 (commit)
from 8da14c07b14d75f2a3070727fb7098af437ca3aa (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/toolchains.git/commit/?id=fa4b449b1da6ff24...
commit fa4b449b1da6ff24239f34049e0757579a2f7047
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Bump libpng version since 1.6.19 was vulnerable to CVE-2015-8126.
diff --git a/sdk/Makefile b/sdk/Makefile
index 4a6f350..e828ce7 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -27,7 +27,7 @@ VERSION_ZLIB := 1.2.8
VERSION_LIBICONV := 1.14
VERSION_LIBTRE := 0.8.0
VERSION_OPENSSL := 1.0.1r
-VERSION_LIBPNG := 1.6.19
+VERSION_LIBPNG := 1.6.21
VERSION_LIBJPEG := 8d
VERSION_LIBJPEG_TURBO := 1.4.2
VERSION_LIBCARES := 1.10.0
-----------------------------------------------------------------------
Summary of changes:
sdk/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sdk/Makefile b/sdk/Makefile
index 4a6f350..e828ce7 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -27,7 +27,7 @@ VERSION_ZLIB := 1.2.8
VERSION_LIBICONV := 1.14
VERSION_LIBTRE := 0.8.0
VERSION_OPENSSL := 1.0.1r
-VERSION_LIBPNG := 1.6.19
+VERSION_LIBPNG := 1.6.21
VERSION_LIBJPEG := 8d
VERSION_LIBJPEG_TURBO := 1.4.2
VERSION_LIBCARES := 1.10.0
--
Cross-compilation toolchains and environments
7 years, 10 months
libdom: branch tlsa/html-element-type updated. release/0.2.0-20-gbab3f35
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/libdom.git/shortlog/bab3f35ff01a5825034d23...
...commit http://git.netsurf-browser.org/libdom.git/commit/bab3f35ff01a5825034d2342...
...tree http://git.netsurf-browser.org/libdom.git/tree/bab3f35ff01a5825034d23424b...
The branch, tlsa/html-element-type has been updated
via bab3f35ff01a5825034d23424b8e3866cb6376e7 (commit)
via 809a7dcd1c803065eeb8ea39a605b6e0e2ec5241 (commit)
from 4bd00fd2f2e1b4951be2b168261e1bc92f844c24 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/libdom.git/commit/?id=bab3f35ff01a5825034d...
commit bab3f35ff01a5825034d23424b8e3866cb6376e7
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Simplified consistant interface to HTMLElement creation.
Also fixes STYLE element not getting the correct namespace or prefix.
diff --git a/src/html/html_anchor_element.c b/src/html/html_anchor_element.c
index 5ad473b..e23ae45 100644
--- a/src/html/html_anchor_element.c
+++ b/src/html/html_anchor_element.c
@@ -28,12 +28,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_anchor_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_anchor_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_anchor_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_anchor_element **ele)
{
struct dom_node_internal *node;
@@ -47,23 +47,21 @@ dom_exception _dom_html_anchor_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_anchor_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_anchor_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_anchor_element object
*
- * \param doc The document object
- * \param ele The dom_html_anchor_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_anchor_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_anchor_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_anchor_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_anchor_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_A],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_anchor_element.h b/src/html/html_anchor_element.h
index a9f5b5b..b79daf9 100644
--- a/src/html/html_anchor_element.h
+++ b/src/html/html_anchor_element.h
@@ -19,13 +19,13 @@ struct dom_html_anchor_element {
};
/* Create a dom_html_anchor_element object */
-dom_exception _dom_html_anchor_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_anchor_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_anchor_element **ele);
/* Initialise a dom_html_anchor_element object */
-dom_exception _dom_html_anchor_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_anchor_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_anchor_element *ele);
/* Finalise a dom_html_anchor_element object */
diff --git a/src/html/html_applet_element.c b/src/html/html_applet_element.c
index dedcbc5..2a28293 100644
--- a/src/html/html_applet_element.c
+++ b/src/html/html_applet_element.c
@@ -28,12 +28,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_applet_element applet
*
- * \param doc The document applet
- * \param ele The returned element applet
+ * \param params The html element creation parameters
+ * \param ele The returned element applet
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_applet_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_applet_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_applet_element **ele)
{
struct dom_node_internal *node;
@@ -47,23 +47,21 @@ dom_exception _dom_html_applet_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_applet_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_applet_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_applet_element applet
*
- * \param doc The document applet
- * \param ele The dom_html_applet_element applet
+ * \param params The html element creation parameters
+ * \param ele The dom_html_applet_element applet
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_applet_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_applet_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_applet_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_APPLET],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_applet_element.h b/src/html/html_applet_element.h
index 21e6d7a..20bef1f 100644
--- a/src/html/html_applet_element.h
+++ b/src/html/html_applet_element.h
@@ -19,13 +19,13 @@ struct dom_html_applet_element {
};
/* Create a dom_html_applet_element object */
-dom_exception _dom_html_applet_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_applet_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_applet_element **ele);
/* Initialise a dom_html_applet_element object */
-dom_exception _dom_html_applet_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_applet_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_applet_element *ele);
/* Finalise a dom_html_applet_element object */
diff --git a/src/html/html_area_element.c b/src/html/html_area_element.c
index b3ca8dd..4a2cefb 100644
--- a/src/html/html_area_element.c
+++ b/src/html/html_area_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_area_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_area_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_area_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_area_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_area_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_area_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_area_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_area_element object
*
- * \param doc The document object
- * \param ele The dom_html_area_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_area_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_area_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_area_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_area_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_AREA],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_area_element.h b/src/html/html_area_element.h
index a45d1df..73462b2 100644
--- a/src/html/html_area_element.h
+++ b/src/html/html_area_element.h
@@ -19,13 +19,13 @@ struct dom_html_area_element {
};
/* Create a dom_html_area_element object */
-dom_exception _dom_html_area_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_area_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_area_element **ele);
/* Initialise a dom_html_area_element object */
-dom_exception _dom_html_area_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_area_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_area_element *ele);
/* Finalise a dom_html_area_element object */
diff --git a/src/html/html_base_element.c b/src/html/html_base_element.c
index 55bbd94..cda0707 100644
--- a/src/html/html_base_element.c
+++ b/src/html/html_base_element.c
@@ -23,12 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_base_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_base_element **ele)
{
struct dom_node_internal *node;
@@ -42,23 +42,21 @@ dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_base_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_base_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_base_element object
*
- * \param doc The document object
- * \param ele The dom_html_base_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_base_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_base_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_base_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BASE],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_base_element.h b/src/html/html_base_element.h
index 3113635..608b99f 100644
--- a/src/html/html_base_element.h
+++ b/src/html/html_base_element.h
@@ -18,13 +18,13 @@ struct dom_html_base_element {
};
/* Create a dom_html_base_element object */
-dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_base_element **ele);
/* Initialise a dom_html_base_element object */
-dom_exception _dom_html_base_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_base_element *ele);
/* Finalise a dom_html_base_element object */
diff --git a/src/html/html_basefont_element.c b/src/html/html_basefont_element.c
index f8e9249..eab5a79 100644
--- a/src/html/html_basefont_element.c
+++ b/src/html/html_basefont_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_base_font_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_base_font_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_font_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_base_font_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_base_font_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_base_font_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_base_font_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_base_font_element object
*
- * \param doc The document object
- * \param ele The dom_html_base_font_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_base_font_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_base_font_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_font_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_base_font_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BASEFONT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_basefont_element.h b/src/html/html_basefont_element.h
index e6427ec..90e886e 100644
--- a/src/html/html_basefont_element.h
+++ b/src/html/html_basefont_element.h
@@ -19,13 +19,13 @@ struct dom_html_base_font_element {
};
/* Create a dom_html_base_font_element object */
-dom_exception _dom_html_base_font_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_font_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_base_font_element **ele);
/* Initialise a dom_html_base_font_element object */
-dom_exception _dom_html_base_font_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_font_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_base_font_element *ele);
/* Finalise a dom_html_base_font_element object */
diff --git a/src/html/html_body_element.c b/src/html/html_body_element.c
index f63583e..655fdb0 100644
--- a/src/html/html_body_element.c
+++ b/src/html/html_body_element.c
@@ -25,12 +25,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_body_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_body_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_body_element **ele)
{
struct dom_node_internal *node;
@@ -44,23 +44,21 @@ dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_body_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_body_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_body_element object
*
- * \param doc The document object
- * \param ele The dom_html_body_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_body_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_body_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_body_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_body_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BODY],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_body_element.h b/src/html/html_body_element.h
index 2763680..765c44d 100644
--- a/src/html/html_body_element.h
+++ b/src/html/html_body_element.h
@@ -18,13 +18,13 @@ struct dom_html_body_element {
};
/* Create a dom_html_body_element object */
-dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_body_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_body_element **ele);
/* Initialise a dom_html_body_element object */
-dom_exception _dom_html_body_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_body_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_body_element *ele);
/* Finalise a dom_html_body_element object */
diff --git a/src/html/html_br_element.c b/src/html/html_br_element.c
index ec5acf6..0cc9194 100644
--- a/src/html/html_br_element.c
+++ b/src/html/html_br_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_br_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_br_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_br_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_br_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_br_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_br_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_br_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_br_element object
*
- * \param doc The document object
- * \param ele The dom_html_br_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_br_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_br_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_br_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_br_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BR],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_br_element.h b/src/html/html_br_element.h
index ff2df3d..75cbc49 100644
--- a/src/html/html_br_element.h
+++ b/src/html/html_br_element.h
@@ -19,13 +19,13 @@ struct dom_html_br_element {
};
/* Create a dom_html_br_element object */
-dom_exception _dom_html_br_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_br_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_br_element **ele);
/* Initialise a dom_html_br_element object */
-dom_exception _dom_html_br_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_br_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_br_element *ele);
/* Finalise a dom_html_br_element object */
diff --git a/src/html/html_button_element.c b/src/html/html_button_element.c
index 28b694b..a9c34d5 100644
--- a/src/html/html_button_element.c
+++ b/src/html/html_button_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_button_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_button_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_button_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_button_element **ele)
{
struct dom_node_internal *node;
@@ -46,25 +46,23 @@ dom_exception _dom_html_button_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_button_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_button_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_button_element object
*
- * \param doc The document object
- * \param ele The dom_html_button_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_button_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_button_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_button_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_button_element *ele)
{
ele->form = NULL;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BUTTON],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_button_element.h b/src/html/html_button_element.h
index 18d0250..9734106 100644
--- a/src/html/html_button_element.h
+++ b/src/html/html_button_element.h
@@ -20,13 +20,13 @@ struct dom_html_button_element {
};
/* Create a dom_html_button_element object */
-dom_exception _dom_html_button_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_button_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_button_element **ele);
/* Initialise a dom_html_button_element object */
-dom_exception _dom_html_button_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_button_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_button_element *ele);
/* Finalise a dom_html_button_element object */
diff --git a/src/html/html_directory_element.c b/src/html/html_directory_element.c
index 1e06074..e50a353 100644
--- a/src/html/html_directory_element.c
+++ b/src/html/html_directory_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_directory_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_directory_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_directory_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_directory_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_directory_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_directory_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_directory_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_directory_element object
*
- * \param doc The document object
- * \param ele The dom_html_directory_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_directory_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_directory_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_directory_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_directory_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_DIR],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_directory_element.h b/src/html/html_directory_element.h
index 9f3fe2b..14497f6 100644
--- a/src/html/html_directory_element.h
+++ b/src/html/html_directory_element.h
@@ -19,13 +19,13 @@ struct dom_html_directory_element {
};
/* Create a dom_html_directory_element object */
-dom_exception _dom_html_directory_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_directory_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_directory_element **ele);
/* Initialise a dom_html_directory_element object */
-dom_exception _dom_html_directory_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_directory_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_directory_element *ele);
/* Finalise a dom_html_directory_element object */
diff --git a/src/html/html_div_element.c b/src/html/html_div_element.c
index f5ef051..5ebb971 100644
--- a/src/html/html_div_element.c
+++ b/src/html/html_div_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_div_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_div_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_div_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_div_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_div_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_div_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_div_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_div_element object
*
- * \param doc The document object
- * \param ele The dom_html_div_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_div_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_div_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_div_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_div_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_DIV],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_div_element.h b/src/html/html_div_element.h
index 62d1c3f..931d201 100644
--- a/src/html/html_div_element.h
+++ b/src/html/html_div_element.h
@@ -19,13 +19,13 @@ struct dom_html_div_element {
};
/* Create a dom_html_div_element object */
-dom_exception _dom_html_div_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_div_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_div_element **ele);
/* Initialise a dom_html_div_element object */
-dom_exception _dom_html_div_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_div_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_div_element *ele);
/* Finalise a dom_html_div_element object */
diff --git a/src/html/html_dlist_element.c b/src/html/html_dlist_element.c
index 38e3276..e2fccc9 100644
--- a/src/html/html_dlist_element.c
+++ b/src/html/html_dlist_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_dlist_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_dlist_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_dlist_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_dlist_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_dlist_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_dlist_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_dlist_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_dlist_element object
*
- * \param doc The document object
- * \param ele The dom_html_dlist_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_dlist_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_dlist_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_dlist_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_dlist_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_DL],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_dlist_element.h b/src/html/html_dlist_element.h
index 06d5634..aeca232 100644
--- a/src/html/html_dlist_element.h
+++ b/src/html/html_dlist_element.h
@@ -19,13 +19,13 @@ struct dom_html_dlist_element {
};
/* Create a dom_html_dlist_element object */
-dom_exception _dom_html_dlist_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_dlist_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_dlist_element **ele);
/* Initialise a dom_html_dlist_element object */
-dom_exception _dom_html_dlist_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_dlist_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_dlist_element *ele);
/* Finalise a dom_html_dlist_element object */
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 839cf99..34d8803 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -493,106 +493,110 @@ _dom_html_document_create_element_internal(
dom_html_element **result)
{
dom_exception exc;
- dom_string *tag_name;
dom_html_element_type type;
+ struct dom_html_element_create_params params;
- exc = dom_string_toupper(in_tag_name, true, &tag_name);
+ exc = dom_string_toupper(in_tag_name, true, ¶ms.name);
if (exc != DOM_NO_ERR)
return exc;
- type = _dom_html_document_get_element_type(html, tag_name);
+ type = _dom_html_document_get_element_type(html, params.name);
+
+ params.doc = html;
+ params.namespace = namespace;
+ params.prefix = prefix;
switch(type) {
case DOM_HTML_ELEMENT_TYPE__COUNT:
assert(type != DOM_HTML_ELEMENT_TYPE__COUNT);
break;
case DOM_HTML_ELEMENT_TYPE_HTML:
- exc = _dom_html_html_element_create(html, namespace, prefix,
+ exc = _dom_html_html_element_create(¶ms,
(dom_html_html_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_HEAD:
- exc = _dom_html_head_element_create(html, namespace, prefix,
+ exc = _dom_html_head_element_create(¶ms,
(dom_html_head_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_META:
- exc = _dom_html_meta_element_create(html, namespace, prefix,
+ exc = _dom_html_meta_element_create(¶ms,
(dom_html_meta_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BASE:
- exc = _dom_html_base_element_create(html, namespace, prefix,
+ exc = _dom_html_base_element_create(¶ms,
(dom_html_base_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TITLE:
- exc = _dom_html_title_element_create(html, namespace, prefix,
+ exc = _dom_html_title_element_create(¶ms,
(dom_html_title_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BODY:
- exc = _dom_html_body_element_create(html, namespace, prefix,
+ exc = _dom_html_body_element_create(¶ms,
(dom_html_body_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_DIV:
- exc = _dom_html_div_element_create(html, namespace, prefix,
+ exc = _dom_html_div_element_create(¶ms,
(dom_html_div_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FORM:
- exc = _dom_html_form_element_create(html, namespace, prefix,
+ exc = _dom_html_form_element_create(¶ms,
(dom_html_form_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_LINK:
- exc = _dom_html_link_element_create(html, namespace, prefix,
+ exc = _dom_html_link_element_create(¶ms,
(dom_html_link_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BUTTON:
- exc = _dom_html_button_element_create(html, namespace, prefix,
+ exc = _dom_html_button_element_create(¶ms,
(dom_html_button_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_INPUT:
- exc = _dom_html_input_element_create(html, namespace, prefix,
+ exc = _dom_html_input_element_create(¶ms,
(dom_html_input_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TEXTAREA:
- exc = _dom_html_text_area_element_create(html, namespace,
- prefix, (dom_html_text_area_element **) result);
+ exc = _dom_html_text_area_element_create(¶ms,
+ (dom_html_text_area_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_OPTGROUP:
- exc = _dom_html_opt_group_element_create(html, namespace,
- prefix, (dom_html_opt_group_element **) result);
+ exc = _dom_html_opt_group_element_create(¶ms,
+ (dom_html_opt_group_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_OPTION:
- exc = _dom_html_option_element_create(html, namespace, prefix,
+ exc = _dom_html_option_element_create(¶ms,
(dom_html_option_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_SELECT:
- exc = _dom_html_select_element_create(html, namespace, prefix,
+ exc = _dom_html_select_element_create(¶ms,
(dom_html_select_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_HR:
- exc = _dom_html_hr_element_create(html, namespace, prefix,
+ exc = _dom_html_hr_element_create(¶ms,
(dom_html_hr_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_DL:
- exc = _dom_html_dlist_element_create(html, namespace, prefix,
+ exc = _dom_html_dlist_element_create(¶ms,
(dom_html_dlist_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_DIR:
- exc = _dom_html_directory_element_create(html, namespace,
- prefix, (dom_html_directory_element **) result);
+ exc = _dom_html_directory_element_create(¶ms,
+ (dom_html_directory_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_MENU:
- exc = _dom_html_menu_element_create(html, namespace, prefix,
+ exc = _dom_html_menu_element_create(¶ms,
(dom_html_menu_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FIELDSET:
- exc = _dom_html_field_set_element_create(html, namespace,
- prefix, (dom_html_field_set_element **) result);
+ exc = _dom_html_field_set_element_create(¶ms,
+ (dom_html_field_set_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_LEGEND:
- exc = _dom_html_legend_element_create(html, namespace, prefix,
+ exc = _dom_html_legend_element_create(¶ms,
(dom_html_legend_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_P:
- exc = _dom_html_paragraph_element_create(html, namespace,
- prefix, (dom_html_paragraph_element **) result);
+ exc = _dom_html_paragraph_element_create(¶ms,
+ (dom_html_paragraph_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_H1:
case DOM_HTML_ELEMENT_TYPE_H2:
@@ -600,145 +604,138 @@ _dom_html_document_create_element_internal(
case DOM_HTML_ELEMENT_TYPE_H4:
case DOM_HTML_ELEMENT_TYPE_H5:
case DOM_HTML_ELEMENT_TYPE_H6:
- exc = _dom_html_heading_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_heading_element_create(¶ms,
(dom_html_heading_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE:
case DOM_HTML_ELEMENT_TYPE_Q:
- exc = _dom_html_quote_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_quote_element_create(¶ms,
(dom_html_quote_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_PRE:
- exc = _dom_html_pre_element_create(html, namespace, prefix,
+ exc = _dom_html_pre_element_create(¶ms,
(dom_html_pre_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BR:
- exc = _dom_html_br_element_create(html, namespace, prefix,
+ exc = _dom_html_br_element_create(¶ms,
(dom_html_br_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_LABEL:
- exc = _dom_html_label_element_create(html, namespace, prefix,
+ exc = _dom_html_label_element_create(¶ms,
(dom_html_label_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_UL:
- exc = _dom_html_u_list_element_create(html, namespace, prefix,
+ exc = _dom_html_u_list_element_create(¶ms,
(dom_html_u_list_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_OL:
- exc = _dom_html_olist_element_create(html, namespace, prefix,
+ exc = _dom_html_olist_element_create(¶ms,
(dom_html_olist_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_LI:
- exc = _dom_html_li_element_create(html, namespace, prefix,
+ exc = _dom_html_li_element_create(¶ms,
(dom_html_li_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FONT:
- exc = _dom_html_font_element_create(html, namespace, prefix,
+ exc = _dom_html_font_element_create(¶ms,
(dom_html_font_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_DEL:
case DOM_HTML_ELEMENT_TYPE_INS:
- exc = _dom_html_mod_element_create(html, tag_name, namespace,
- prefix, (dom_html_mod_element **) result);
+ exc = _dom_html_mod_element_create(¶ms,
+ (dom_html_mod_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_A:
- exc = _dom_html_anchor_element_create(html, namespace, prefix,
+ exc = _dom_html_anchor_element_create(¶ms,
(dom_html_anchor_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BASEFONT:
- exc = _dom_html_base_font_element_create(html,
- namespace, prefix,
+ exc = _dom_html_base_font_element_create(¶ms,
(dom_html_base_font_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_IMG:
- exc = _dom_html_image_element_create(html, namespace, prefix,
+ exc = _dom_html_image_element_create(¶ms,
(dom_html_image_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_OBJECT:
- exc = _dom_html_object_element_create(html, namespace, prefix,
+ exc = _dom_html_object_element_create(¶ms,
(dom_html_object_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_PARAM:
- exc = _dom_html_param_element_create(html, namespace, prefix,
+ exc = _dom_html_param_element_create(¶ms,
(dom_html_param_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_APPLET:
- exc = _dom_html_applet_element_create(html, namespace, prefix,
+ exc = _dom_html_applet_element_create(¶ms,
(dom_html_applet_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_MAP:
- exc = _dom_html_map_element_create(html, namespace, prefix,
+ exc = _dom_html_map_element_create(¶ms,
(dom_html_map_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_AREA:
- exc = _dom_html_area_element_create(html, namespace, prefix,
+ exc = _dom_html_area_element_create(¶ms,
(dom_html_area_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_SCRIPT:
- exc = _dom_html_script_element_create(html, namespace, prefix,
+ exc = _dom_html_script_element_create(¶ms,
(dom_html_script_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_CAPTION:
- exc = _dom_html_table_caption_element_create(html,
- namespace, prefix,
+ exc = _dom_html_table_caption_element_create(¶ms,
(dom_html_table_caption_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TD:
case DOM_HTML_ELEMENT_TYPE_TH:
- exc = _dom_html_table_cell_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_table_cell_element_create(¶ms,
(dom_html_table_cell_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_COL:
case DOM_HTML_ELEMENT_TYPE_COLGROUP:
- exc = _dom_html_table_col_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_table_col_element_create(¶ms,
(dom_html_table_col_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_THEAD:
case DOM_HTML_ELEMENT_TYPE_TBODY:
case DOM_HTML_ELEMENT_TYPE_TFOOT:
- exc = _dom_html_table_section_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_table_section_element_create(¶ms,
(dom_html_table_section_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TABLE:
- exc = _dom_html_table_element_create(html, namespace, prefix,
+ exc = _dom_html_table_element_create(¶ms,
(dom_html_table_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TR:
- exc = _dom_html_table_row_element_create(html, namespace,
- prefix, (dom_html_table_row_element **) result);
+ exc = _dom_html_table_row_element_create(¶ms,
+ (dom_html_table_row_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_STYLE:
- exc = _dom_html_style_element_create(html,
+ exc = _dom_html_style_element_create(¶ms,
(dom_html_style_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FRAMESET:
- exc = _dom_html_frame_set_element_create(html, namespace,
- prefix, (dom_html_frame_set_element **) result);
+ exc = _dom_html_frame_set_element_create(¶ms,
+ (dom_html_frame_set_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FRAME:
- exc = _dom_html_frame_element_create(html, namespace, prefix,
+ exc = _dom_html_frame_element_create(¶ms,
(dom_html_frame_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_IFRAME:
- exc = _dom_html_iframe_element_create(html, namespace, prefix,
+ exc = _dom_html_iframe_element_create(¶ms,
(dom_html_iframe_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_ISINDEX:
- exc = _dom_html_isindex_element_create(html, namespace, prefix,
+ exc = _dom_html_isindex_element_create(¶ms,
(dom_html_isindex_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE__UNKNOWN:
- exc = _dom_html_element_create(html, tag_name, namespace,
- prefix, result);
+ exc = _dom_html_element_create(¶ms,
+ result);
break;
}
- dom_string_unref(tag_name);
+ dom_string_unref(params.name);
return exc;
}
diff --git a/src/html/html_element.c b/src/html/html_element.c
index d436898..513a5be 100644
--- a/src/html/html_element.c
+++ b/src/html/html_element.c
@@ -38,9 +38,9 @@ static struct dom_element_protected_vtable _dom_html_element_protect_vtable = {
DOM_ELEMENT_PROTECT_VTABLE
};
-dom_exception _dom_html_element_create(struct dom_html_document *doc,
- dom_string *name, dom_string *namespace,
- dom_string *prefix, struct dom_html_element **result)
+dom_exception _dom_html_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_element **result)
{
dom_exception error;
dom_html_element *el;
@@ -52,8 +52,7 @@ dom_exception _dom_html_element_create(struct dom_html_document *doc,
el->base.base.base.vtable = &_dom_html_element_vtable;
el->base.base.vtable = &_dom_html_element_protect_vtable;
- error = _dom_html_element_initialise(doc, el, name, namespace,
- prefix);
+ error = _dom_html_element_initialise(params, el);
if (error != DOM_NO_ERR) {
free(el);
return error;
@@ -64,13 +63,14 @@ dom_exception _dom_html_element_create(struct dom_html_document *doc,
return DOM_NO_ERR;
}
-dom_exception _dom_html_element_initialise(struct dom_html_document *doc,
- struct dom_html_element *el, dom_string *name,
- dom_string *namespace, dom_string *prefix)
+dom_exception _dom_html_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_element *el)
{
dom_exception err;
- err = _dom_element_initialise(&doc->base, &el->base, name, namespace, prefix);
+ err = _dom_element_initialise(¶ms->doc->base, &el->base,
+ params->name, params->namespace, params->prefix);
if (err != DOM_NO_ERR)
return err;
diff --git a/src/html/html_element.h b/src/html/html_element.h
index e32b09e..2d42abc 100644
--- a/src/html/html_element.h
+++ b/src/html/html_element.h
@@ -24,13 +24,20 @@ struct dom_html_element {
/**< The base class */
};
-dom_exception _dom_html_element_create(struct dom_html_document *doc,
- dom_string *name, dom_string *namespace,
- dom_string *prefix, dom_html_element **result);
+struct dom_html_element_create_params {
+ struct dom_html_document *doc;
+ dom_string *name;
+ dom_string *namespace;
+ dom_string *prefix;
+};
+
+dom_exception _dom_html_element_create(
+ struct dom_html_element_create_params *params,
+ dom_html_element **result);
-dom_exception _dom_html_element_initialise(struct dom_html_document *doc,
- struct dom_html_element *el, dom_string *name,
- dom_string *namespace, dom_string *prefix);
+dom_exception _dom_html_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_element *el);
void _dom_html_element_finalise(struct dom_html_element *ele);
diff --git a/src/html/html_fieldset_element.c b/src/html/html_fieldset_element.c
index 15ea812..c6224bf 100644
--- a/src/html/html_fieldset_element.c
+++ b/src/html/html_fieldset_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_field_set_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_field_set_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_field_set_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_field_set_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_field_set_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_field_set_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_field_set_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_field_set_element object
*
- * \param doc The document object
- * \param ele The dom_html_field_set_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_field_set_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_field_set_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_field_set_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_field_set_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FIELDSET],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_fieldset_element.h b/src/html/html_fieldset_element.h
index 8ae1d59..0560cf2 100644
--- a/src/html/html_fieldset_element.h
+++ b/src/html/html_fieldset_element.h
@@ -19,13 +19,13 @@ struct dom_html_field_set_element {
};
/* Create a dom_html_field_set_element object */
-dom_exception _dom_html_field_set_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_field_set_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_field_set_element **ele);
/* Initialise a dom_html_field_set_element object */
-dom_exception _dom_html_field_set_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_field_set_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_field_set_element *ele);
/* Finalise a dom_html_field_set_element object */
diff --git a/src/html/html_font_element.c b/src/html/html_font_element.c
index 0be7ee5..b77d7b6 100644
--- a/src/html/html_font_element.c
+++ b/src/html/html_font_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_font_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_font_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_font_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_font_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_font_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_font_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_font_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_font_element object
*
- * \param doc The document object
- * \param ele The dom_html_font_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_font_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_font_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_font_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_font_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FONT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_font_element.h b/src/html/html_font_element.h
index 42a2ec4..41f22ce 100644
--- a/src/html/html_font_element.h
+++ b/src/html/html_font_element.h
@@ -19,13 +19,13 @@ struct dom_html_font_element {
};
/* Create a dom_html_font_element object */
-dom_exception _dom_html_font_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_font_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_font_element **ele);
/* Initialise a dom_html_font_element object */
-dom_exception _dom_html_font_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_font_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_font_element *ele);
/* Finalise a dom_html_font_element object */
diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c
index ee62c02..42eb96f 100644
--- a/src/html/html_form_element.c
+++ b/src/html/html_form_element.c
@@ -34,12 +34,12 @@ static bool _dom_is_form_control(struct dom_node_internal *node, void *ctx);
/**
* Create a dom_html_form_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_form_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_form_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_form_element **ele)
{
struct dom_node_internal *node;
@@ -53,25 +53,23 @@ dom_exception _dom_html_form_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_form_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_form_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_form_element object
*
- * \param doc The document object
- * \param ele The dom_html_form_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_form_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_form_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_form_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_form_element *ele)
{
dom_exception err;
- err = _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FORM],
- namespace, prefix);
+ err = _dom_html_element_initialise(params, &ele->base);
return err;
}
diff --git a/src/html/html_form_element.h b/src/html/html_form_element.h
index 67a1080..bab3ef8 100644
--- a/src/html/html_form_element.h
+++ b/src/html/html_form_element.h
@@ -20,13 +20,13 @@ struct dom_html_form_element {
};
/* Create a dom_html_form_element object */
-dom_exception _dom_html_form_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_form_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_form_element **ele);
/* Initialise a dom_html_form_element object */
-dom_exception _dom_html_form_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_form_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_form_element *ele);
/* Finalise a dom_html_form_element object */
diff --git a/src/html/html_frame_element.c b/src/html/html_frame_element.c
index b8b0a74..4835667 100644
--- a/src/html/html_frame_element.c
+++ b/src/html/html_frame_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_frame_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_frame_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_frame_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_frame_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_frame_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_frame_element object
*
- * \param doc The document object
- * \param ele The dom_html_frame_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_frame_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_frame_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FRAME],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_frame_element.h b/src/html/html_frame_element.h
index d83c9fc..0bef1dc 100644
--- a/src/html/html_frame_element.h
+++ b/src/html/html_frame_element.h
@@ -19,13 +19,13 @@ struct dom_html_frame_element {
};
/* Create a dom_html_frame_element object */
-dom_exception _dom_html_frame_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_element **ele);
/* Initialise a dom_html_frame_element object */
-dom_exception _dom_html_frame_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_element *ele);
/* Finalise a dom_html_frame_element object */
diff --git a/src/html/html_frameset_element.c b/src/html/html_frameset_element.c
index 9d9680b..4af3c19 100644
--- a/src/html/html_frameset_element.c
+++ b/src/html/html_frameset_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_frame_set_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_frame_set_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_set_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_set_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_frame_set_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_frame_set_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_frame_set_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_frame_set_element object
*
- * \param doc The document object
- * \param ele The dom_html_frame_set_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_frame_set_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_frame_set_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_set_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_set_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FRAMESET],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_frameset_element.h b/src/html/html_frameset_element.h
index dd4037a..7d97018 100644
--- a/src/html/html_frameset_element.h
+++ b/src/html/html_frameset_element.h
@@ -19,13 +19,13 @@ struct dom_html_frame_set_element {
};
/* Create a dom_html_frame_set_element object */
-dom_exception _dom_html_frame_set_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_set_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_set_element **ele);
/* Initialise a dom_html_frame_set_element object */
-dom_exception _dom_html_frame_set_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_set_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_set_element *ele);
/* Finalise a dom_html_frame_set_element object */
diff --git a/src/html/html_head_element.c b/src/html/html_head_element.c
index 7082cef..85665f3 100644
--- a/src/html/html_head_element.c
+++ b/src/html/html_head_element.c
@@ -23,12 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_head_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_head_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_head_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_head_element **ele)
{
struct dom_node_internal *node;
@@ -42,23 +42,21 @@ dom_exception _dom_html_head_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_head_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_head_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_head_element object
*
- * \param doc The document object
- * \param ele The dom_html_head_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_head_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_head_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_head_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_head_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_HEAD],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_head_element.h b/src/html/html_head_element.h
index deb2d6a..08659fd 100644
--- a/src/html/html_head_element.h
+++ b/src/html/html_head_element.h
@@ -18,13 +18,13 @@ struct dom_html_head_element {
};
/* Create a dom_html_head_element object */
-dom_exception _dom_html_head_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_head_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_head_element **ele);
/* Initialise a dom_html_head_element object */
-dom_exception _dom_html_head_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_head_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_head_element *ele);
/* Finalise a dom_html_head_element object */
diff --git a/src/html/html_heading_element.c b/src/html/html_heading_element.c
index ce298fb..b81c55d 100644
--- a/src/html/html_heading_element.c
+++ b/src/html/html_heading_element.c
@@ -27,13 +27,13 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_heading_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_heading_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_heading_element **ele)
+dom_exception _dom_html_heading_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_heading_element **ele)
{
struct dom_node_internal *node;
@@ -46,24 +46,21 @@ dom_exception _dom_html_heading_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_heading_element_initialise(doc,
- tag_name, namespace,
- prefix, *ele);
+ return _dom_html_heading_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_heading_element object
*
- * \param doc The document object
- * \param ele The dom_html_heading_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_heading_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_heading_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_heading_element *ele)
+dom_exception _dom_html_heading_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_heading_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_heading_element.h b/src/html/html_heading_element.h
index fdd1c25..543f9a9 100644
--- a/src/html/html_heading_element.h
+++ b/src/html/html_heading_element.h
@@ -19,14 +19,14 @@ struct dom_html_heading_element {
};
/* Create a dom_html_heading_element object */
-dom_exception _dom_html_heading_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_heading_element **ele);
+dom_exception _dom_html_heading_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_heading_element **ele);
/* Initialise a dom_html_heading_element object */
-dom_exception _dom_html_heading_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_heading_element *ele);
+dom_exception _dom_html_heading_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_heading_element *ele);
/* Finalise a dom_html_heading_element object */
void _dom_html_heading_element_finalise(struct dom_html_heading_element *ele);
diff --git a/src/html/html_hr_element.c b/src/html/html_hr_element.c
index 7ecab7a..6d96c84 100644
--- a/src/html/html_hr_element.c
+++ b/src/html/html_hr_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_hr_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_hr_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_hr_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_hr_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_hr_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_hr_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_hr_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_hr_element object
*
- * \param doc The document object
- * \param ele The dom_html_hr_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_hr_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_hr_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_hr_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_hr_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_HR],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_hr_element.h b/src/html/html_hr_element.h
index c3cf717..63b5bbc 100644
--- a/src/html/html_hr_element.h
+++ b/src/html/html_hr_element.h
@@ -19,13 +19,13 @@ struct dom_html_hr_element {
};
/* Create a dom_html_hr_element object */
-dom_exception _dom_html_hr_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_hr_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_hr_element **ele);
/* Initialise a dom_html_hr_element object */
-dom_exception _dom_html_hr_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_hr_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_hr_element *ele);
/* Finalise a dom_html_hr_element object */
diff --git a/src/html/html_html_element.c b/src/html/html_html_element.c
index 0a91efe..dccc8a5 100644
--- a/src/html/html_html_element.c
+++ b/src/html/html_html_element.c
@@ -23,12 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_html_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_html_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_html_element **ele)
{
struct dom_node_internal *node;
@@ -42,23 +42,21 @@ dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_html_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_html_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_html_element object
*
- * \param doc The document object
- * \param ele The dom_html_html_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_html_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_html_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_html_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_html_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_HTML],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_html_element.h b/src/html/html_html_element.h
index 61eb626..78da8f1 100644
--- a/src/html/html_html_element.h
+++ b/src/html/html_html_element.h
@@ -18,13 +18,13 @@ struct dom_html_html_element {
};
/* Create a dom_html_html_element object */
-dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_html_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_html_element **ele);
/* Initialise a dom_html_html_element object */
-dom_exception _dom_html_html_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_html_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_html_element *ele);
/* Finalise a dom_html_html_element object */
diff --git a/src/html/html_iframe_element.c b/src/html/html_iframe_element.c
index 80b39a7..5ff5d26 100644
--- a/src/html/html_iframe_element.c
+++ b/src/html/html_iframe_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_iframe_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_iframe_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_iframe_element **ele)
{
struct dom_node_internal *node;
@@ -46,24 +46,21 @@ dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_iframe_element_initialise(doc,
- namespace, prefix, *ele);
+ return _dom_html_iframe_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_iframe_element object
*
- * \param doc The document object
- * \param ele The dom_html_iframe_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_iframe_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_iframe_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_iframe_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_iframe_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_IFRAME],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_iframe_element.h b/src/html/html_iframe_element.h
index 2375adf..07ed091 100644
--- a/src/html/html_iframe_element.h
+++ b/src/html/html_iframe_element.h
@@ -19,13 +19,13 @@ struct dom_html_iframe_element {
};
/* Create a dom_html_iframe_element object */
-dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_iframe_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_iframe_element **ele);
/* Initialise a dom_html_iframe_element object */
-dom_exception _dom_html_iframe_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_iframe_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_iframe_element *ele);
/* Finalise a dom_html_iframe_element object */
diff --git a/src/html/html_image_element.c b/src/html/html_image_element.c
index 4c5a5f3..db8b8b5 100644
--- a/src/html/html_image_element.c
+++ b/src/html/html_image_element.c
@@ -28,12 +28,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_image_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_image_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_image_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_image_element **ele)
{
struct dom_node_internal *node;
@@ -47,23 +47,21 @@ dom_exception _dom_html_image_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_image_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_image_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_image_element object
*
- * \param doc The document object
- * \param ele The dom_html_image_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_image_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_image_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_image_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_image_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_IMG],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_image_element.h b/src/html/html_image_element.h
index ac73a1b..d17c513 100644
--- a/src/html/html_image_element.h
+++ b/src/html/html_image_element.h
@@ -19,13 +19,13 @@ struct dom_html_image_element {
};
/* Create a dom_html_image_element object */
-dom_exception _dom_html_image_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_image_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_image_element **ele);
/* Initialise a dom_html_image_element object */
-dom_exception _dom_html_image_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_image_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_image_element *ele);
/* Finalise a dom_html_image_element object */
diff --git a/src/html/html_input_element.c b/src/html/html_input_element.c
index a90ec40..2dc0dc3 100644
--- a/src/html/html_input_element.c
+++ b/src/html/html_input_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_input_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_input_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_input_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_input_element **ele)
{
struct dom_node_internal *node;
@@ -46,18 +46,18 @@ dom_exception _dom_html_input_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_input_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_input_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_input_element object
*
- * \param doc The document object
- * \param ele The dom_html_input_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_input_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_input_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_input_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_input_element *ele)
{
ele->form = NULL;
@@ -68,9 +68,7 @@ dom_exception _dom_html_input_element_initialise(struct dom_html_document *doc,
ele->checked = false;
ele->checked_set = false;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_INPUT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_input_element.h b/src/html/html_input_element.h
index b818b2e..b445888 100644
--- a/src/html/html_input_element.h
+++ b/src/html/html_input_element.h
@@ -26,13 +26,13 @@ struct dom_html_input_element {
};
/* Create a dom_html_input_element object */
-dom_exception _dom_html_input_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_input_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_input_element **ele);
/* Initialise a dom_html_input_element object */
-dom_exception _dom_html_input_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_input_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_input_element *ele);
/* Finalise a dom_html_input_element object */
diff --git a/src/html/html_isindex_element.c b/src/html/html_isindex_element.c
index 51611b3..82c7296 100644
--- a/src/html/html_isindex_element.c
+++ b/src/html/html_isindex_element.c
@@ -26,12 +26,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_isindex_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_isindex_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_isindex_element **ele)
{
struct dom_node_internal *node;
@@ -44,23 +44,21 @@ dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_isindex_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_isindex_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_isindex_element object
*
- * \param doc The document object
- * \param ele The dom_html_isindex_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_isindex_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_isindex_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_isindex_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_ISINDEX],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_isindex_element.h b/src/html/html_isindex_element.h
index a39170b..697e2eb 100644
--- a/src/html/html_isindex_element.h
+++ b/src/html/html_isindex_element.h
@@ -18,13 +18,13 @@ struct dom_html_isindex_element {
};
/* Create a dom_html_isindex_element object */
-dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_isindex_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_isindex_element **ele);
/* Initialise a dom_html_isindex_element object */
-dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_isindex_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_isindex_element *ele);
/* Finalise a dom_html_isindex_element object */
diff --git a/src/html/html_label_element.c b/src/html/html_label_element.c
index 2303892..e5730a2 100644
--- a/src/html/html_label_element.c
+++ b/src/html/html_label_element.c
@@ -25,12 +25,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_label_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_label_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_label_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_label_element **ele)
{
struct dom_node_internal *node;
@@ -44,23 +44,21 @@ dom_exception _dom_html_label_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_label_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_label_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_label_element object
*
- * \param doc The document object
- * \param ele The dom_html_label_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_label_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_label_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_label_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_label_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_LABEL],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_label_element.h b/src/html/html_label_element.h
index 36c817e..4eb042c 100644
--- a/src/html/html_label_element.h
+++ b/src/html/html_label_element.h
@@ -19,13 +19,13 @@ struct dom_html_label_element {
};
/* Create a dom_html_label_element object */
-dom_exception _dom_html_label_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_label_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_label_element **ele);
/* Initialise a dom_html_label_element object */
-dom_exception _dom_html_label_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_label_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_label_element *ele);
/* Finalise a dom_html_label_element object */
diff --git a/src/html/html_legend_element.c b/src/html/html_legend_element.c
index 1f297e2..842916f 100644
--- a/src/html/html_legend_element.c
+++ b/src/html/html_legend_element.c
@@ -29,12 +29,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_legend_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_legend_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_legend_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_legend_element **ele)
{
struct dom_node_internal *node;
@@ -48,23 +48,21 @@ dom_exception _dom_html_legend_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_legend_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_legend_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_legend_element object
*
- * \param doc The document object
- * \param ele The dom_html_legend_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_legend_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_legend_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_legend_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_legend_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_LEGEND],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_legend_element.h b/src/html/html_legend_element.h
index a656ae4..50b9b51 100644
--- a/src/html/html_legend_element.h
+++ b/src/html/html_legend_element.h
@@ -19,13 +19,13 @@ struct dom_html_legend_element {
};
/* Create a dom_html_legend_element object */
-dom_exception _dom_html_legend_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_legend_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_legend_element **ele);
/* Initialise a dom_html_legend_element object */
-dom_exception _dom_html_legend_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_legend_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_legend_element *ele);
/* Finalise a dom_html_legend_element object */
diff --git a/src/html/html_li_element.c b/src/html/html_li_element.c
index f2c560e..3af8fea 100644
--- a/src/html/html_li_element.c
+++ b/src/html/html_li_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_li_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_li_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *lifix,
+dom_exception _dom_html_li_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_li_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_li_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_li_element_initialise(doc, namespace, lifix, *ele);
+ return _dom_html_li_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_li_element object
*
- * \param doc The document object
- * \param ele The dom_html_li_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_li_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_li_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *lifix,
+dom_exception _dom_html_li_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_li_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_LI],
- namespace, lifix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_li_element.h b/src/html/html_li_element.h
index c50a2db..74dd5af 100644
--- a/src/html/html_li_element.h
+++ b/src/html/html_li_element.h
@@ -19,13 +19,13 @@ struct dom_html_li_element {
};
/* Create a dom_html_li_element object */
-dom_exception _dom_html_li_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *lifix,
+dom_exception _dom_html_li_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_li_element **ele);
/* Initialise a dom_html_li_element object */
-dom_exception _dom_html_li_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *lifix,
+dom_exception _dom_html_li_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_li_element *ele);
/* Finalise a dom_html_li_element object */
diff --git a/src/html/html_link_element.c b/src/html/html_link_element.c
index 8022a7b..10a2e7a 100644
--- a/src/html/html_link_element.c
+++ b/src/html/html_link_element.c
@@ -25,12 +25,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_link_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_link_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_link_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_link_element **ele)
{
struct dom_node_internal *node;
@@ -44,23 +44,21 @@ dom_exception _dom_html_link_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_link_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_link_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_link_element object
*
- * \param doc The document object
- * \param ele The dom_html_link_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_link_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_link_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_link_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_link_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_LINK],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_link_element.h b/src/html/html_link_element.h
index 960dcdc..d75b0ff 100644
--- a/src/html/html_link_element.h
+++ b/src/html/html_link_element.h
@@ -18,13 +18,13 @@ struct dom_html_link_element {
};
/* Create a dom_html_link_element object */
-dom_exception _dom_html_link_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_link_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_link_element **ele);
/* Initialise a dom_html_link_element object */
-dom_exception _dom_html_link_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_link_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_link_element *ele);
/* Finalise a dom_html_link_element object */
diff --git a/src/html/html_map_element.c b/src/html/html_map_element.c
index d20c3ce..980f002 100644
--- a/src/html/html_map_element.c
+++ b/src/html/html_map_element.c
@@ -29,12 +29,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_map_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_map_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_map_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_map_element **ele)
{
struct dom_node_internal *node;
@@ -48,23 +48,21 @@ dom_exception _dom_html_map_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_map_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_map_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_map_element object
*
- * \param doc The document object
- * \param ele The dom_html_map_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_map_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_map_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_map_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_map_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_MAP],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_map_element.h b/src/html/html_map_element.h
index 0230808..ede8a71 100644
--- a/src/html/html_map_element.h
+++ b/src/html/html_map_element.h
@@ -19,13 +19,13 @@ struct dom_html_map_element {
};
/* Create a dom_html_map_element object */
-dom_exception _dom_html_map_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_map_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_map_element **ele);
/* Initialise a dom_html_map_element object */
-dom_exception _dom_html_map_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_map_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_map_element *ele);
/* Finalise a dom_html_map_element object */
diff --git a/src/html/html_menu_element.c b/src/html/html_menu_element.c
index aadd823..1226c70 100644
--- a/src/html/html_menu_element.c
+++ b/src/html/html_menu_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_menu_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_menu_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_menu_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_menu_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_menu_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_menu_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_menu_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_menu_element object
*
- * \param doc The document object
- * \param ele The dom_html_menu_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_menu_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_menu_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_menu_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_menu_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_MENU],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_menu_element.h b/src/html/html_menu_element.h
index cb84e3d..f206315 100644
--- a/src/html/html_menu_element.h
+++ b/src/html/html_menu_element.h
@@ -19,13 +19,13 @@ struct dom_html_menu_element {
};
/* Create a dom_html_menu_element object */
-dom_exception _dom_html_menu_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_menu_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_menu_element **ele);
/* Initialise a dom_html_menu_element object */
-dom_exception _dom_html_menu_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_menu_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_menu_element *ele);
/* Finalise a dom_html_menu_element object */
diff --git a/src/html/html_meta_element.c b/src/html/html_meta_element.c
index 05e6a4f..56eaa34 100644
--- a/src/html/html_meta_element.c
+++ b/src/html/html_meta_element.c
@@ -23,12 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_meta_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_meta_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_meta_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_meta_element **ele)
{
struct dom_node_internal *node;
@@ -42,23 +42,21 @@ dom_exception _dom_html_meta_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_meta_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_meta_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_meta_element object
*
- * \param doc The document object
- * \param ele The dom_html_meta_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_meta_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_meta_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_meta_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_meta_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_META],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_meta_element.h b/src/html/html_meta_element.h
index d4a1076..d92e5fd 100644
--- a/src/html/html_meta_element.h
+++ b/src/html/html_meta_element.h
@@ -18,13 +18,13 @@ struct dom_html_meta_element {
};
/* Create a dom_html_meta_element object */
-dom_exception _dom_html_meta_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_meta_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_meta_element **ele);
/* Initialise a dom_html_meta_element object */
-dom_exception _dom_html_meta_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_meta_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_meta_element *ele);
/* Finalise a dom_html_meta_element object */
diff --git a/src/html/html_mod_element.c b/src/html/html_mod_element.c
index 20f80d1..d952a1b 100644
--- a/src/html/html_mod_element.c
+++ b/src/html/html_mod_element.c
@@ -27,13 +27,13 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_mod_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_mod_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_mod_element **ele)
+dom_exception _dom_html_mod_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_mod_element **ele)
{
struct dom_node_internal *node;
@@ -46,22 +46,21 @@ dom_exception _dom_html_mod_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_mod_element_initialise(doc, tag_name, namespace, prefix, *ele);
+ return _dom_html_mod_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_mod_element object
*
- * \param doc The document object
- * \param ele The dom_html_mod_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_mod_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_mod_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_mod_element *ele)
+dom_exception _dom_html_mod_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_mod_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_mod_element.h b/src/html/html_mod_element.h
index 9df07d5..0e4c49e 100644
--- a/src/html/html_mod_element.h
+++ b/src/html/html_mod_element.h
@@ -19,13 +19,13 @@ struct dom_html_mod_element {
};
/* Create a dom_html_mod_element object */
-dom_exception _dom_html_mod_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_mod_element **ele);
+dom_exception _dom_html_mod_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_mod_element **ele);
/* Initialise a dom_html_mod_element object */
-dom_exception _dom_html_mod_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_mod_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_mod_element *ele);
/* Finalise a dom_html_mod_element object */
diff --git a/src/html/html_object_element.c b/src/html/html_object_element.c
index 27d3f5a..914510d 100644
--- a/src/html/html_object_element.c
+++ b/src/html/html_object_element.c
@@ -30,12 +30,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_object_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_object_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_object_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_object_element **ele)
{
struct dom_node_internal *node;
@@ -49,23 +49,21 @@ dom_exception _dom_html_object_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_object_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_object_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_object_element object
*
- * \param doc The document object
- * \param ele The dom_html_object_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_object_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_object_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_object_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_object_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_OBJECT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_object_element.h b/src/html/html_object_element.h
index 5170f2c..b569c9d 100644
--- a/src/html/html_object_element.h
+++ b/src/html/html_object_element.h
@@ -19,13 +19,13 @@ struct dom_html_object_element {
};
/* Create a dom_html_object_element object */
-dom_exception _dom_html_object_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_object_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_object_element **ele);
/* Initialise a dom_html_object_element object */
-dom_exception _dom_html_object_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_object_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_object_element *ele);
/* Finalise a dom_html_object_element object */
diff --git a/src/html/html_olist_element.c b/src/html/html_olist_element.c
index 6595ea5..411cc98 100644
--- a/src/html/html_olist_element.c
+++ b/src/html/html_olist_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_olist_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_olist_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *o_listfix,
+dom_exception _dom_html_olist_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_olist_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_olist_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_olist_element_initialise(doc, namespace, o_listfix, *ele);
+ return _dom_html_olist_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_olist_element object
*
- * \param doc The document object
- * \param ele The dom_html_olist_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_olist_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_olist_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *o_listfix,
+dom_exception _dom_html_olist_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_olist_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_OL],
- namespace, o_listfix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_olist_element.h b/src/html/html_olist_element.h
index 70601e8..b06b277 100644
--- a/src/html/html_olist_element.h
+++ b/src/html/html_olist_element.h
@@ -19,13 +19,13 @@ struct dom_html_olist_element {
};
/* Create a dom_html_olist_element object */
-dom_exception _dom_html_olist_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *o_listfix,
+dom_exception _dom_html_olist_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_olist_element **ele);
/* Initialise a dom_html_olist_element object */
-dom_exception _dom_html_olist_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *o_listfix,
+dom_exception _dom_html_olist_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_olist_element *ele);
/* Finalise a dom_html_olist_element object */
diff --git a/src/html/html_opt_group_element.c b/src/html/html_opt_group_element.c
index cdee6e7..0181111 100644
--- a/src/html/html_opt_group_element.c
+++ b/src/html/html_opt_group_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_opt_group_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_opt_group_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_opt_group_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_opt_group_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_opt_group_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_opt_group_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_opt_group_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_opt_group_element object
*
- * \param doc The document object
- * \param ele The dom_html_opt_group_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_opt_group_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_opt_group_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_opt_group_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_opt_group_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_OPTGROUP],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_opt_group_element.h b/src/html/html_opt_group_element.h
index c7f8c13..94dcf9e 100644
--- a/src/html/html_opt_group_element.h
+++ b/src/html/html_opt_group_element.h
@@ -18,13 +18,13 @@ struct dom_html_opt_group_element {
};
/* Create a dom_html_opt_group_element object */
-dom_exception _dom_html_opt_group_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_opt_group_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_opt_group_element **ele);
/* Initialise a dom_html_opt_group_element object */
-dom_exception _dom_html_opt_group_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_opt_group_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_opt_group_element *ele);
/* Finalise a dom_html_opt_group_element object */
diff --git a/src/html/html_option_element.c b/src/html/html_option_element.c
index e352562..a4dec3c 100644
--- a/src/html/html_option_element.c
+++ b/src/html/html_option_element.c
@@ -29,12 +29,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_option_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_option_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_option_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_option_element **ele)
{
struct dom_node_internal *node;
@@ -48,26 +48,24 @@ dom_exception _dom_html_option_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_option_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_option_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_option_element object
*
- * \param doc The document object
- * \param ele The dom_html_option_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_option_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_option_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_option_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_option_element *ele)
{
ele->default_selected = false;
ele->default_selected_set = false;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_OPTION],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_option_element.h b/src/html/html_option_element.h
index bc8ff6f..b1f8b64 100644
--- a/src/html/html_option_element.h
+++ b/src/html/html_option_element.h
@@ -20,13 +20,13 @@ struct dom_html_option_element {
};
/* Create a dom_html_option_element object */
-dom_exception _dom_html_option_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_option_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_option_element **ele);
/* Initialise a dom_html_option_element object */
-dom_exception _dom_html_option_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_option_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_option_element *ele);
/* Finalise a dom_html_option_element object */
diff --git a/src/html/html_paragraph_element.c b/src/html/html_paragraph_element.c
index 63c50b2..bb8c1b3 100644
--- a/src/html/html_paragraph_element.c
+++ b/src/html/html_paragraph_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_paragraph_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_paragraph_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_paragraph_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_paragraph_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_paragraph_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_paragraph_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_paragraph_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_paragraph_element object
*
- * \param doc The document object
- * \param ele The dom_html_paragraph_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_paragraph_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_paragraph_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_paragraph_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_paragraph_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_P],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_paragraph_element.h b/src/html/html_paragraph_element.h
index b6627dd..7495a76 100644
--- a/src/html/html_paragraph_element.h
+++ b/src/html/html_paragraph_element.h
@@ -19,13 +19,13 @@ struct dom_html_paragraph_element {
};
/* Create a dom_html_paragraph_element object */
-dom_exception _dom_html_paragraph_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_paragraph_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_paragraph_element **ele);
/* Initialise a dom_html_paragraph_element object */
-dom_exception _dom_html_paragraph_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_paragraph_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_paragraph_element *ele);
/* Finalise a dom_html_paragraph_element object */
diff --git a/src/html/html_param_element.c b/src/html/html_param_element.c
index a858717..4c7ee89 100644
--- a/src/html/html_param_element.c
+++ b/src/html/html_param_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_param_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_param_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_param_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_param_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_param_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_param_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_param_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_param_element object
*
- * \param doc The document object
- * \param ele The dom_html_param_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_param_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_param_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_param_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_param_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_PARAM],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_param_element.h b/src/html/html_param_element.h
index 2cd8150..f56a6a5 100644
--- a/src/html/html_param_element.h
+++ b/src/html/html_param_element.h
@@ -19,13 +19,13 @@ struct dom_html_param_element {
};
/* Create a dom_html_param_element object */
-dom_exception _dom_html_param_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_param_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_param_element **ele);
/* Initialise a dom_html_param_element object */
-dom_exception _dom_html_param_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_param_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_param_element *ele);
/* Finalise a dom_html_param_element object */
diff --git a/src/html/html_pre_element.c b/src/html/html_pre_element.c
index c5f7ced..502e4d8 100644
--- a/src/html/html_pre_element.c
+++ b/src/html/html_pre_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_pre_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_pre_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_pre_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_pre_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_pre_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_pre_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_pre_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_pre_element object
*
- * \param doc The document object
- * \param ele The dom_html_pre_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_pre_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_pre_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_pre_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_pre_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_PRE],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_pre_element.h b/src/html/html_pre_element.h
index 75d8df8..d9dc6d8 100644
--- a/src/html/html_pre_element.h
+++ b/src/html/html_pre_element.h
@@ -19,13 +19,13 @@ struct dom_html_pre_element {
};
/* Create a dom_html_pre_element object */
-dom_exception _dom_html_pre_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_pre_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_pre_element **ele);
/* Initialise a dom_html_pre_element object */
-dom_exception _dom_html_pre_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_pre_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_pre_element *ele);
/* Finalise a dom_html_pre_element object */
diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c
index 17961c0..f2263c3 100644
--- a/src/html/html_quote_element.c
+++ b/src/html/html_quote_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_quote_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_quote_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_quote_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_quote_element_initialise(doc, tag_name,
- namespace, prefix, *ele);
+ return _dom_html_quote_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_quote_element object
*
- * \param doc The document object
- * \param ele The dom_html_quote_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_quote_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_quote_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_quote_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_quote_element.h b/src/html/html_quote_element.h
index ee79ee1..f62f2ec 100644
--- a/src/html/html_quote_element.h
+++ b/src/html/html_quote_element.h
@@ -19,13 +19,13 @@ struct dom_html_quote_element {
};
/* Create a dom_html_quote_element object */
-dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_quote_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_quote_element **ele);
/* Initialise a dom_html_quote_element object */
-dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_quote_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_quote_element *ele);
/* Finalise a dom_html_quote_element object */
diff --git a/src/html/html_script_element.c b/src/html/html_script_element.c
index 3bdf8cd..534c390 100644
--- a/src/html/html_script_element.c
+++ b/src/html/html_script_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_script_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_script_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_script_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_script_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_script_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_script_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_script_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_script_element object
*
- * \param doc The document object
- * \param ele The dom_html_script_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_script_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_script_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_script_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_script_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_SCRIPT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_script_element.h b/src/html/html_script_element.h
index dcb7b72..c15e445 100644
--- a/src/html/html_script_element.h
+++ b/src/html/html_script_element.h
@@ -19,13 +19,13 @@ struct dom_html_script_element {
};
/* Create a dom_html_script_element object */
-dom_exception _dom_html_script_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_script_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_script_element **ele);
/* Initialise a dom_html_script_element object */
-dom_exception _dom_html_script_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_script_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_script_element *ele);
/* Finalise a dom_html_script_element object */
diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c
index 438a365..fe06e5d 100644
--- a/src/html/html_select_element.c
+++ b/src/html/html_select_element.c
@@ -29,12 +29,12 @@ static bool is_option(struct dom_node_internal *node, void *ctx);
/**
* Create a dom_html_select_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_select_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_select_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_select_element **ele)
{
struct dom_node_internal *node;
@@ -48,25 +48,23 @@ dom_exception _dom_html_select_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_select_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_select_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_select_element object
*
- * \param doc The document object
- * \param ele The dom_html_select_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_select_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_select_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_select_element *ele)
{
ele->form = NULL;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_SELECT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_select_element.h b/src/html/html_select_element.h
index b0eaa91..d7dc0a4 100644
--- a/src/html/html_select_element.h
+++ b/src/html/html_select_element.h
@@ -23,13 +23,13 @@ struct dom_html_select_element {
};
/* Create a dom_html_select_element object */
-dom_exception _dom_html_select_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_select_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_select_element **ele);
/* Initialise a dom_html_select_element object */
-dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_select_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_select_element *ele);
/* Finalise a dom_html_select_element object */
diff --git a/src/html/html_style_element.c b/src/html/html_style_element.c
index c97955e..7434096 100644
--- a/src/html/html_style_element.c
+++ b/src/html/html_style_element.c
@@ -23,11 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_style_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_style_element_create(struct dom_html_document *doc,
+dom_exception _dom_html_style_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_style_element **ele)
{
struct dom_node_internal *node;
@@ -41,31 +42,21 @@ dom_exception _dom_html_style_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_style_element_initialise(doc, *ele);
+ return _dom_html_style_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_style_element object
*
- * \param doc The document object
- * \param ele The dom_html_style_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_style_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc,
+dom_exception _dom_html_style_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_style_element *ele)
{
- dom_string *name = NULL;
- dom_exception err;
-
- err = dom_string_create((const uint8_t *) "STYLE", SLEN("STYLE"),
- &name);
- if (err != DOM_NO_ERR)
- return err;
-
- err = _dom_html_element_initialise(doc, &ele->base, name, NULL, NULL);
- dom_string_unref(name);
-
- return err;
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_style_element.h b/src/html/html_style_element.h
index e7a47e5..e21b9cf 100644
--- a/src/html/html_style_element.h
+++ b/src/html/html_style_element.h
@@ -18,11 +18,13 @@ struct dom_html_style_element {
};
/* Create a dom_html_style_element object */
-dom_exception _dom_html_style_element_create(struct dom_html_document *doc,
+dom_exception _dom_html_style_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_style_element **ele);
/* Initialise a dom_html_style_element object */
-dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc,
+dom_exception _dom_html_style_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_style_element *ele);
/* Finalise a dom_html_style_element object */
diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c
index cdf1714..2139272 100644
--- a/src/html/html_table_element.c
+++ b/src/html/html_table_element.c
@@ -31,12 +31,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_element **ele)
{
struct dom_node_internal *node;
@@ -50,23 +50,21 @@ dom_exception _dom_html_table_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_table_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_element object
*
- * \param doc The document object
- * \param ele The dom_html_table_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TABLE],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
@@ -432,13 +430,18 @@ dom_exception dom_html_table_element_create_caption(
return exp;
}
if((*caption) == NULL) {
- dom_html_document *doc = (dom_html_document *)
- ((dom_node_internal *) element)->owner;
dom_node *new_caption;
+ dom_html_document *doc = (dom_html_document *)
+ ((dom_node_internal *) element)->owner;
- exp = _dom_html_table_caption_element_create(doc,
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_caption_element_create(¶ms,
(dom_html_table_caption_element **)caption);
if(exp != DOM_NO_ERR) {
dom_node_unref(*caption);
@@ -499,14 +502,18 @@ dom_exception dom_html_table_element_create_t_foot(
return exp;
if ((*t_foot) == NULL) {
- dom_html_document *doc = (dom_html_document *)
- ((dom_node_internal *) element)->owner;
dom_node *new_t_foot;
+ dom_html_document *doc = (dom_html_document *)
+ ((dom_node_internal *) element)->owner;
- exp = _dom_html_table_section_element_create(doc,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_section_element_create(¶ms,
(dom_html_table_section_element **)t_foot);
if (exp != DOM_NO_ERR) {
dom_node_unref(*t_foot);
@@ -572,14 +579,18 @@ dom_exception dom_html_table_element_create_t_head(
}
if((*t_head) == NULL) {
dom_exception exp;
- dom_html_document *doc = (dom_html_document *)
- ((dom_node_internal *) element)->owner;
dom_node *new_t_head;
+ dom_html_document *doc = (dom_html_document *)
+ ((dom_node_internal *) element)->owner;
- exp = _dom_html_table_section_element_create(doc,
- doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD],
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_section_element_create(¶ms,
(dom_html_table_section_element **)t_head);
if(exp != DOM_NO_ERR) {
dom_node_unref(*t_head);
@@ -650,15 +661,18 @@ dom_exception dom_html_table_element_create_t_body(
return exp;
}
if(len == 0) {
- dom_html_document *doc = (dom_html_document *)
- ((dom_node_internal *) element)->owner;
dom_node *new_t_body;
+ dom_html_document *doc = (dom_html_document *)
+ ((dom_node_internal *) element)->owner;
- exp = _dom_html_table_section_element_create(doc,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
- t_body);
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_section_element_create(¶ms, t_body);
if(exp != DOM_NO_ERR) {
dom_node_unref(*t_body);
dom_html_collection_unref(t_bodies);
@@ -693,9 +707,16 @@ dom_exception dom_html_table_element_insert_row(
dom_exception exp;
dom_html_collection* rows;
uint32_t len;
- dom_html_document *doc = (dom_html_document *)
+ dom_html_document *doc = (dom_html_document *)
((dom_node_internal *) element)->owner;
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
exp = dom_html_table_element_get_rows(element,
&rows);
if(exp != DOM_NO_ERR) {
@@ -708,9 +729,7 @@ dom_exception dom_html_table_element_insert_row(
dom_html_collection_unref(rows);
return exp;
}
- exp = _dom_html_table_row_element_create(doc,
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+ exp = _dom_html_table_row_element_create(¶ms,
(dom_html_table_row_element **)row);
if(exp != DOM_NO_ERR) {
dom_node_unref(*row);
diff --git a/src/html/html_table_element.h b/src/html/html_table_element.h
index 955ab88..4e4747c 100644
--- a/src/html/html_table_element.h
+++ b/src/html/html_table_element.h
@@ -18,13 +18,13 @@ struct dom_html_table_element {
};
/* Create a dom_html_table_element object */
-dom_exception _dom_html_table_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_element **ele);
/* Initialise a dom_html_table_element object */
-dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_element *ele);
/* Finalise a dom_html_table_element object */
diff --git a/src/html/html_tablecaption_element.c b/src/html/html_tablecaption_element.c
index ddb2d5c..5a4b1b1 100644
--- a/src/html/html_tablecaption_element.c
+++ b/src/html/html_tablecaption_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_caption_element object
*
- * \table_caption doc The document object
- * \table_caption ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_caption_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_caption_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_caption_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_table_caption_element_create(struct dom_html_document *d
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_caption_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_table_caption_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_caption_element object
*
- * \table_caption doc The document object
- * \table_caption ele The dom_html_table_caption_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_caption_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_caption_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_caption_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_caption_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_tablecaption_element.h b/src/html/html_tablecaption_element.h
index b1cfd3b..971c55c 100644
--- a/src/html/html_tablecaption_element.h
+++ b/src/html/html_tablecaption_element.h
@@ -19,13 +19,13 @@ struct dom_html_table_caption_element {
};
/* Create a dom_html_table_caption_element object */
-dom_exception _dom_html_table_caption_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_caption_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_caption_element **ele);
/* Initialise a dom_html_table_caption_element object */
-dom_exception _dom_html_table_caption_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_caption_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_caption_element *ele);
/* Finalise a dom_html_table_caption_element object */
diff --git a/src/html/html_tablecell_element.c b/src/html/html_tablecell_element.c
index c881440..c106b4f 100644
--- a/src/html/html_tablecell_element.c
+++ b/src/html/html_tablecell_element.c
@@ -28,12 +28,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_cell_element table_cell
*
- * \param doc The document table_cell
- * \param ele The returned element table_cell
+ * \param params The html element creation parameters
+ * \param ele The returned element table_cell
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_cell_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_cell_element **ele)
{
struct dom_node_internal *node;
@@ -47,24 +47,21 @@ dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_cell_element_initialise(doc, tag_name,
- namespace, prefix, *ele);
+ return _dom_html_table_cell_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_cell_element table_cell
*
- * \param doc The document table_cell
- * \param ele The dom_html_table_cell_element table_cell
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_cell_element table_cell
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_cell_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_cell_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_cell_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name,
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_tablecell_element.h b/src/html/html_tablecell_element.h
index 5a48439..5f40373 100644
--- a/src/html/html_tablecell_element.h
+++ b/src/html/html_tablecell_element.h
@@ -19,13 +19,13 @@ struct dom_html_table_cell_element {
};
/* Create a dom_html_table_cell_element object */
-dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_cell_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_cell_element **ele);
/* Initialise a dom_html_table_cell_element object */
-dom_exception _dom_html_table_cell_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_cell_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_cell_element *ele);
/* Finalise a dom_html_table_cell_element object */
diff --git a/src/html/html_tablecol_element.c b/src/html/html_tablecol_element.c
index d3d985b..5df6d5b 100644
--- a/src/html/html_tablecol_element.c
+++ b/src/html/html_tablecol_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_col_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_col_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_col_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_col_element_initialise(doc, tag_name,
- namespace, prefix, *ele);
+ return _dom_html_table_col_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_col_element object
*
- * \param doc The document object
- * \param ele The dom_html_table_col_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_col_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_col_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_col_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_col_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_tablecol_element.h b/src/html/html_tablecol_element.h
index a8e6fa7..adfca2f 100644
--- a/src/html/html_tablecol_element.h
+++ b/src/html/html_tablecol_element.h
@@ -19,13 +19,13 @@ struct dom_html_table_col_element {
};
/* Create a dom_html_table_col_element object */
-dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_col_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_col_element **ele);
/* Initialise a dom_html_table_col_element object */
-dom_exception _dom_html_table_col_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_col_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_col_element *ele);
/* Finalise a dom_html_table_col_element object */
diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c
index 0a0fb1e..8773452 100644
--- a/src/html/html_tablerow_element.c
+++ b/src/html/html_tablerow_element.c
@@ -30,12 +30,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_row_element table_row
*
- * \param doc The document table_row
- * \param ele The returned element table_row
+ * \param params The html element creation parameters
+ * \param ele The returned element table_row
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_row_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_row_element **ele)
{
struct dom_node_internal *node;
@@ -49,24 +49,21 @@ dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_row_element_initialise(doc,
- namespace, prefix, *ele);
+ return _dom_html_table_row_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_row_element table_row
*
- * \param doc The document table_row
- * \param ele The dom_html_table_row_element table_row
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_row_element table_row
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_row_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_row_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
@@ -335,11 +332,15 @@ dom_exception dom_html_table_row_element_insert_cell(
dom_html_collection *cells; /*< The collection of cells in input table_row_element*/
uint32_t len; /*< The size of the cell collection */
dom_exception exp; /*< Variable for getting the exceptions*/
- exp = _dom_html_element_create(doc,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TD],
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
- cell);
+
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TD],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_element_create(¶ms, cell);
if (exp != DOM_NO_ERR)
return exp;
diff --git a/src/html/html_tablerow_element.h b/src/html/html_tablerow_element.h
index 2401790..ee081ba 100644
--- a/src/html/html_tablerow_element.h
+++ b/src/html/html_tablerow_element.h
@@ -18,13 +18,13 @@ struct dom_html_table_row_element {
};
/* Create a dom_html_table_row_element object */
-dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_row_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_row_element **ele);
/* Initialise a dom_html_table_row_element object */
-dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_row_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_row_element *ele);
/* Finalise a dom_html_table_row_element object */
diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c
index 9718612..fadc0ed 100644
--- a/src/html/html_tablesection_element.c
+++ b/src/html/html_tablesection_element.c
@@ -31,12 +31,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_section_element object
*
- * \table_section doc The document object
- * \table_section ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_section_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_section_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_section_element **ele)
{
struct dom_node_internal *node;
@@ -50,24 +50,21 @@ dom_exception _dom_html_table_section_element_create(struct dom_html_document *d
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_section_element_initialise(doc, tag_name,
- namespace, prefix, *ele);
+ return _dom_html_table_section_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_section_element object
*
- * \table_section doc The document object
- * \table_section ele The dom_html_table_section_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_section_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_section_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_section_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_section_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name,
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
@@ -211,9 +208,15 @@ dom_exception dom_html_table_section_element_insert_row(
dom_html_collection *rows; /*< The collection of rows in input table_section_element*/
uint32_t len; /*< The size of the row collection */
dom_exception exp; /*< Variable for getting the exceptions*/
- exp = _dom_html_table_row_element_create(doc,
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_row_element_create(¶ms,
(dom_html_table_row_element **)new_row);
if(exp != DOM_NO_ERR)
return exp;
diff --git a/src/html/html_tablesection_element.h b/src/html/html_tablesection_element.h
index 387882a..6985abd 100644
--- a/src/html/html_tablesection_element.h
+++ b/src/html/html_tablesection_element.h
@@ -19,13 +19,13 @@ struct dom_html_table_section_element {
};
/* Create a dom_html_table_section_element object */
-dom_exception _dom_html_table_section_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_section_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_section_element **ele);
/* Initialise a dom_html_table_section_element object */
-dom_exception _dom_html_table_section_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_section_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_section_element *ele);
/* Finalise a dom_html_table_section_element object */
diff --git a/src/html/html_text_area_element.c b/src/html/html_text_area_element.c
index cfc3bed..bbc9789 100644
--- a/src/html/html_text_area_element.c
+++ b/src/html/html_text_area_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_text_area_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_text_area_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_text_area_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_text_area_element **ele)
{
struct dom_node_internal *node;
@@ -46,18 +46,18 @@ dom_exception _dom_html_text_area_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_text_area_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_text_area_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_text_area_element object
*
- * \param doc The document object
- * \param ele The dom_html_text_area_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_text_area_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_text_area_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_text_area_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_text_area_element *ele)
{
ele->form = NULL;
@@ -66,9 +66,7 @@ dom_exception _dom_html_text_area_element_initialise(struct dom_html_document *d
ele->value = NULL;
ele->value_set = false;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TEXTAREA],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_text_area_element.h b/src/html/html_text_area_element.h
index a115e85..5c7b420 100644
--- a/src/html/html_text_area_element.h
+++ b/src/html/html_text_area_element.h
@@ -24,13 +24,13 @@ struct dom_html_text_area_element {
};
/* Create a dom_html_text_area_element object */
-dom_exception _dom_html_text_area_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_text_area_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_text_area_element **ele);
/* Initialise a dom_html_text_area_element object */
-dom_exception _dom_html_text_area_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_text_area_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_text_area_element *ele);
/* Finalise a dom_html_text_area_element object */
diff --git a/src/html/html_title_element.c b/src/html/html_title_element.c
index e2107c8..02c7820 100644
--- a/src/html/html_title_element.c
+++ b/src/html/html_title_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_title_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_title_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_title_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_title_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_title_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_title_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_title_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_title_element object
*
- * \param doc The document object
- * \param ele The dom_html_title_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_title_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_title_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_title_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_title_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TITLE],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_title_element.h b/src/html/html_title_element.h
index 51adaf9..1a7653a 100644
--- a/src/html/html_title_element.h
+++ b/src/html/html_title_element.h
@@ -18,13 +18,13 @@ struct dom_html_title_element {
};
/* Create a dom_html_title_element object */
-dom_exception _dom_html_title_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_title_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_title_element **ele);
/* Initialise a dom_html_title_element object */
-dom_exception _dom_html_title_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_title_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_title_element *ele);
/* Finalise a dom_html_title_element object */
diff --git a/src/html/html_ulist_element.c b/src/html/html_ulist_element.c
index 17d31a9..624c85f 100644
--- a/src/html/html_ulist_element.c
+++ b/src/html/html_ulist_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_u_list_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_u_list_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *u_listfix,
+dom_exception _dom_html_u_list_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_u_list_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_u_list_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_u_list_element_initialise(doc, namespace, u_listfix, *ele);
+ return _dom_html_u_list_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_u_list_element object
*
- * \param doc The document object
- * \param ele The dom_html_u_list_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_u_list_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_u_list_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *u_listfix,
+dom_exception _dom_html_u_list_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_u_list_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_UL],
- namespace, u_listfix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_ulist_element.h b/src/html/html_ulist_element.h
index 7e03f47..6e7e6f9 100644
--- a/src/html/html_ulist_element.h
+++ b/src/html/html_ulist_element.h
@@ -19,13 +19,13 @@ struct dom_html_u_list_element {
};
/* Create a dom_html_u_list_element object */
-dom_exception _dom_html_u_list_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_u_list_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_u_list_element **ele);
/* Initialise a dom_html_u_list_element object */
-dom_exception _dom_html_u_list_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_u_list_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_u_list_element *ele);
/* Finalise a dom_html_u_list_element object */
-----------------------------------------------------------------------
Summary of changes:
src/html/html_anchor_element.c | 22 +++---
src/html/html_anchor_element.h | 8 +-
src/html/html_applet_element.c | 22 +++---
src/html/html_applet_element.h | 8 +-
src/html/html_area_element.c | 22 +++---
src/html/html_area_element.h | 8 +-
src/html/html_base_element.c | 22 +++---
src/html/html_base_element.h | 8 +-
src/html/html_basefont_element.c | 22 +++---
src/html/html_basefont_element.h | 8 +-
src/html/html_body_element.c | 22 +++---
src/html/html_body_element.h | 8 +-
src/html/html_br_element.c | 22 +++---
src/html/html_br_element.h | 8 +-
src/html/html_button_element.c | 22 +++---
src/html/html_button_element.h | 8 +-
src/html/html_directory_element.c | 22 +++---
src/html/html_directory_element.h | 8 +-
src/html/html_div_element.c | 22 +++---
src/html/html_div_element.h | 8 +-
src/html/html_dlist_element.c | 22 +++---
src/html/html_dlist_element.h | 8 +-
src/html/html_document.c | 143 +++++++++++++++++-----------------
src/html/html_element.c | 18 ++---
src/html/html_element.h | 19 +++--
src/html/html_fieldset_element.c | 22 +++---
src/html/html_fieldset_element.h | 8 +-
src/html/html_font_element.c | 22 +++---
src/html/html_font_element.h | 8 +-
src/html/html_form_element.c | 22 +++---
src/html/html_form_element.h | 8 +-
src/html/html_frame_element.c | 22 +++---
src/html/html_frame_element.h | 8 +-
src/html/html_frameset_element.c | 22 +++---
src/html/html_frameset_element.h | 8 +-
src/html/html_head_element.c | 22 +++---
src/html/html_head_element.h | 8 +-
src/html/html_heading_element.c | 27 +++----
src/html/html_heading_element.h | 12 +--
src/html/html_hr_element.c | 22 +++---
src/html/html_hr_element.h | 8 +-
src/html/html_html_element.c | 22 +++---
src/html/html_html_element.h | 8 +-
src/html/html_iframe_element.c | 23 +++---
src/html/html_iframe_element.h | 8 +-
src/html/html_image_element.c | 22 +++---
src/html/html_image_element.h | 8 +-
src/html/html_input_element.c | 22 +++---
src/html/html_input_element.h | 8 +-
src/html/html_isindex_element.c | 22 +++---
src/html/html_isindex_element.h | 8 +-
src/html/html_label_element.c | 22 +++---
src/html/html_label_element.h | 8 +-
src/html/html_legend_element.c | 22 +++---
src/html/html_legend_element.h | 8 +-
src/html/html_li_element.c | 22 +++---
src/html/html_li_element.h | 8 +-
src/html/html_link_element.c | 22 +++---
src/html/html_link_element.h | 8 +-
src/html/html_map_element.c | 22 +++---
src/html/html_map_element.h | 8 +-
src/html/html_menu_element.c | 22 +++---
src/html/html_menu_element.h | 8 +-
src/html/html_meta_element.c | 22 +++---
src/html/html_meta_element.h | 8 +-
src/html/html_mod_element.c | 25 +++---
src/html/html_mod_element.h | 10 +--
src/html/html_object_element.c | 22 +++---
src/html/html_object_element.h | 8 +-
src/html/html_olist_element.c | 22 +++---
src/html/html_olist_element.h | 8 +-
src/html/html_opt_group_element.c | 22 +++---
src/html/html_opt_group_element.h | 8 +-
src/html/html_option_element.c | 22 +++---
src/html/html_option_element.h | 8 +-
src/html/html_paragraph_element.c | 22 +++---
src/html/html_paragraph_element.h | 8 +-
src/html/html_param_element.c | 22 +++---
src/html/html_param_element.h | 8 +-
src/html/html_pre_element.c | 22 +++---
src/html/html_pre_element.h | 8 +-
src/html/html_quote_element.c | 22 +++---
src/html/html_quote_element.h | 8 +-
src/html/html_script_element.c | 22 +++---
src/html/html_script_element.h | 8 +-
src/html/html_select_element.c | 22 +++---
src/html/html_select_element.h | 8 +-
src/html/html_style_element.c | 29 +++----
src/html/html_style_element.h | 6 +-
src/html/html_table_element.c | 99 +++++++++++++----------
src/html/html_table_element.h | 8 +-
src/html/html_tablecaption_element.c | 22 +++---
src/html/html_tablecaption_element.h | 8 +-
src/html/html_tablecell_element.c | 23 +++---
src/html/html_tablecell_element.h | 8 +-
src/html/html_tablecol_element.c | 22 +++---
src/html/html_tablecol_element.h | 8 +-
src/html/html_tablerow_element.c | 37 ++++-----
src/html/html_tablerow_element.h | 8 +-
src/html/html_tablesection_element.c | 35 +++++----
src/html/html_tablesection_element.h | 8 +-
src/html/html_text_area_element.c | 22 +++---
src/html/html_text_area_element.h | 8 +-
src/html/html_title_element.c | 22 +++---
src/html/html_title_element.h | 8 +-
src/html/html_ulist_element.c | 22 +++---
src/html/html_ulist_element.h | 8 +-
107 files changed, 894 insertions(+), 972 deletions(-)
diff --git a/src/html/html_anchor_element.c b/src/html/html_anchor_element.c
index 5ad473b..e23ae45 100644
--- a/src/html/html_anchor_element.c
+++ b/src/html/html_anchor_element.c
@@ -28,12 +28,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_anchor_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_anchor_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_anchor_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_anchor_element **ele)
{
struct dom_node_internal *node;
@@ -47,23 +47,21 @@ dom_exception _dom_html_anchor_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_anchor_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_anchor_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_anchor_element object
*
- * \param doc The document object
- * \param ele The dom_html_anchor_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_anchor_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_anchor_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_anchor_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_anchor_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_A],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_anchor_element.h b/src/html/html_anchor_element.h
index a9f5b5b..b79daf9 100644
--- a/src/html/html_anchor_element.h
+++ b/src/html/html_anchor_element.h
@@ -19,13 +19,13 @@ struct dom_html_anchor_element {
};
/* Create a dom_html_anchor_element object */
-dom_exception _dom_html_anchor_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_anchor_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_anchor_element **ele);
/* Initialise a dom_html_anchor_element object */
-dom_exception _dom_html_anchor_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_anchor_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_anchor_element *ele);
/* Finalise a dom_html_anchor_element object */
diff --git a/src/html/html_applet_element.c b/src/html/html_applet_element.c
index dedcbc5..2a28293 100644
--- a/src/html/html_applet_element.c
+++ b/src/html/html_applet_element.c
@@ -28,12 +28,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_applet_element applet
*
- * \param doc The document applet
- * \param ele The returned element applet
+ * \param params The html element creation parameters
+ * \param ele The returned element applet
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_applet_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_applet_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_applet_element **ele)
{
struct dom_node_internal *node;
@@ -47,23 +47,21 @@ dom_exception _dom_html_applet_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_applet_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_applet_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_applet_element applet
*
- * \param doc The document applet
- * \param ele The dom_html_applet_element applet
+ * \param params The html element creation parameters
+ * \param ele The dom_html_applet_element applet
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_applet_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_applet_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_applet_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_APPLET],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_applet_element.h b/src/html/html_applet_element.h
index 21e6d7a..20bef1f 100644
--- a/src/html/html_applet_element.h
+++ b/src/html/html_applet_element.h
@@ -19,13 +19,13 @@ struct dom_html_applet_element {
};
/* Create a dom_html_applet_element object */
-dom_exception _dom_html_applet_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_applet_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_applet_element **ele);
/* Initialise a dom_html_applet_element object */
-dom_exception _dom_html_applet_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_applet_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_applet_element *ele);
/* Finalise a dom_html_applet_element object */
diff --git a/src/html/html_area_element.c b/src/html/html_area_element.c
index b3ca8dd..4a2cefb 100644
--- a/src/html/html_area_element.c
+++ b/src/html/html_area_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_area_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_area_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_area_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_area_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_area_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_area_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_area_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_area_element object
*
- * \param doc The document object
- * \param ele The dom_html_area_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_area_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_area_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_area_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_area_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_AREA],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_area_element.h b/src/html/html_area_element.h
index a45d1df..73462b2 100644
--- a/src/html/html_area_element.h
+++ b/src/html/html_area_element.h
@@ -19,13 +19,13 @@ struct dom_html_area_element {
};
/* Create a dom_html_area_element object */
-dom_exception _dom_html_area_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_area_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_area_element **ele);
/* Initialise a dom_html_area_element object */
-dom_exception _dom_html_area_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_area_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_area_element *ele);
/* Finalise a dom_html_area_element object */
diff --git a/src/html/html_base_element.c b/src/html/html_base_element.c
index 55bbd94..cda0707 100644
--- a/src/html/html_base_element.c
+++ b/src/html/html_base_element.c
@@ -23,12 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_base_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_base_element **ele)
{
struct dom_node_internal *node;
@@ -42,23 +42,21 @@ dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_base_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_base_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_base_element object
*
- * \param doc The document object
- * \param ele The dom_html_base_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_base_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_base_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_base_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BASE],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_base_element.h b/src/html/html_base_element.h
index 3113635..608b99f 100644
--- a/src/html/html_base_element.h
+++ b/src/html/html_base_element.h
@@ -18,13 +18,13 @@ struct dom_html_base_element {
};
/* Create a dom_html_base_element object */
-dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_base_element **ele);
/* Initialise a dom_html_base_element object */
-dom_exception _dom_html_base_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_base_element *ele);
/* Finalise a dom_html_base_element object */
diff --git a/src/html/html_basefont_element.c b/src/html/html_basefont_element.c
index f8e9249..eab5a79 100644
--- a/src/html/html_basefont_element.c
+++ b/src/html/html_basefont_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_base_font_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_base_font_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_font_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_base_font_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_base_font_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_base_font_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_base_font_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_base_font_element object
*
- * \param doc The document object
- * \param ele The dom_html_base_font_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_base_font_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_base_font_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_font_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_base_font_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BASEFONT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_basefont_element.h b/src/html/html_basefont_element.h
index e6427ec..90e886e 100644
--- a/src/html/html_basefont_element.h
+++ b/src/html/html_basefont_element.h
@@ -19,13 +19,13 @@ struct dom_html_base_font_element {
};
/* Create a dom_html_base_font_element object */
-dom_exception _dom_html_base_font_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_font_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_base_font_element **ele);
/* Initialise a dom_html_base_font_element object */
-dom_exception _dom_html_base_font_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_base_font_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_base_font_element *ele);
/* Finalise a dom_html_base_font_element object */
diff --git a/src/html/html_body_element.c b/src/html/html_body_element.c
index f63583e..655fdb0 100644
--- a/src/html/html_body_element.c
+++ b/src/html/html_body_element.c
@@ -25,12 +25,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_body_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_body_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_body_element **ele)
{
struct dom_node_internal *node;
@@ -44,23 +44,21 @@ dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_body_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_body_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_body_element object
*
- * \param doc The document object
- * \param ele The dom_html_body_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_body_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_body_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_body_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_body_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BODY],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_body_element.h b/src/html/html_body_element.h
index 2763680..765c44d 100644
--- a/src/html/html_body_element.h
+++ b/src/html/html_body_element.h
@@ -18,13 +18,13 @@ struct dom_html_body_element {
};
/* Create a dom_html_body_element object */
-dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_body_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_body_element **ele);
/* Initialise a dom_html_body_element object */
-dom_exception _dom_html_body_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_body_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_body_element *ele);
/* Finalise a dom_html_body_element object */
diff --git a/src/html/html_br_element.c b/src/html/html_br_element.c
index ec5acf6..0cc9194 100644
--- a/src/html/html_br_element.c
+++ b/src/html/html_br_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_br_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_br_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_br_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_br_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_br_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_br_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_br_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_br_element object
*
- * \param doc The document object
- * \param ele The dom_html_br_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_br_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_br_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_br_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_br_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BR],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_br_element.h b/src/html/html_br_element.h
index ff2df3d..75cbc49 100644
--- a/src/html/html_br_element.h
+++ b/src/html/html_br_element.h
@@ -19,13 +19,13 @@ struct dom_html_br_element {
};
/* Create a dom_html_br_element object */
-dom_exception _dom_html_br_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_br_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_br_element **ele);
/* Initialise a dom_html_br_element object */
-dom_exception _dom_html_br_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_br_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_br_element *ele);
/* Finalise a dom_html_br_element object */
diff --git a/src/html/html_button_element.c b/src/html/html_button_element.c
index 28b694b..a9c34d5 100644
--- a/src/html/html_button_element.c
+++ b/src/html/html_button_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_button_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_button_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_button_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_button_element **ele)
{
struct dom_node_internal *node;
@@ -46,25 +46,23 @@ dom_exception _dom_html_button_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_button_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_button_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_button_element object
*
- * \param doc The document object
- * \param ele The dom_html_button_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_button_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_button_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_button_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_button_element *ele)
{
ele->form = NULL;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_BUTTON],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_button_element.h b/src/html/html_button_element.h
index 18d0250..9734106 100644
--- a/src/html/html_button_element.h
+++ b/src/html/html_button_element.h
@@ -20,13 +20,13 @@ struct dom_html_button_element {
};
/* Create a dom_html_button_element object */
-dom_exception _dom_html_button_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_button_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_button_element **ele);
/* Initialise a dom_html_button_element object */
-dom_exception _dom_html_button_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_button_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_button_element *ele);
/* Finalise a dom_html_button_element object */
diff --git a/src/html/html_directory_element.c b/src/html/html_directory_element.c
index 1e06074..e50a353 100644
--- a/src/html/html_directory_element.c
+++ b/src/html/html_directory_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_directory_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_directory_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_directory_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_directory_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_directory_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_directory_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_directory_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_directory_element object
*
- * \param doc The document object
- * \param ele The dom_html_directory_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_directory_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_directory_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_directory_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_directory_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_DIR],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_directory_element.h b/src/html/html_directory_element.h
index 9f3fe2b..14497f6 100644
--- a/src/html/html_directory_element.h
+++ b/src/html/html_directory_element.h
@@ -19,13 +19,13 @@ struct dom_html_directory_element {
};
/* Create a dom_html_directory_element object */
-dom_exception _dom_html_directory_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_directory_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_directory_element **ele);
/* Initialise a dom_html_directory_element object */
-dom_exception _dom_html_directory_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_directory_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_directory_element *ele);
/* Finalise a dom_html_directory_element object */
diff --git a/src/html/html_div_element.c b/src/html/html_div_element.c
index f5ef051..5ebb971 100644
--- a/src/html/html_div_element.c
+++ b/src/html/html_div_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_div_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_div_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_div_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_div_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_div_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_div_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_div_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_div_element object
*
- * \param doc The document object
- * \param ele The dom_html_div_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_div_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_div_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_div_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_div_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_DIV],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_div_element.h b/src/html/html_div_element.h
index 62d1c3f..931d201 100644
--- a/src/html/html_div_element.h
+++ b/src/html/html_div_element.h
@@ -19,13 +19,13 @@ struct dom_html_div_element {
};
/* Create a dom_html_div_element object */
-dom_exception _dom_html_div_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_div_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_div_element **ele);
/* Initialise a dom_html_div_element object */
-dom_exception _dom_html_div_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_div_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_div_element *ele);
/* Finalise a dom_html_div_element object */
diff --git a/src/html/html_dlist_element.c b/src/html/html_dlist_element.c
index 38e3276..e2fccc9 100644
--- a/src/html/html_dlist_element.c
+++ b/src/html/html_dlist_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_dlist_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_dlist_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_dlist_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_dlist_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_dlist_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_dlist_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_dlist_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_dlist_element object
*
- * \param doc The document object
- * \param ele The dom_html_dlist_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_dlist_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_dlist_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_dlist_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_dlist_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_DL],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_dlist_element.h b/src/html/html_dlist_element.h
index 06d5634..aeca232 100644
--- a/src/html/html_dlist_element.h
+++ b/src/html/html_dlist_element.h
@@ -19,13 +19,13 @@ struct dom_html_dlist_element {
};
/* Create a dom_html_dlist_element object */
-dom_exception _dom_html_dlist_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_dlist_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_dlist_element **ele);
/* Initialise a dom_html_dlist_element object */
-dom_exception _dom_html_dlist_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_dlist_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_dlist_element *ele);
/* Finalise a dom_html_dlist_element object */
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 839cf99..34d8803 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -493,106 +493,110 @@ _dom_html_document_create_element_internal(
dom_html_element **result)
{
dom_exception exc;
- dom_string *tag_name;
dom_html_element_type type;
+ struct dom_html_element_create_params params;
- exc = dom_string_toupper(in_tag_name, true, &tag_name);
+ exc = dom_string_toupper(in_tag_name, true, ¶ms.name);
if (exc != DOM_NO_ERR)
return exc;
- type = _dom_html_document_get_element_type(html, tag_name);
+ type = _dom_html_document_get_element_type(html, params.name);
+
+ params.doc = html;
+ params.namespace = namespace;
+ params.prefix = prefix;
switch(type) {
case DOM_HTML_ELEMENT_TYPE__COUNT:
assert(type != DOM_HTML_ELEMENT_TYPE__COUNT);
break;
case DOM_HTML_ELEMENT_TYPE_HTML:
- exc = _dom_html_html_element_create(html, namespace, prefix,
+ exc = _dom_html_html_element_create(¶ms,
(dom_html_html_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_HEAD:
- exc = _dom_html_head_element_create(html, namespace, prefix,
+ exc = _dom_html_head_element_create(¶ms,
(dom_html_head_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_META:
- exc = _dom_html_meta_element_create(html, namespace, prefix,
+ exc = _dom_html_meta_element_create(¶ms,
(dom_html_meta_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BASE:
- exc = _dom_html_base_element_create(html, namespace, prefix,
+ exc = _dom_html_base_element_create(¶ms,
(dom_html_base_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TITLE:
- exc = _dom_html_title_element_create(html, namespace, prefix,
+ exc = _dom_html_title_element_create(¶ms,
(dom_html_title_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BODY:
- exc = _dom_html_body_element_create(html, namespace, prefix,
+ exc = _dom_html_body_element_create(¶ms,
(dom_html_body_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_DIV:
- exc = _dom_html_div_element_create(html, namespace, prefix,
+ exc = _dom_html_div_element_create(¶ms,
(dom_html_div_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FORM:
- exc = _dom_html_form_element_create(html, namespace, prefix,
+ exc = _dom_html_form_element_create(¶ms,
(dom_html_form_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_LINK:
- exc = _dom_html_link_element_create(html, namespace, prefix,
+ exc = _dom_html_link_element_create(¶ms,
(dom_html_link_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BUTTON:
- exc = _dom_html_button_element_create(html, namespace, prefix,
+ exc = _dom_html_button_element_create(¶ms,
(dom_html_button_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_INPUT:
- exc = _dom_html_input_element_create(html, namespace, prefix,
+ exc = _dom_html_input_element_create(¶ms,
(dom_html_input_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TEXTAREA:
- exc = _dom_html_text_area_element_create(html, namespace,
- prefix, (dom_html_text_area_element **) result);
+ exc = _dom_html_text_area_element_create(¶ms,
+ (dom_html_text_area_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_OPTGROUP:
- exc = _dom_html_opt_group_element_create(html, namespace,
- prefix, (dom_html_opt_group_element **) result);
+ exc = _dom_html_opt_group_element_create(¶ms,
+ (dom_html_opt_group_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_OPTION:
- exc = _dom_html_option_element_create(html, namespace, prefix,
+ exc = _dom_html_option_element_create(¶ms,
(dom_html_option_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_SELECT:
- exc = _dom_html_select_element_create(html, namespace, prefix,
+ exc = _dom_html_select_element_create(¶ms,
(dom_html_select_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_HR:
- exc = _dom_html_hr_element_create(html, namespace, prefix,
+ exc = _dom_html_hr_element_create(¶ms,
(dom_html_hr_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_DL:
- exc = _dom_html_dlist_element_create(html, namespace, prefix,
+ exc = _dom_html_dlist_element_create(¶ms,
(dom_html_dlist_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_DIR:
- exc = _dom_html_directory_element_create(html, namespace,
- prefix, (dom_html_directory_element **) result);
+ exc = _dom_html_directory_element_create(¶ms,
+ (dom_html_directory_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_MENU:
- exc = _dom_html_menu_element_create(html, namespace, prefix,
+ exc = _dom_html_menu_element_create(¶ms,
(dom_html_menu_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FIELDSET:
- exc = _dom_html_field_set_element_create(html, namespace,
- prefix, (dom_html_field_set_element **) result);
+ exc = _dom_html_field_set_element_create(¶ms,
+ (dom_html_field_set_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_LEGEND:
- exc = _dom_html_legend_element_create(html, namespace, prefix,
+ exc = _dom_html_legend_element_create(¶ms,
(dom_html_legend_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_P:
- exc = _dom_html_paragraph_element_create(html, namespace,
- prefix, (dom_html_paragraph_element **) result);
+ exc = _dom_html_paragraph_element_create(¶ms,
+ (dom_html_paragraph_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_H1:
case DOM_HTML_ELEMENT_TYPE_H2:
@@ -600,145 +604,138 @@ _dom_html_document_create_element_internal(
case DOM_HTML_ELEMENT_TYPE_H4:
case DOM_HTML_ELEMENT_TYPE_H5:
case DOM_HTML_ELEMENT_TYPE_H6:
- exc = _dom_html_heading_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_heading_element_create(¶ms,
(dom_html_heading_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE:
case DOM_HTML_ELEMENT_TYPE_Q:
- exc = _dom_html_quote_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_quote_element_create(¶ms,
(dom_html_quote_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_PRE:
- exc = _dom_html_pre_element_create(html, namespace, prefix,
+ exc = _dom_html_pre_element_create(¶ms,
(dom_html_pre_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BR:
- exc = _dom_html_br_element_create(html, namespace, prefix,
+ exc = _dom_html_br_element_create(¶ms,
(dom_html_br_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_LABEL:
- exc = _dom_html_label_element_create(html, namespace, prefix,
+ exc = _dom_html_label_element_create(¶ms,
(dom_html_label_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_UL:
- exc = _dom_html_u_list_element_create(html, namespace, prefix,
+ exc = _dom_html_u_list_element_create(¶ms,
(dom_html_u_list_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_OL:
- exc = _dom_html_olist_element_create(html, namespace, prefix,
+ exc = _dom_html_olist_element_create(¶ms,
(dom_html_olist_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_LI:
- exc = _dom_html_li_element_create(html, namespace, prefix,
+ exc = _dom_html_li_element_create(¶ms,
(dom_html_li_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FONT:
- exc = _dom_html_font_element_create(html, namespace, prefix,
+ exc = _dom_html_font_element_create(¶ms,
(dom_html_font_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_DEL:
case DOM_HTML_ELEMENT_TYPE_INS:
- exc = _dom_html_mod_element_create(html, tag_name, namespace,
- prefix, (dom_html_mod_element **) result);
+ exc = _dom_html_mod_element_create(¶ms,
+ (dom_html_mod_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_A:
- exc = _dom_html_anchor_element_create(html, namespace, prefix,
+ exc = _dom_html_anchor_element_create(¶ms,
(dom_html_anchor_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_BASEFONT:
- exc = _dom_html_base_font_element_create(html,
- namespace, prefix,
+ exc = _dom_html_base_font_element_create(¶ms,
(dom_html_base_font_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_IMG:
- exc = _dom_html_image_element_create(html, namespace, prefix,
+ exc = _dom_html_image_element_create(¶ms,
(dom_html_image_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_OBJECT:
- exc = _dom_html_object_element_create(html, namespace, prefix,
+ exc = _dom_html_object_element_create(¶ms,
(dom_html_object_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_PARAM:
- exc = _dom_html_param_element_create(html, namespace, prefix,
+ exc = _dom_html_param_element_create(¶ms,
(dom_html_param_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_APPLET:
- exc = _dom_html_applet_element_create(html, namespace, prefix,
+ exc = _dom_html_applet_element_create(¶ms,
(dom_html_applet_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_MAP:
- exc = _dom_html_map_element_create(html, namespace, prefix,
+ exc = _dom_html_map_element_create(¶ms,
(dom_html_map_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_AREA:
- exc = _dom_html_area_element_create(html, namespace, prefix,
+ exc = _dom_html_area_element_create(¶ms,
(dom_html_area_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_SCRIPT:
- exc = _dom_html_script_element_create(html, namespace, prefix,
+ exc = _dom_html_script_element_create(¶ms,
(dom_html_script_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_CAPTION:
- exc = _dom_html_table_caption_element_create(html,
- namespace, prefix,
+ exc = _dom_html_table_caption_element_create(¶ms,
(dom_html_table_caption_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TD:
case DOM_HTML_ELEMENT_TYPE_TH:
- exc = _dom_html_table_cell_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_table_cell_element_create(¶ms,
(dom_html_table_cell_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_COL:
case DOM_HTML_ELEMENT_TYPE_COLGROUP:
- exc = _dom_html_table_col_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_table_col_element_create(¶ms,
(dom_html_table_col_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_THEAD:
case DOM_HTML_ELEMENT_TYPE_TBODY:
case DOM_HTML_ELEMENT_TYPE_TFOOT:
- exc = _dom_html_table_section_element_create(html, tag_name,
- namespace, prefix,
+ exc = _dom_html_table_section_element_create(¶ms,
(dom_html_table_section_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TABLE:
- exc = _dom_html_table_element_create(html, namespace, prefix,
+ exc = _dom_html_table_element_create(¶ms,
(dom_html_table_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_TR:
- exc = _dom_html_table_row_element_create(html, namespace,
- prefix, (dom_html_table_row_element **) result);
+ exc = _dom_html_table_row_element_create(¶ms,
+ (dom_html_table_row_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_STYLE:
- exc = _dom_html_style_element_create(html,
+ exc = _dom_html_style_element_create(¶ms,
(dom_html_style_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FRAMESET:
- exc = _dom_html_frame_set_element_create(html, namespace,
- prefix, (dom_html_frame_set_element **) result);
+ exc = _dom_html_frame_set_element_create(¶ms,
+ (dom_html_frame_set_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_FRAME:
- exc = _dom_html_frame_element_create(html, namespace, prefix,
+ exc = _dom_html_frame_element_create(¶ms,
(dom_html_frame_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_IFRAME:
- exc = _dom_html_iframe_element_create(html, namespace, prefix,
+ exc = _dom_html_iframe_element_create(¶ms,
(dom_html_iframe_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_ISINDEX:
- exc = _dom_html_isindex_element_create(html, namespace, prefix,
+ exc = _dom_html_isindex_element_create(¶ms,
(dom_html_isindex_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE__UNKNOWN:
- exc = _dom_html_element_create(html, tag_name, namespace,
- prefix, result);
+ exc = _dom_html_element_create(¶ms,
+ result);
break;
}
- dom_string_unref(tag_name);
+ dom_string_unref(params.name);
return exc;
}
diff --git a/src/html/html_element.c b/src/html/html_element.c
index d436898..513a5be 100644
--- a/src/html/html_element.c
+++ b/src/html/html_element.c
@@ -38,9 +38,9 @@ static struct dom_element_protected_vtable _dom_html_element_protect_vtable = {
DOM_ELEMENT_PROTECT_VTABLE
};
-dom_exception _dom_html_element_create(struct dom_html_document *doc,
- dom_string *name, dom_string *namespace,
- dom_string *prefix, struct dom_html_element **result)
+dom_exception _dom_html_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_element **result)
{
dom_exception error;
dom_html_element *el;
@@ -52,8 +52,7 @@ dom_exception _dom_html_element_create(struct dom_html_document *doc,
el->base.base.base.vtable = &_dom_html_element_vtable;
el->base.base.vtable = &_dom_html_element_protect_vtable;
- error = _dom_html_element_initialise(doc, el, name, namespace,
- prefix);
+ error = _dom_html_element_initialise(params, el);
if (error != DOM_NO_ERR) {
free(el);
return error;
@@ -64,13 +63,14 @@ dom_exception _dom_html_element_create(struct dom_html_document *doc,
return DOM_NO_ERR;
}
-dom_exception _dom_html_element_initialise(struct dom_html_document *doc,
- struct dom_html_element *el, dom_string *name,
- dom_string *namespace, dom_string *prefix)
+dom_exception _dom_html_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_element *el)
{
dom_exception err;
- err = _dom_element_initialise(&doc->base, &el->base, name, namespace, prefix);
+ err = _dom_element_initialise(¶ms->doc->base, &el->base,
+ params->name, params->namespace, params->prefix);
if (err != DOM_NO_ERR)
return err;
diff --git a/src/html/html_element.h b/src/html/html_element.h
index e32b09e..2d42abc 100644
--- a/src/html/html_element.h
+++ b/src/html/html_element.h
@@ -24,13 +24,20 @@ struct dom_html_element {
/**< The base class */
};
-dom_exception _dom_html_element_create(struct dom_html_document *doc,
- dom_string *name, dom_string *namespace,
- dom_string *prefix, dom_html_element **result);
+struct dom_html_element_create_params {
+ struct dom_html_document *doc;
+ dom_string *name;
+ dom_string *namespace;
+ dom_string *prefix;
+};
+
+dom_exception _dom_html_element_create(
+ struct dom_html_element_create_params *params,
+ dom_html_element **result);
-dom_exception _dom_html_element_initialise(struct dom_html_document *doc,
- struct dom_html_element *el, dom_string *name,
- dom_string *namespace, dom_string *prefix);
+dom_exception _dom_html_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_element *el);
void _dom_html_element_finalise(struct dom_html_element *ele);
diff --git a/src/html/html_fieldset_element.c b/src/html/html_fieldset_element.c
index 15ea812..c6224bf 100644
--- a/src/html/html_fieldset_element.c
+++ b/src/html/html_fieldset_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_field_set_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_field_set_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_field_set_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_field_set_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_field_set_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_field_set_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_field_set_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_field_set_element object
*
- * \param doc The document object
- * \param ele The dom_html_field_set_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_field_set_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_field_set_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_field_set_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_field_set_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FIELDSET],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_fieldset_element.h b/src/html/html_fieldset_element.h
index 8ae1d59..0560cf2 100644
--- a/src/html/html_fieldset_element.h
+++ b/src/html/html_fieldset_element.h
@@ -19,13 +19,13 @@ struct dom_html_field_set_element {
};
/* Create a dom_html_field_set_element object */
-dom_exception _dom_html_field_set_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_field_set_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_field_set_element **ele);
/* Initialise a dom_html_field_set_element object */
-dom_exception _dom_html_field_set_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_field_set_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_field_set_element *ele);
/* Finalise a dom_html_field_set_element object */
diff --git a/src/html/html_font_element.c b/src/html/html_font_element.c
index 0be7ee5..b77d7b6 100644
--- a/src/html/html_font_element.c
+++ b/src/html/html_font_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_font_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_font_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_font_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_font_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_font_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_font_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_font_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_font_element object
*
- * \param doc The document object
- * \param ele The dom_html_font_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_font_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_font_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_font_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_font_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FONT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_font_element.h b/src/html/html_font_element.h
index 42a2ec4..41f22ce 100644
--- a/src/html/html_font_element.h
+++ b/src/html/html_font_element.h
@@ -19,13 +19,13 @@ struct dom_html_font_element {
};
/* Create a dom_html_font_element object */
-dom_exception _dom_html_font_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_font_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_font_element **ele);
/* Initialise a dom_html_font_element object */
-dom_exception _dom_html_font_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_font_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_font_element *ele);
/* Finalise a dom_html_font_element object */
diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c
index ee62c02..42eb96f 100644
--- a/src/html/html_form_element.c
+++ b/src/html/html_form_element.c
@@ -34,12 +34,12 @@ static bool _dom_is_form_control(struct dom_node_internal *node, void *ctx);
/**
* Create a dom_html_form_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_form_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_form_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_form_element **ele)
{
struct dom_node_internal *node;
@@ -53,25 +53,23 @@ dom_exception _dom_html_form_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_form_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_form_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_form_element object
*
- * \param doc The document object
- * \param ele The dom_html_form_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_form_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_form_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_form_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_form_element *ele)
{
dom_exception err;
- err = _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FORM],
- namespace, prefix);
+ err = _dom_html_element_initialise(params, &ele->base);
return err;
}
diff --git a/src/html/html_form_element.h b/src/html/html_form_element.h
index 67a1080..bab3ef8 100644
--- a/src/html/html_form_element.h
+++ b/src/html/html_form_element.h
@@ -20,13 +20,13 @@ struct dom_html_form_element {
};
/* Create a dom_html_form_element object */
-dom_exception _dom_html_form_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_form_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_form_element **ele);
/* Initialise a dom_html_form_element object */
-dom_exception _dom_html_form_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_form_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_form_element *ele);
/* Finalise a dom_html_form_element object */
diff --git a/src/html/html_frame_element.c b/src/html/html_frame_element.c
index b8b0a74..4835667 100644
--- a/src/html/html_frame_element.c
+++ b/src/html/html_frame_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_frame_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_frame_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_frame_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_frame_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_frame_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_frame_element object
*
- * \param doc The document object
- * \param ele The dom_html_frame_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_frame_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_frame_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FRAME],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_frame_element.h b/src/html/html_frame_element.h
index d83c9fc..0bef1dc 100644
--- a/src/html/html_frame_element.h
+++ b/src/html/html_frame_element.h
@@ -19,13 +19,13 @@ struct dom_html_frame_element {
};
/* Create a dom_html_frame_element object */
-dom_exception _dom_html_frame_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_element **ele);
/* Initialise a dom_html_frame_element object */
-dom_exception _dom_html_frame_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_element *ele);
/* Finalise a dom_html_frame_element object */
diff --git a/src/html/html_frameset_element.c b/src/html/html_frameset_element.c
index 9d9680b..4af3c19 100644
--- a/src/html/html_frameset_element.c
+++ b/src/html/html_frameset_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_frame_set_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_frame_set_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_set_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_set_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_frame_set_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_frame_set_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_frame_set_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_frame_set_element object
*
- * \param doc The document object
- * \param ele The dom_html_frame_set_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_frame_set_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_frame_set_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_set_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_set_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_FRAMESET],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_frameset_element.h b/src/html/html_frameset_element.h
index dd4037a..7d97018 100644
--- a/src/html/html_frameset_element.h
+++ b/src/html/html_frameset_element.h
@@ -19,13 +19,13 @@ struct dom_html_frame_set_element {
};
/* Create a dom_html_frame_set_element object */
-dom_exception _dom_html_frame_set_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_set_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_set_element **ele);
/* Initialise a dom_html_frame_set_element object */
-dom_exception _dom_html_frame_set_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_frame_set_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_frame_set_element *ele);
/* Finalise a dom_html_frame_set_element object */
diff --git a/src/html/html_head_element.c b/src/html/html_head_element.c
index 7082cef..85665f3 100644
--- a/src/html/html_head_element.c
+++ b/src/html/html_head_element.c
@@ -23,12 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_head_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_head_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_head_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_head_element **ele)
{
struct dom_node_internal *node;
@@ -42,23 +42,21 @@ dom_exception _dom_html_head_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_head_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_head_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_head_element object
*
- * \param doc The document object
- * \param ele The dom_html_head_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_head_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_head_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_head_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_head_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_HEAD],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_head_element.h b/src/html/html_head_element.h
index deb2d6a..08659fd 100644
--- a/src/html/html_head_element.h
+++ b/src/html/html_head_element.h
@@ -18,13 +18,13 @@ struct dom_html_head_element {
};
/* Create a dom_html_head_element object */
-dom_exception _dom_html_head_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_head_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_head_element **ele);
/* Initialise a dom_html_head_element object */
-dom_exception _dom_html_head_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_head_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_head_element *ele);
/* Finalise a dom_html_head_element object */
diff --git a/src/html/html_heading_element.c b/src/html/html_heading_element.c
index ce298fb..b81c55d 100644
--- a/src/html/html_heading_element.c
+++ b/src/html/html_heading_element.c
@@ -27,13 +27,13 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_heading_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_heading_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_heading_element **ele)
+dom_exception _dom_html_heading_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_heading_element **ele)
{
struct dom_node_internal *node;
@@ -46,24 +46,21 @@ dom_exception _dom_html_heading_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_heading_element_initialise(doc,
- tag_name, namespace,
- prefix, *ele);
+ return _dom_html_heading_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_heading_element object
*
- * \param doc The document object
- * \param ele The dom_html_heading_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_heading_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_heading_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_heading_element *ele)
+dom_exception _dom_html_heading_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_heading_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_heading_element.h b/src/html/html_heading_element.h
index fdd1c25..543f9a9 100644
--- a/src/html/html_heading_element.h
+++ b/src/html/html_heading_element.h
@@ -19,14 +19,14 @@ struct dom_html_heading_element {
};
/* Create a dom_html_heading_element object */
-dom_exception _dom_html_heading_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_heading_element **ele);
+dom_exception _dom_html_heading_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_heading_element **ele);
/* Initialise a dom_html_heading_element object */
-dom_exception _dom_html_heading_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_heading_element *ele);
+dom_exception _dom_html_heading_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_heading_element *ele);
/* Finalise a dom_html_heading_element object */
void _dom_html_heading_element_finalise(struct dom_html_heading_element *ele);
diff --git a/src/html/html_hr_element.c b/src/html/html_hr_element.c
index 7ecab7a..6d96c84 100644
--- a/src/html/html_hr_element.c
+++ b/src/html/html_hr_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_hr_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_hr_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_hr_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_hr_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_hr_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_hr_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_hr_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_hr_element object
*
- * \param doc The document object
- * \param ele The dom_html_hr_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_hr_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_hr_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_hr_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_hr_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_HR],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_hr_element.h b/src/html/html_hr_element.h
index c3cf717..63b5bbc 100644
--- a/src/html/html_hr_element.h
+++ b/src/html/html_hr_element.h
@@ -19,13 +19,13 @@ struct dom_html_hr_element {
};
/* Create a dom_html_hr_element object */
-dom_exception _dom_html_hr_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_hr_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_hr_element **ele);
/* Initialise a dom_html_hr_element object */
-dom_exception _dom_html_hr_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_hr_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_hr_element *ele);
/* Finalise a dom_html_hr_element object */
diff --git a/src/html/html_html_element.c b/src/html/html_html_element.c
index 0a91efe..dccc8a5 100644
--- a/src/html/html_html_element.c
+++ b/src/html/html_html_element.c
@@ -23,12 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_html_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_html_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_html_element **ele)
{
struct dom_node_internal *node;
@@ -42,23 +42,21 @@ dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_html_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_html_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_html_element object
*
- * \param doc The document object
- * \param ele The dom_html_html_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_html_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_html_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_html_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_html_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_HTML],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_html_element.h b/src/html/html_html_element.h
index 61eb626..78da8f1 100644
--- a/src/html/html_html_element.h
+++ b/src/html/html_html_element.h
@@ -18,13 +18,13 @@ struct dom_html_html_element {
};
/* Create a dom_html_html_element object */
-dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_html_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_html_element **ele);
/* Initialise a dom_html_html_element object */
-dom_exception _dom_html_html_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_html_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_html_element *ele);
/* Finalise a dom_html_html_element object */
diff --git a/src/html/html_iframe_element.c b/src/html/html_iframe_element.c
index 80b39a7..5ff5d26 100644
--- a/src/html/html_iframe_element.c
+++ b/src/html/html_iframe_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_iframe_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_iframe_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_iframe_element **ele)
{
struct dom_node_internal *node;
@@ -46,24 +46,21 @@ dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_iframe_element_initialise(doc,
- namespace, prefix, *ele);
+ return _dom_html_iframe_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_iframe_element object
*
- * \param doc The document object
- * \param ele The dom_html_iframe_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_iframe_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_iframe_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_iframe_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_iframe_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_IFRAME],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_iframe_element.h b/src/html/html_iframe_element.h
index 2375adf..07ed091 100644
--- a/src/html/html_iframe_element.h
+++ b/src/html/html_iframe_element.h
@@ -19,13 +19,13 @@ struct dom_html_iframe_element {
};
/* Create a dom_html_iframe_element object */
-dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_iframe_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_iframe_element **ele);
/* Initialise a dom_html_iframe_element object */
-dom_exception _dom_html_iframe_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_iframe_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_iframe_element *ele);
/* Finalise a dom_html_iframe_element object */
diff --git a/src/html/html_image_element.c b/src/html/html_image_element.c
index 4c5a5f3..db8b8b5 100644
--- a/src/html/html_image_element.c
+++ b/src/html/html_image_element.c
@@ -28,12 +28,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_image_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_image_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_image_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_image_element **ele)
{
struct dom_node_internal *node;
@@ -47,23 +47,21 @@ dom_exception _dom_html_image_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_image_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_image_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_image_element object
*
- * \param doc The document object
- * \param ele The dom_html_image_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_image_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_image_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_image_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_image_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_IMG],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_image_element.h b/src/html/html_image_element.h
index ac73a1b..d17c513 100644
--- a/src/html/html_image_element.h
+++ b/src/html/html_image_element.h
@@ -19,13 +19,13 @@ struct dom_html_image_element {
};
/* Create a dom_html_image_element object */
-dom_exception _dom_html_image_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_image_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_image_element **ele);
/* Initialise a dom_html_image_element object */
-dom_exception _dom_html_image_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_image_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_image_element *ele);
/* Finalise a dom_html_image_element object */
diff --git a/src/html/html_input_element.c b/src/html/html_input_element.c
index a90ec40..2dc0dc3 100644
--- a/src/html/html_input_element.c
+++ b/src/html/html_input_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_input_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_input_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_input_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_input_element **ele)
{
struct dom_node_internal *node;
@@ -46,18 +46,18 @@ dom_exception _dom_html_input_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_input_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_input_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_input_element object
*
- * \param doc The document object
- * \param ele The dom_html_input_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_input_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_input_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_input_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_input_element *ele)
{
ele->form = NULL;
@@ -68,9 +68,7 @@ dom_exception _dom_html_input_element_initialise(struct dom_html_document *doc,
ele->checked = false;
ele->checked_set = false;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_INPUT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_input_element.h b/src/html/html_input_element.h
index b818b2e..b445888 100644
--- a/src/html/html_input_element.h
+++ b/src/html/html_input_element.h
@@ -26,13 +26,13 @@ struct dom_html_input_element {
};
/* Create a dom_html_input_element object */
-dom_exception _dom_html_input_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_input_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_input_element **ele);
/* Initialise a dom_html_input_element object */
-dom_exception _dom_html_input_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_input_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_input_element *ele);
/* Finalise a dom_html_input_element object */
diff --git a/src/html/html_isindex_element.c b/src/html/html_isindex_element.c
index 51611b3..82c7296 100644
--- a/src/html/html_isindex_element.c
+++ b/src/html/html_isindex_element.c
@@ -26,12 +26,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_isindex_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_isindex_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_isindex_element **ele)
{
struct dom_node_internal *node;
@@ -44,23 +44,21 @@ dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_isindex_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_isindex_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_isindex_element object
*
- * \param doc The document object
- * \param ele The dom_html_isindex_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_isindex_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_isindex_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_isindex_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_ISINDEX],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_isindex_element.h b/src/html/html_isindex_element.h
index a39170b..697e2eb 100644
--- a/src/html/html_isindex_element.h
+++ b/src/html/html_isindex_element.h
@@ -18,13 +18,13 @@ struct dom_html_isindex_element {
};
/* Create a dom_html_isindex_element object */
-dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_isindex_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_isindex_element **ele);
/* Initialise a dom_html_isindex_element object */
-dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_isindex_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_isindex_element *ele);
/* Finalise a dom_html_isindex_element object */
diff --git a/src/html/html_label_element.c b/src/html/html_label_element.c
index 2303892..e5730a2 100644
--- a/src/html/html_label_element.c
+++ b/src/html/html_label_element.c
@@ -25,12 +25,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_label_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_label_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_label_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_label_element **ele)
{
struct dom_node_internal *node;
@@ -44,23 +44,21 @@ dom_exception _dom_html_label_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_label_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_label_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_label_element object
*
- * \param doc The document object
- * \param ele The dom_html_label_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_label_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_label_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_label_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_label_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_LABEL],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_label_element.h b/src/html/html_label_element.h
index 36c817e..4eb042c 100644
--- a/src/html/html_label_element.h
+++ b/src/html/html_label_element.h
@@ -19,13 +19,13 @@ struct dom_html_label_element {
};
/* Create a dom_html_label_element object */
-dom_exception _dom_html_label_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_label_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_label_element **ele);
/* Initialise a dom_html_label_element object */
-dom_exception _dom_html_label_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_label_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_label_element *ele);
/* Finalise a dom_html_label_element object */
diff --git a/src/html/html_legend_element.c b/src/html/html_legend_element.c
index 1f297e2..842916f 100644
--- a/src/html/html_legend_element.c
+++ b/src/html/html_legend_element.c
@@ -29,12 +29,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_legend_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_legend_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_legend_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_legend_element **ele)
{
struct dom_node_internal *node;
@@ -48,23 +48,21 @@ dom_exception _dom_html_legend_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_legend_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_legend_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_legend_element object
*
- * \param doc The document object
- * \param ele The dom_html_legend_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_legend_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_legend_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_legend_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_legend_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_LEGEND],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_legend_element.h b/src/html/html_legend_element.h
index a656ae4..50b9b51 100644
--- a/src/html/html_legend_element.h
+++ b/src/html/html_legend_element.h
@@ -19,13 +19,13 @@ struct dom_html_legend_element {
};
/* Create a dom_html_legend_element object */
-dom_exception _dom_html_legend_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_legend_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_legend_element **ele);
/* Initialise a dom_html_legend_element object */
-dom_exception _dom_html_legend_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_legend_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_legend_element *ele);
/* Finalise a dom_html_legend_element object */
diff --git a/src/html/html_li_element.c b/src/html/html_li_element.c
index f2c560e..3af8fea 100644
--- a/src/html/html_li_element.c
+++ b/src/html/html_li_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_li_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_li_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *lifix,
+dom_exception _dom_html_li_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_li_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_li_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_li_element_initialise(doc, namespace, lifix, *ele);
+ return _dom_html_li_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_li_element object
*
- * \param doc The document object
- * \param ele The dom_html_li_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_li_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_li_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *lifix,
+dom_exception _dom_html_li_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_li_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_LI],
- namespace, lifix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_li_element.h b/src/html/html_li_element.h
index c50a2db..74dd5af 100644
--- a/src/html/html_li_element.h
+++ b/src/html/html_li_element.h
@@ -19,13 +19,13 @@ struct dom_html_li_element {
};
/* Create a dom_html_li_element object */
-dom_exception _dom_html_li_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *lifix,
+dom_exception _dom_html_li_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_li_element **ele);
/* Initialise a dom_html_li_element object */
-dom_exception _dom_html_li_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *lifix,
+dom_exception _dom_html_li_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_li_element *ele);
/* Finalise a dom_html_li_element object */
diff --git a/src/html/html_link_element.c b/src/html/html_link_element.c
index 8022a7b..10a2e7a 100644
--- a/src/html/html_link_element.c
+++ b/src/html/html_link_element.c
@@ -25,12 +25,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_link_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_link_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_link_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_link_element **ele)
{
struct dom_node_internal *node;
@@ -44,23 +44,21 @@ dom_exception _dom_html_link_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_link_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_link_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_link_element object
*
- * \param doc The document object
- * \param ele The dom_html_link_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_link_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_link_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_link_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_link_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_LINK],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_link_element.h b/src/html/html_link_element.h
index 960dcdc..d75b0ff 100644
--- a/src/html/html_link_element.h
+++ b/src/html/html_link_element.h
@@ -18,13 +18,13 @@ struct dom_html_link_element {
};
/* Create a dom_html_link_element object */
-dom_exception _dom_html_link_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_link_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_link_element **ele);
/* Initialise a dom_html_link_element object */
-dom_exception _dom_html_link_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_link_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_link_element *ele);
/* Finalise a dom_html_link_element object */
diff --git a/src/html/html_map_element.c b/src/html/html_map_element.c
index d20c3ce..980f002 100644
--- a/src/html/html_map_element.c
+++ b/src/html/html_map_element.c
@@ -29,12 +29,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_map_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_map_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_map_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_map_element **ele)
{
struct dom_node_internal *node;
@@ -48,23 +48,21 @@ dom_exception _dom_html_map_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_map_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_map_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_map_element object
*
- * \param doc The document object
- * \param ele The dom_html_map_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_map_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_map_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_map_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_map_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_MAP],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_map_element.h b/src/html/html_map_element.h
index 0230808..ede8a71 100644
--- a/src/html/html_map_element.h
+++ b/src/html/html_map_element.h
@@ -19,13 +19,13 @@ struct dom_html_map_element {
};
/* Create a dom_html_map_element object */
-dom_exception _dom_html_map_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_map_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_map_element **ele);
/* Initialise a dom_html_map_element object */
-dom_exception _dom_html_map_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_map_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_map_element *ele);
/* Finalise a dom_html_map_element object */
diff --git a/src/html/html_menu_element.c b/src/html/html_menu_element.c
index aadd823..1226c70 100644
--- a/src/html/html_menu_element.c
+++ b/src/html/html_menu_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_menu_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_menu_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_menu_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_menu_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_menu_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_menu_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_menu_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_menu_element object
*
- * \param doc The document object
- * \param ele The dom_html_menu_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_menu_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_menu_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_menu_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_menu_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_MENU],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_menu_element.h b/src/html/html_menu_element.h
index cb84e3d..f206315 100644
--- a/src/html/html_menu_element.h
+++ b/src/html/html_menu_element.h
@@ -19,13 +19,13 @@ struct dom_html_menu_element {
};
/* Create a dom_html_menu_element object */
-dom_exception _dom_html_menu_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_menu_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_menu_element **ele);
/* Initialise a dom_html_menu_element object */
-dom_exception _dom_html_menu_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_menu_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_menu_element *ele);
/* Finalise a dom_html_menu_element object */
diff --git a/src/html/html_meta_element.c b/src/html/html_meta_element.c
index 05e6a4f..56eaa34 100644
--- a/src/html/html_meta_element.c
+++ b/src/html/html_meta_element.c
@@ -23,12 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_meta_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_meta_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_meta_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_meta_element **ele)
{
struct dom_node_internal *node;
@@ -42,23 +42,21 @@ dom_exception _dom_html_meta_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_meta_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_meta_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_meta_element object
*
- * \param doc The document object
- * \param ele The dom_html_meta_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_meta_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_meta_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_meta_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_meta_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_META],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_meta_element.h b/src/html/html_meta_element.h
index d4a1076..d92e5fd 100644
--- a/src/html/html_meta_element.h
+++ b/src/html/html_meta_element.h
@@ -18,13 +18,13 @@ struct dom_html_meta_element {
};
/* Create a dom_html_meta_element object */
-dom_exception _dom_html_meta_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_meta_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_meta_element **ele);
/* Initialise a dom_html_meta_element object */
-dom_exception _dom_html_meta_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_meta_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_meta_element *ele);
/* Finalise a dom_html_meta_element object */
diff --git a/src/html/html_mod_element.c b/src/html/html_mod_element.c
index 20f80d1..d952a1b 100644
--- a/src/html/html_mod_element.c
+++ b/src/html/html_mod_element.c
@@ -27,13 +27,13 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_mod_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_mod_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_mod_element **ele)
+dom_exception _dom_html_mod_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_mod_element **ele)
{
struct dom_node_internal *node;
@@ -46,22 +46,21 @@ dom_exception _dom_html_mod_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_mod_element_initialise(doc, tag_name, namespace, prefix, *ele);
+ return _dom_html_mod_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_mod_element object
*
- * \param doc The document object
- * \param ele The dom_html_mod_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_mod_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_mod_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_mod_element *ele)
+dom_exception _dom_html_mod_element_initialise(
+ struct dom_html_element_create_params *params,
+ struct dom_html_mod_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_mod_element.h b/src/html/html_mod_element.h
index 9df07d5..0e4c49e 100644
--- a/src/html/html_mod_element.h
+++ b/src/html/html_mod_element.h
@@ -19,13 +19,13 @@ struct dom_html_mod_element {
};
/* Create a dom_html_mod_element object */
-dom_exception _dom_html_mod_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace,
- dom_string *prefix, struct dom_html_mod_element **ele);
+dom_exception _dom_html_mod_element_create(
+ struct dom_html_element_create_params *params,
+ struct dom_html_mod_element **ele);
/* Initialise a dom_html_mod_element object */
-dom_exception _dom_html_mod_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_mod_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_mod_element *ele);
/* Finalise a dom_html_mod_element object */
diff --git a/src/html/html_object_element.c b/src/html/html_object_element.c
index 27d3f5a..914510d 100644
--- a/src/html/html_object_element.c
+++ b/src/html/html_object_element.c
@@ -30,12 +30,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_object_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_object_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_object_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_object_element **ele)
{
struct dom_node_internal *node;
@@ -49,23 +49,21 @@ dom_exception _dom_html_object_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_object_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_object_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_object_element object
*
- * \param doc The document object
- * \param ele The dom_html_object_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_object_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_object_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_object_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_object_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_OBJECT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_object_element.h b/src/html/html_object_element.h
index 5170f2c..b569c9d 100644
--- a/src/html/html_object_element.h
+++ b/src/html/html_object_element.h
@@ -19,13 +19,13 @@ struct dom_html_object_element {
};
/* Create a dom_html_object_element object */
-dom_exception _dom_html_object_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_object_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_object_element **ele);
/* Initialise a dom_html_object_element object */
-dom_exception _dom_html_object_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_object_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_object_element *ele);
/* Finalise a dom_html_object_element object */
diff --git a/src/html/html_olist_element.c b/src/html/html_olist_element.c
index 6595ea5..411cc98 100644
--- a/src/html/html_olist_element.c
+++ b/src/html/html_olist_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_olist_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_olist_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *o_listfix,
+dom_exception _dom_html_olist_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_olist_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_olist_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_olist_element_initialise(doc, namespace, o_listfix, *ele);
+ return _dom_html_olist_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_olist_element object
*
- * \param doc The document object
- * \param ele The dom_html_olist_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_olist_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_olist_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *o_listfix,
+dom_exception _dom_html_olist_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_olist_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_OL],
- namespace, o_listfix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_olist_element.h b/src/html/html_olist_element.h
index 70601e8..b06b277 100644
--- a/src/html/html_olist_element.h
+++ b/src/html/html_olist_element.h
@@ -19,13 +19,13 @@ struct dom_html_olist_element {
};
/* Create a dom_html_olist_element object */
-dom_exception _dom_html_olist_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *o_listfix,
+dom_exception _dom_html_olist_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_olist_element **ele);
/* Initialise a dom_html_olist_element object */
-dom_exception _dom_html_olist_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *o_listfix,
+dom_exception _dom_html_olist_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_olist_element *ele);
/* Finalise a dom_html_olist_element object */
diff --git a/src/html/html_opt_group_element.c b/src/html/html_opt_group_element.c
index cdee6e7..0181111 100644
--- a/src/html/html_opt_group_element.c
+++ b/src/html/html_opt_group_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_opt_group_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_opt_group_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_opt_group_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_opt_group_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_opt_group_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_opt_group_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_opt_group_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_opt_group_element object
*
- * \param doc The document object
- * \param ele The dom_html_opt_group_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_opt_group_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_opt_group_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_opt_group_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_opt_group_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_OPTGROUP],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_opt_group_element.h b/src/html/html_opt_group_element.h
index c7f8c13..94dcf9e 100644
--- a/src/html/html_opt_group_element.h
+++ b/src/html/html_opt_group_element.h
@@ -18,13 +18,13 @@ struct dom_html_opt_group_element {
};
/* Create a dom_html_opt_group_element object */
-dom_exception _dom_html_opt_group_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_opt_group_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_opt_group_element **ele);
/* Initialise a dom_html_opt_group_element object */
-dom_exception _dom_html_opt_group_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_opt_group_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_opt_group_element *ele);
/* Finalise a dom_html_opt_group_element object */
diff --git a/src/html/html_option_element.c b/src/html/html_option_element.c
index e352562..a4dec3c 100644
--- a/src/html/html_option_element.c
+++ b/src/html/html_option_element.c
@@ -29,12 +29,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_option_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_option_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_option_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_option_element **ele)
{
struct dom_node_internal *node;
@@ -48,26 +48,24 @@ dom_exception _dom_html_option_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_option_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_option_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_option_element object
*
- * \param doc The document object
- * \param ele The dom_html_option_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_option_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_option_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_option_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_option_element *ele)
{
ele->default_selected = false;
ele->default_selected_set = false;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_OPTION],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_option_element.h b/src/html/html_option_element.h
index bc8ff6f..b1f8b64 100644
--- a/src/html/html_option_element.h
+++ b/src/html/html_option_element.h
@@ -20,13 +20,13 @@ struct dom_html_option_element {
};
/* Create a dom_html_option_element object */
-dom_exception _dom_html_option_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_option_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_option_element **ele);
/* Initialise a dom_html_option_element object */
-dom_exception _dom_html_option_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_option_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_option_element *ele);
/* Finalise a dom_html_option_element object */
diff --git a/src/html/html_paragraph_element.c b/src/html/html_paragraph_element.c
index 63c50b2..bb8c1b3 100644
--- a/src/html/html_paragraph_element.c
+++ b/src/html/html_paragraph_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_paragraph_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_paragraph_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_paragraph_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_paragraph_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_paragraph_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_paragraph_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_paragraph_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_paragraph_element object
*
- * \param doc The document object
- * \param ele The dom_html_paragraph_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_paragraph_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_paragraph_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_paragraph_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_paragraph_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_P],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_paragraph_element.h b/src/html/html_paragraph_element.h
index b6627dd..7495a76 100644
--- a/src/html/html_paragraph_element.h
+++ b/src/html/html_paragraph_element.h
@@ -19,13 +19,13 @@ struct dom_html_paragraph_element {
};
/* Create a dom_html_paragraph_element object */
-dom_exception _dom_html_paragraph_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_paragraph_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_paragraph_element **ele);
/* Initialise a dom_html_paragraph_element object */
-dom_exception _dom_html_paragraph_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_paragraph_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_paragraph_element *ele);
/* Finalise a dom_html_paragraph_element object */
diff --git a/src/html/html_param_element.c b/src/html/html_param_element.c
index a858717..4c7ee89 100644
--- a/src/html/html_param_element.c
+++ b/src/html/html_param_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_param_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_param_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_param_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_param_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_param_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_param_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_param_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_param_element object
*
- * \param doc The document object
- * \param ele The dom_html_param_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_param_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_param_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_param_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_param_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_PARAM],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_param_element.h b/src/html/html_param_element.h
index 2cd8150..f56a6a5 100644
--- a/src/html/html_param_element.h
+++ b/src/html/html_param_element.h
@@ -19,13 +19,13 @@ struct dom_html_param_element {
};
/* Create a dom_html_param_element object */
-dom_exception _dom_html_param_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_param_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_param_element **ele);
/* Initialise a dom_html_param_element object */
-dom_exception _dom_html_param_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_param_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_param_element *ele);
/* Finalise a dom_html_param_element object */
diff --git a/src/html/html_pre_element.c b/src/html/html_pre_element.c
index c5f7ced..502e4d8 100644
--- a/src/html/html_pre_element.c
+++ b/src/html/html_pre_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_pre_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_pre_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_pre_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_pre_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_pre_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_pre_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_pre_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_pre_element object
*
- * \param doc The document object
- * \param ele The dom_html_pre_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_pre_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_pre_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_pre_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_pre_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_PRE],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_pre_element.h b/src/html/html_pre_element.h
index 75d8df8..d9dc6d8 100644
--- a/src/html/html_pre_element.h
+++ b/src/html/html_pre_element.h
@@ -19,13 +19,13 @@ struct dom_html_pre_element {
};
/* Create a dom_html_pre_element object */
-dom_exception _dom_html_pre_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_pre_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_pre_element **ele);
/* Initialise a dom_html_pre_element object */
-dom_exception _dom_html_pre_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_pre_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_pre_element *ele);
/* Finalise a dom_html_pre_element object */
diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c
index 17961c0..f2263c3 100644
--- a/src/html/html_quote_element.c
+++ b/src/html/html_quote_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_quote_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_quote_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_quote_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_quote_element_initialise(doc, tag_name,
- namespace, prefix, *ele);
+ return _dom_html_quote_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_quote_element object
*
- * \param doc The document object
- * \param ele The dom_html_quote_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_quote_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_quote_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_quote_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_quote_element.h b/src/html/html_quote_element.h
index ee79ee1..f62f2ec 100644
--- a/src/html/html_quote_element.h
+++ b/src/html/html_quote_element.h
@@ -19,13 +19,13 @@ struct dom_html_quote_element {
};
/* Create a dom_html_quote_element object */
-dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_quote_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_quote_element **ele);
/* Initialise a dom_html_quote_element object */
-dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_quote_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_quote_element *ele);
/* Finalise a dom_html_quote_element object */
diff --git a/src/html/html_script_element.c b/src/html/html_script_element.c
index 3bdf8cd..534c390 100644
--- a/src/html/html_script_element.c
+++ b/src/html/html_script_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_script_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_script_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_script_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_script_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_script_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_script_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_script_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_script_element object
*
- * \param doc The document object
- * \param ele The dom_html_script_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_script_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_script_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_script_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_script_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_SCRIPT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_script_element.h b/src/html/html_script_element.h
index dcb7b72..c15e445 100644
--- a/src/html/html_script_element.h
+++ b/src/html/html_script_element.h
@@ -19,13 +19,13 @@ struct dom_html_script_element {
};
/* Create a dom_html_script_element object */
-dom_exception _dom_html_script_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_script_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_script_element **ele);
/* Initialise a dom_html_script_element object */
-dom_exception _dom_html_script_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_script_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_script_element *ele);
/* Finalise a dom_html_script_element object */
diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c
index 438a365..fe06e5d 100644
--- a/src/html/html_select_element.c
+++ b/src/html/html_select_element.c
@@ -29,12 +29,12 @@ static bool is_option(struct dom_node_internal *node, void *ctx);
/**
* Create a dom_html_select_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_select_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_select_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_select_element **ele)
{
struct dom_node_internal *node;
@@ -48,25 +48,23 @@ dom_exception _dom_html_select_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_select_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_select_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_select_element object
*
- * \param doc The document object
- * \param ele The dom_html_select_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_select_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_select_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_select_element *ele)
{
ele->form = NULL;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_SELECT],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_select_element.h b/src/html/html_select_element.h
index b0eaa91..d7dc0a4 100644
--- a/src/html/html_select_element.h
+++ b/src/html/html_select_element.h
@@ -23,13 +23,13 @@ struct dom_html_select_element {
};
/* Create a dom_html_select_element object */
-dom_exception _dom_html_select_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_select_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_select_element **ele);
/* Initialise a dom_html_select_element object */
-dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_select_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_select_element *ele);
/* Finalise a dom_html_select_element object */
diff --git a/src/html/html_style_element.c b/src/html/html_style_element.c
index c97955e..7434096 100644
--- a/src/html/html_style_element.c
+++ b/src/html/html_style_element.c
@@ -23,11 +23,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_style_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_style_element_create(struct dom_html_document *doc,
+dom_exception _dom_html_style_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_style_element **ele)
{
struct dom_node_internal *node;
@@ -41,31 +42,21 @@ dom_exception _dom_html_style_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_style_element_initialise(doc, *ele);
+ return _dom_html_style_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_style_element object
*
- * \param doc The document object
- * \param ele The dom_html_style_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_style_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc,
+dom_exception _dom_html_style_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_style_element *ele)
{
- dom_string *name = NULL;
- dom_exception err;
-
- err = dom_string_create((const uint8_t *) "STYLE", SLEN("STYLE"),
- &name);
- if (err != DOM_NO_ERR)
- return err;
-
- err = _dom_html_element_initialise(doc, &ele->base, name, NULL, NULL);
- dom_string_unref(name);
-
- return err;
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_style_element.h b/src/html/html_style_element.h
index e7a47e5..e21b9cf 100644
--- a/src/html/html_style_element.h
+++ b/src/html/html_style_element.h
@@ -18,11 +18,13 @@ struct dom_html_style_element {
};
/* Create a dom_html_style_element object */
-dom_exception _dom_html_style_element_create(struct dom_html_document *doc,
+dom_exception _dom_html_style_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_style_element **ele);
/* Initialise a dom_html_style_element object */
-dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc,
+dom_exception _dom_html_style_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_style_element *ele);
/* Finalise a dom_html_style_element object */
diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c
index cdf1714..2139272 100644
--- a/src/html/html_table_element.c
+++ b/src/html/html_table_element.c
@@ -31,12 +31,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_element **ele)
{
struct dom_node_internal *node;
@@ -50,23 +50,21 @@ dom_exception _dom_html_table_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_table_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_element object
*
- * \param doc The document object
- * \param ele The dom_html_table_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TABLE],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
@@ -432,13 +430,18 @@ dom_exception dom_html_table_element_create_caption(
return exp;
}
if((*caption) == NULL) {
- dom_html_document *doc = (dom_html_document *)
- ((dom_node_internal *) element)->owner;
dom_node *new_caption;
+ dom_html_document *doc = (dom_html_document *)
+ ((dom_node_internal *) element)->owner;
- exp = _dom_html_table_caption_element_create(doc,
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_caption_element_create(¶ms,
(dom_html_table_caption_element **)caption);
if(exp != DOM_NO_ERR) {
dom_node_unref(*caption);
@@ -499,14 +502,18 @@ dom_exception dom_html_table_element_create_t_foot(
return exp;
if ((*t_foot) == NULL) {
- dom_html_document *doc = (dom_html_document *)
- ((dom_node_internal *) element)->owner;
dom_node *new_t_foot;
+ dom_html_document *doc = (dom_html_document *)
+ ((dom_node_internal *) element)->owner;
- exp = _dom_html_table_section_element_create(doc,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_section_element_create(¶ms,
(dom_html_table_section_element **)t_foot);
if (exp != DOM_NO_ERR) {
dom_node_unref(*t_foot);
@@ -572,14 +579,18 @@ dom_exception dom_html_table_element_create_t_head(
}
if((*t_head) == NULL) {
dom_exception exp;
- dom_html_document *doc = (dom_html_document *)
- ((dom_node_internal *) element)->owner;
dom_node *new_t_head;
+ dom_html_document *doc = (dom_html_document *)
+ ((dom_node_internal *) element)->owner;
- exp = _dom_html_table_section_element_create(doc,
- doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD],
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_section_element_create(¶ms,
(dom_html_table_section_element **)t_head);
if(exp != DOM_NO_ERR) {
dom_node_unref(*t_head);
@@ -650,15 +661,18 @@ dom_exception dom_html_table_element_create_t_body(
return exp;
}
if(len == 0) {
- dom_html_document *doc = (dom_html_document *)
- ((dom_node_internal *) element)->owner;
dom_node *new_t_body;
+ dom_html_document *doc = (dom_html_document *)
+ ((dom_node_internal *) element)->owner;
- exp = _dom_html_table_section_element_create(doc,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
- t_body);
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_section_element_create(¶ms, t_body);
if(exp != DOM_NO_ERR) {
dom_node_unref(*t_body);
dom_html_collection_unref(t_bodies);
@@ -693,9 +707,16 @@ dom_exception dom_html_table_element_insert_row(
dom_exception exp;
dom_html_collection* rows;
uint32_t len;
- dom_html_document *doc = (dom_html_document *)
+ dom_html_document *doc = (dom_html_document *)
((dom_node_internal *) element)->owner;
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
exp = dom_html_table_element_get_rows(element,
&rows);
if(exp != DOM_NO_ERR) {
@@ -708,9 +729,7 @@ dom_exception dom_html_table_element_insert_row(
dom_html_collection_unref(rows);
return exp;
}
- exp = _dom_html_table_row_element_create(doc,
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+ exp = _dom_html_table_row_element_create(¶ms,
(dom_html_table_row_element **)row);
if(exp != DOM_NO_ERR) {
dom_node_unref(*row);
diff --git a/src/html/html_table_element.h b/src/html/html_table_element.h
index 955ab88..4e4747c 100644
--- a/src/html/html_table_element.h
+++ b/src/html/html_table_element.h
@@ -18,13 +18,13 @@ struct dom_html_table_element {
};
/* Create a dom_html_table_element object */
-dom_exception _dom_html_table_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_element **ele);
/* Initialise a dom_html_table_element object */
-dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_element *ele);
/* Finalise a dom_html_table_element object */
diff --git a/src/html/html_tablecaption_element.c b/src/html/html_tablecaption_element.c
index ddb2d5c..5a4b1b1 100644
--- a/src/html/html_tablecaption_element.c
+++ b/src/html/html_tablecaption_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_caption_element object
*
- * \table_caption doc The document object
- * \table_caption ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_caption_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_caption_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_caption_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_table_caption_element_create(struct dom_html_document *d
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_caption_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_table_caption_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_caption_element object
*
- * \table_caption doc The document object
- * \table_caption ele The dom_html_table_caption_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_caption_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_caption_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_caption_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_caption_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_tablecaption_element.h b/src/html/html_tablecaption_element.h
index b1cfd3b..971c55c 100644
--- a/src/html/html_tablecaption_element.h
+++ b/src/html/html_tablecaption_element.h
@@ -19,13 +19,13 @@ struct dom_html_table_caption_element {
};
/* Create a dom_html_table_caption_element object */
-dom_exception _dom_html_table_caption_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_caption_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_caption_element **ele);
/* Initialise a dom_html_table_caption_element object */
-dom_exception _dom_html_table_caption_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_caption_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_caption_element *ele);
/* Finalise a dom_html_table_caption_element object */
diff --git a/src/html/html_tablecell_element.c b/src/html/html_tablecell_element.c
index c881440..c106b4f 100644
--- a/src/html/html_tablecell_element.c
+++ b/src/html/html_tablecell_element.c
@@ -28,12 +28,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_cell_element table_cell
*
- * \param doc The document table_cell
- * \param ele The returned element table_cell
+ * \param params The html element creation parameters
+ * \param ele The returned element table_cell
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_cell_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_cell_element **ele)
{
struct dom_node_internal *node;
@@ -47,24 +47,21 @@ dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_cell_element_initialise(doc, tag_name,
- namespace, prefix, *ele);
+ return _dom_html_table_cell_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_cell_element table_cell
*
- * \param doc The document table_cell
- * \param ele The dom_html_table_cell_element table_cell
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_cell_element table_cell
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_cell_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_cell_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_cell_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name,
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_tablecell_element.h b/src/html/html_tablecell_element.h
index 5a48439..5f40373 100644
--- a/src/html/html_tablecell_element.h
+++ b/src/html/html_tablecell_element.h
@@ -19,13 +19,13 @@ struct dom_html_table_cell_element {
};
/* Create a dom_html_table_cell_element object */
-dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_cell_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_cell_element **ele);
/* Initialise a dom_html_table_cell_element object */
-dom_exception _dom_html_table_cell_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_cell_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_cell_element *ele);
/* Finalise a dom_html_table_cell_element object */
diff --git a/src/html/html_tablecol_element.c b/src/html/html_tablecol_element.c
index d3d985b..5df6d5b 100644
--- a/src/html/html_tablecol_element.c
+++ b/src/html/html_tablecol_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_col_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_col_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_col_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_col_element_initialise(doc, tag_name,
- namespace, prefix, *ele);
+ return _dom_html_table_col_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_col_element object
*
- * \param doc The document object
- * \param ele The dom_html_table_col_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_col_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_col_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_col_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_col_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_tablecol_element.h b/src/html/html_tablecol_element.h
index a8e6fa7..adfca2f 100644
--- a/src/html/html_tablecol_element.h
+++ b/src/html/html_tablecol_element.h
@@ -19,13 +19,13 @@ struct dom_html_table_col_element {
};
/* Create a dom_html_table_col_element object */
-dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_col_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_col_element **ele);
/* Initialise a dom_html_table_col_element object */
-dom_exception _dom_html_table_col_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_col_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_col_element *ele);
/* Finalise a dom_html_table_col_element object */
diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c
index 0a0fb1e..8773452 100644
--- a/src/html/html_tablerow_element.c
+++ b/src/html/html_tablerow_element.c
@@ -30,12 +30,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_row_element table_row
*
- * \param doc The document table_row
- * \param ele The returned element table_row
+ * \param params The html element creation parameters
+ * \param ele The returned element table_row
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_row_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_row_element **ele)
{
struct dom_node_internal *node;
@@ -49,24 +49,21 @@ dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_row_element_initialise(doc,
- namespace, prefix, *ele);
+ return _dom_html_table_row_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_row_element table_row
*
- * \param doc The document table_row
- * \param ele The dom_html_table_row_element table_row
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_row_element table_row
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_row_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_row_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
@@ -335,11 +332,15 @@ dom_exception dom_html_table_row_element_insert_cell(
dom_html_collection *cells; /*< The collection of cells in input table_row_element*/
uint32_t len; /*< The size of the cell collection */
dom_exception exp; /*< Variable for getting the exceptions*/
- exp = _dom_html_element_create(doc,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TD],
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
- cell);
+
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TD],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_element_create(¶ms, cell);
if (exp != DOM_NO_ERR)
return exp;
diff --git a/src/html/html_tablerow_element.h b/src/html/html_tablerow_element.h
index 2401790..ee081ba 100644
--- a/src/html/html_tablerow_element.h
+++ b/src/html/html_tablerow_element.h
@@ -18,13 +18,13 @@ struct dom_html_table_row_element {
};
/* Create a dom_html_table_row_element object */
-dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_row_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_row_element **ele);
/* Initialise a dom_html_table_row_element object */
-dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_row_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_row_element *ele);
/* Finalise a dom_html_table_row_element object */
diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c
index 9718612..fadc0ed 100644
--- a/src/html/html_tablesection_element.c
+++ b/src/html/html_tablesection_element.c
@@ -31,12 +31,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_table_section_element object
*
- * \table_section doc The document object
- * \table_section ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_section_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_section_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_section_element **ele)
{
struct dom_node_internal *node;
@@ -50,24 +50,21 @@ dom_exception _dom_html_table_section_element_create(struct dom_html_document *d
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_section_element_initialise(doc, tag_name,
- namespace, prefix, *ele);
+ return _dom_html_table_section_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_table_section_element object
*
- * \table_section doc The document object
- * \table_section ele The dom_html_table_section_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_table_section_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_table_section_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_section_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_section_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- tag_name,
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
@@ -211,9 +208,15 @@ dom_exception dom_html_table_section_element_insert_row(
dom_html_collection *rows; /*< The collection of rows in input table_section_element*/
uint32_t len; /*< The size of the row collection */
dom_exception exp; /*< Variable for getting the exceptions*/
- exp = _dom_html_table_row_element_create(doc,
- ((dom_node_internal *)element)->namespace,
- ((dom_node_internal *)element)->prefix,
+
+ struct dom_html_element_create_params params = {
+ .doc = doc,
+ .name = doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
+ .namespace = ((dom_node_internal *)element)->namespace,
+ .prefix = ((dom_node_internal *)element)->prefix
+ };
+
+ exp = _dom_html_table_row_element_create(¶ms,
(dom_html_table_row_element **)new_row);
if(exp != DOM_NO_ERR)
return exp;
diff --git a/src/html/html_tablesection_element.h b/src/html/html_tablesection_element.h
index 387882a..6985abd 100644
--- a/src/html/html_tablesection_element.h
+++ b/src/html/html_tablesection_element.h
@@ -19,13 +19,13 @@ struct dom_html_table_section_element {
};
/* Create a dom_html_table_section_element object */
-dom_exception _dom_html_table_section_element_create(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_section_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_table_section_element **ele);
/* Initialise a dom_html_table_section_element object */
-dom_exception _dom_html_table_section_element_initialise(struct dom_html_document *doc,
- dom_string *tag_name, dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_table_section_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_table_section_element *ele);
/* Finalise a dom_html_table_section_element object */
diff --git a/src/html/html_text_area_element.c b/src/html/html_text_area_element.c
index cfc3bed..bbc9789 100644
--- a/src/html/html_text_area_element.c
+++ b/src/html/html_text_area_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_text_area_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_text_area_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_text_area_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_text_area_element **ele)
{
struct dom_node_internal *node;
@@ -46,18 +46,18 @@ dom_exception _dom_html_text_area_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_text_area_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_text_area_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_text_area_element object
*
- * \param doc The document object
- * \param ele The dom_html_text_area_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_text_area_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_text_area_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_text_area_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_text_area_element *ele)
{
ele->form = NULL;
@@ -66,9 +66,7 @@ dom_exception _dom_html_text_area_element_initialise(struct dom_html_document *d
ele->value = NULL;
ele->value_set = false;
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TEXTAREA],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_text_area_element.h b/src/html/html_text_area_element.h
index a115e85..5c7b420 100644
--- a/src/html/html_text_area_element.h
+++ b/src/html/html_text_area_element.h
@@ -24,13 +24,13 @@ struct dom_html_text_area_element {
};
/* Create a dom_html_text_area_element object */
-dom_exception _dom_html_text_area_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_text_area_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_text_area_element **ele);
/* Initialise a dom_html_text_area_element object */
-dom_exception _dom_html_text_area_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_text_area_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_text_area_element *ele);
/* Finalise a dom_html_text_area_element object */
diff --git a/src/html/html_title_element.c b/src/html/html_title_element.c
index e2107c8..02c7820 100644
--- a/src/html/html_title_element.c
+++ b/src/html/html_title_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_title_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_title_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_title_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_title_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_title_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_title_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_title_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_title_element object
*
- * \param doc The document object
- * \param ele The dom_html_title_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_title_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_title_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_title_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_title_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_TITLE],
- namespace, prefix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_title_element.h b/src/html/html_title_element.h
index 51adaf9..1a7653a 100644
--- a/src/html/html_title_element.h
+++ b/src/html/html_title_element.h
@@ -18,13 +18,13 @@ struct dom_html_title_element {
};
/* Create a dom_html_title_element object */
-dom_exception _dom_html_title_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_title_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_title_element **ele);
/* Initialise a dom_html_title_element object */
-dom_exception _dom_html_title_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_title_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_title_element *ele);
/* Finalise a dom_html_title_element object */
diff --git a/src/html/html_ulist_element.c b/src/html/html_ulist_element.c
index 17d31a9..624c85f 100644
--- a/src/html/html_ulist_element.c
+++ b/src/html/html_ulist_element.c
@@ -27,12 +27,12 @@ static struct dom_element_protected_vtable _protect_vtable = {
/**
* Create a dom_html_u_list_element object
*
- * \param doc The document object
- * \param ele The returned element object
+ * \param params The html element creation parameters
+ * \param ele The returned element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_u_list_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *u_listfix,
+dom_exception _dom_html_u_list_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_u_list_element **ele)
{
struct dom_node_internal *node;
@@ -46,23 +46,21 @@ dom_exception _dom_html_u_list_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_u_list_element_initialise(doc, namespace, u_listfix, *ele);
+ return _dom_html_u_list_element_initialise(params, *ele);
}
/**
* Initialise a dom_html_u_list_element object
*
- * \param doc The document object
- * \param ele The dom_html_u_list_element object
+ * \param params The html element creation parameters
+ * \param ele The dom_html_u_list_element object
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
-dom_exception _dom_html_u_list_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *u_listfix,
+dom_exception _dom_html_u_list_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_u_list_element *ele)
{
- return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_UL],
- namespace, u_listfix);
+ return _dom_html_element_initialise(params, &ele->base);
}
/**
diff --git a/src/html/html_ulist_element.h b/src/html/html_ulist_element.h
index 7e03f47..6e7e6f9 100644
--- a/src/html/html_ulist_element.h
+++ b/src/html/html_ulist_element.h
@@ -19,13 +19,13 @@ struct dom_html_u_list_element {
};
/* Create a dom_html_u_list_element object */
-dom_exception _dom_html_u_list_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_u_list_element_create(
+ struct dom_html_element_create_params *params,
struct dom_html_u_list_element **ele);
/* Initialise a dom_html_u_list_element object */
-dom_exception _dom_html_u_list_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+dom_exception _dom_html_u_list_element_initialise(
+ struct dom_html_element_create_params *params,
struct dom_html_u_list_element *ele);
/* Finalise a dom_html_u_list_element object */
--
Document Object Model library
7 years, 10 months
libdom: branch master updated. release/0.2.0-19-g809a7dc
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/libdom.git/shortlog/809a7dcd1c803065eeb8ea...
...commit http://git.netsurf-browser.org/libdom.git/commit/809a7dcd1c803065eeb8ea39...
...tree http://git.netsurf-browser.org/libdom.git/tree/809a7dcd1c803065eeb8ea39a6...
The branch, master has been updated
via 809a7dcd1c803065eeb8ea39a605b6e0e2ec5241 (commit)
via 4bd00fd2f2e1b4951be2b168261e1bc92f844c24 (commit)
from 9def0a44e12c1469e0e4af2881242f5f1df9b3a0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/libdom.git/commit/?id=809a7dcd1c803065eeb8...
commit 809a7dcd1c803065eeb8ea39a605b6e0e2ec5241
Merge: 9def0a4 4bd00fd
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Merge branch 'tlsa/html-element-type'
-----------------------------------------------------------------------
Summary of changes:
src/html/html_document.c | 3 ++-
src/html/html_quote_element.c | 10 +++++-----
src/html/html_quote_element.h | 4 ++--
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 3d2a7f3..839cf99 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -606,7 +606,8 @@ _dom_html_document_create_element_internal(
break;
case DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE:
case DOM_HTML_ELEMENT_TYPE_Q:
- exc = _dom_html_quote_element_create(html, namespace, prefix,
+ exc = _dom_html_quote_element_create(html, tag_name,
+ namespace, prefix,
(dom_html_quote_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_PRE:
diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c
index 988ef5b..17961c0 100644
--- a/src/html/html_quote_element.c
+++ b/src/html/html_quote_element.c
@@ -32,7 +32,7 @@ static struct dom_element_protected_vtable _protect_vtable = {
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element **ele)
{
struct dom_node_internal *node;
@@ -46,7 +46,8 @@ dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_quote_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_quote_element_initialise(doc, tag_name,
+ namespace, prefix, *ele);
}
/**
@@ -57,12 +58,11 @@ dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_Q],
- namespace, prefix);
+ tag_name, namespace, prefix);
}
/**
diff --git a/src/html/html_quote_element.h b/src/html/html_quote_element.h
index a8bfbb2..ee79ee1 100644
--- a/src/html/html_quote_element.h
+++ b/src/html/html_quote_element.h
@@ -20,12 +20,12 @@ struct dom_html_quote_element {
/* Create a dom_html_quote_element object */
dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element **ele);
/* Initialise a dom_html_quote_element object */
dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element *ele);
/* Finalise a dom_html_quote_element object */
--
Document Object Model library
7 years, 10 months
libdom: branch tlsa/html-element-type updated. release/0.2.0-18-g4bd00fd
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/libdom.git/shortlog/4bd00fd2f2e1b4951be2b1...
...commit http://git.netsurf-browser.org/libdom.git/commit/4bd00fd2f2e1b4951be2b168...
...tree http://git.netsurf-browser.org/libdom.git/tree/4bd00fd2f2e1b4951be2b16826...
The branch, tlsa/html-element-type has been updated
via 4bd00fd2f2e1b4951be2b168261e1bc92f844c24 (commit)
via 9def0a44e12c1469e0e4af2881242f5f1df9b3a0 (commit)
from 5b6c1914915e4c6c1b69e4c56cd60705e40daff3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/libdom.git/commit/?id=4bd00fd2f2e1b4951be2...
commit 4bd00fd2f2e1b4951be2b168261e1bc92f844c24
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Fix: Pass tag_name through to HTMLQuoteElement initialiser.
It needs to be given the tag_name, because it could have been
created by a Q or BLOCKQUOTE element.
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 3d2a7f3..839cf99 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -606,7 +606,8 @@ _dom_html_document_create_element_internal(
break;
case DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE:
case DOM_HTML_ELEMENT_TYPE_Q:
- exc = _dom_html_quote_element_create(html, namespace, prefix,
+ exc = _dom_html_quote_element_create(html, tag_name,
+ namespace, prefix,
(dom_html_quote_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_PRE:
diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c
index 988ef5b..17961c0 100644
--- a/src/html/html_quote_element.c
+++ b/src/html/html_quote_element.c
@@ -32,7 +32,7 @@ static struct dom_element_protected_vtable _protect_vtable = {
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element **ele)
{
struct dom_node_internal *node;
@@ -46,7 +46,8 @@ dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_quote_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_quote_element_initialise(doc, tag_name,
+ namespace, prefix, *ele);
}
/**
@@ -57,12 +58,11 @@ dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_Q],
- namespace, prefix);
+ tag_name, namespace, prefix);
}
/**
diff --git a/src/html/html_quote_element.h b/src/html/html_quote_element.h
index a8bfbb2..ee79ee1 100644
--- a/src/html/html_quote_element.h
+++ b/src/html/html_quote_element.h
@@ -20,12 +20,12 @@ struct dom_html_quote_element {
/* Create a dom_html_quote_element object */
dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element **ele);
/* Initialise a dom_html_quote_element object */
dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element *ele);
/* Finalise a dom_html_quote_element object */
-----------------------------------------------------------------------
Summary of changes:
src/html/html_document.c | 3 ++-
src/html/html_quote_element.c | 10 +++++-----
src/html/html_quote_element.h | 4 ++--
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 3d2a7f3..839cf99 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -606,7 +606,8 @@ _dom_html_document_create_element_internal(
break;
case DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE:
case DOM_HTML_ELEMENT_TYPE_Q:
- exc = _dom_html_quote_element_create(html, namespace, prefix,
+ exc = _dom_html_quote_element_create(html, tag_name,
+ namespace, prefix,
(dom_html_quote_element **) result);
break;
case DOM_HTML_ELEMENT_TYPE_PRE:
diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c
index 988ef5b..17961c0 100644
--- a/src/html/html_quote_element.c
+++ b/src/html/html_quote_element.c
@@ -32,7 +32,7 @@ static struct dom_element_protected_vtable _protect_vtable = {
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element **ele)
{
struct dom_node_internal *node;
@@ -46,7 +46,8 @@ dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_quote_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_quote_element_initialise(doc, tag_name,
+ namespace, prefix, *ele);
}
/**
@@ -57,12 +58,11 @@ dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->elements[DOM_HTML_ELEMENT_TYPE_Q],
- namespace, prefix);
+ tag_name, namespace, prefix);
}
/**
diff --git a/src/html/html_quote_element.h b/src/html/html_quote_element.h
index a8bfbb2..ee79ee1 100644
--- a/src/html/html_quote_element.h
+++ b/src/html/html_quote_element.h
@@ -20,12 +20,12 @@ struct dom_html_quote_element {
/* Create a dom_html_quote_element object */
dom_exception _dom_html_quote_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element **ele);
/* Initialise a dom_html_quote_element object */
dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *tag_name, dom_string *namespace, dom_string *prefix,
struct dom_html_quote_element *ele);
/* Finalise a dom_html_quote_element object */
--
Document Object Model library
7 years, 10 months
netsurf: branch master updated. release/3.3-660-g0ce170c
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/netsurf.git/shortlog/0ce170c18e971121e54ac...
...commit http://git.netsurf-browser.org/netsurf.git/commit/0ce170c18e971121e54ac60...
...tree http://git.netsurf-browser.org/netsurf.git/tree/0ce170c18e971121e54ac60c8...
The branch, master has been updated
via 0ce170c18e971121e54ac60c863b523bc5874516 (commit)
via ee640b80bc0a0bbe2dd5cd67f9d6381c4b63cc8f (commit)
from 5afd42aa5a9ce1561fa1a6d73980b23cb612cda7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/netsurf.git/commit/?id=0ce170c18e971121e54...
commit 0ce170c18e971121e54ac60c863b523bc5874516
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Disable the DPI gadget if in bitmap/diskfont fonts mode
Diskfont renders all font sizes at 72dpi.
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index cbd393e..ccd4781 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -1092,6 +1092,7 @@ void ami_gui_opts_open(void)
INTEGER_Minimum, 60,
INTEGER_Maximum, 150,
INTEGER_Arrows, TRUE,
+ GA_Disabled, nsoption_bool(bitmap_fonts),
IntegerEnd,
CHILD_WeightedWidth, 0,
CHILD_Label, LabelObj,
@@ -2249,7 +2250,12 @@ BOOL ami_gui_opts_event(void)
IDoMethod(gow->objects[GID_OPTS_FONT_FANTASY],
GFONT_REQUEST,gow->win);
break;
-
+#ifndef __amigaos4__
+ case GID_OPTS_FONT_BITMAP:
+ RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_DPI_Y],
+ gow->win, NULL, GA_Disabled, code, TAG_DONE);
+ break;
+#endif
case GID_OPTS_DLDIR:
IDoMethod(gow->objects[GID_OPTS_DLDIR],
GFILE_REQUEST,gow->win);
commitdiff http://git.netsurf-browser.org/netsurf.git/commit/?id=ee640b80bc0a0bbe2dd...
commit ee640b80bc0a0bbe2dd5cd67f9d6381c4b63cc8f
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Add a GUI prefs option on OS3 only, to toggle between bitmap and outline fonts
"Allow bitmap fonts" causes NetSurf to use diskfont and graphics library routines for opening and displaying fonts. This allows bitmap fonts to be used which are much faster on 68k hardware than outline fonts, but loses the ability to render pages in UTF-8.
Conversely, toggling this option off makes NetSurf use bullet.library directly and render glyphs itself, which precludes the usage of bitmap fonts but allows the full range of UTF-8 characters to be displayed.
This option is ON by default on OS3 for speed reasons, and OFF by default on OS4. Additionally, this option is not shown on the prefs GUI on OS4 as the speed difference between bitmap and outline fonts is negligible on that hardware and I don't want to encourage the use of an option which provides inferior rendering.
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 54652b3..cbd393e 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -122,6 +122,7 @@ enum
GID_OPTS_FONT_SIZE,
GID_OPTS_FONT_MINSIZE,
GID_OPTS_FONT_ANTIALIASING,
+ GID_OPTS_FONT_BITMAP,
GID_OPTS_CACHE_MEM,
GID_OPTS_CACHE_DISC,
GID_OPTS_OVERWRITE,
@@ -375,6 +376,7 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
gadlab[GID_OPTS_FONT_SIZE] = (char *)ami_utf8_easy((char *)messages_get("Default"));
gadlab[GID_OPTS_FONT_MINSIZE] = (char *)ami_utf8_easy((char *)messages_get("Minimum"));
gadlab[GID_OPTS_FONT_ANTIALIASING] = (char *)ami_utf8_easy((char *)messages_get("FontAntialiasing"));
+ gadlab[GID_OPTS_FONT_BITMAP] = (char *)ami_utf8_easy((char *)messages_get("FontBitmap"));
gadlab[GID_OPTS_CACHE_MEM] = (char *)ami_utf8_easy((char *)messages_get("Size"));
gadlab[GID_OPTS_CACHE_DISC] = (char *)ami_utf8_easy((char *)messages_get("Size"));
gadlab[GID_OPTS_OVERWRITE] = (char *)ami_utf8_easy((char *)messages_get("ConfirmOverwrite"));
@@ -1235,6 +1237,14 @@ void ami_gui_opts_open(void)
GA_Disabled, TRUE,
#endif
CheckBoxEnd,
+#ifndef __amigaos4__
+ LAYOUT_AddChild, gow->objects[GID_OPTS_FONT_BITMAP] = CheckBoxObj,
+ GA_ID, GID_OPTS_FONT_BITMAP,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_FONT_BITMAP],
+ GA_Selected, nsoption_bool(bitmap_fonts),
+ CheckBoxEnd,
+#endif
LayoutEnd,
LayoutEnd,
CHILD_WeightedHeight, 0,
@@ -1863,7 +1873,18 @@ static void ami_gui_opts_use(bool save)
} else {
nsoption_set_bool(font_antialiasing, false);
}
-
+
+#ifndef __amigaos4__
+ GetAttr(GA_Selected, gow->objects[GID_OPTS_FONT_BITMAP], (ULONG *)&data);
+ ami_font_fini();
+ if(data) {
+ nsoption_set_bool(bitmap_fonts, true);
+ } else {
+ nsoption_set_bool(bitmap_fonts, false);
+ }
+ ami_font_init();
+#endif
+
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_CACHE_MEM],(ULONG *)&nsoption_int(memory_cache_size));
nsoption_set_int(memory_cache_size, nsoption_int(memory_cache_size) * 1048576);
diff --git a/resources/FatMessages b/resources/FatMessages
index 0c3e8f9..67de72a 100644
--- a/resources/FatMessages
+++ b/resources/FatMessages
@@ -6147,6 +6147,11 @@ de.ami.FontAntialiasing:Use anti-aliasing (when possible)
fr.ami.FontAntialiasing:Utiliser l'anticrénelage (si possible)
it.ami.FontAntialiasing:Usa anti-aliasing (quando possibile)
nl.ami.FontAntialiasing:Anti-aliasing (indien mogelijk) gebruiken
+en.ami.FontBitmap:Allow bitmap fonts
+de.ami.FontBitmap:Allow bitmap fonts
+fr.ami.FontBitmap:Allow bitmap fonts
+it.ami.FontBitmap:Allow bitmap fonts
+nl.ami.FontBitmap:Allow bitmap fonts
# Font scanning
en.ami.FontScanning:Scanning fonts...
-----------------------------------------------------------------------
Summary of changes:
amiga/gui_options.c | 31 +++++++++++++++++++++++++++++--
resources/FatMessages | 5 +++++
2 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 54652b3..ccd4781 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -122,6 +122,7 @@ enum
GID_OPTS_FONT_SIZE,
GID_OPTS_FONT_MINSIZE,
GID_OPTS_FONT_ANTIALIASING,
+ GID_OPTS_FONT_BITMAP,
GID_OPTS_CACHE_MEM,
GID_OPTS_CACHE_DISC,
GID_OPTS_OVERWRITE,
@@ -375,6 +376,7 @@ static void ami_gui_opts_setup(struct ami_gui_opts_window *gow)
gadlab[GID_OPTS_FONT_SIZE] = (char *)ami_utf8_easy((char *)messages_get("Default"));
gadlab[GID_OPTS_FONT_MINSIZE] = (char *)ami_utf8_easy((char *)messages_get("Minimum"));
gadlab[GID_OPTS_FONT_ANTIALIASING] = (char *)ami_utf8_easy((char *)messages_get("FontAntialiasing"));
+ gadlab[GID_OPTS_FONT_BITMAP] = (char *)ami_utf8_easy((char *)messages_get("FontBitmap"));
gadlab[GID_OPTS_CACHE_MEM] = (char *)ami_utf8_easy((char *)messages_get("Size"));
gadlab[GID_OPTS_CACHE_DISC] = (char *)ami_utf8_easy((char *)messages_get("Size"));
gadlab[GID_OPTS_OVERWRITE] = (char *)ami_utf8_easy((char *)messages_get("ConfirmOverwrite"));
@@ -1090,6 +1092,7 @@ void ami_gui_opts_open(void)
INTEGER_Minimum, 60,
INTEGER_Maximum, 150,
INTEGER_Arrows, TRUE,
+ GA_Disabled, nsoption_bool(bitmap_fonts),
IntegerEnd,
CHILD_WeightedWidth, 0,
CHILD_Label, LabelObj,
@@ -1235,6 +1238,14 @@ void ami_gui_opts_open(void)
GA_Disabled, TRUE,
#endif
CheckBoxEnd,
+#ifndef __amigaos4__
+ LAYOUT_AddChild, gow->objects[GID_OPTS_FONT_BITMAP] = CheckBoxObj,
+ GA_ID, GID_OPTS_FONT_BITMAP,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_FONT_BITMAP],
+ GA_Selected, nsoption_bool(bitmap_fonts),
+ CheckBoxEnd,
+#endif
LayoutEnd,
LayoutEnd,
CHILD_WeightedHeight, 0,
@@ -1863,7 +1874,18 @@ static void ami_gui_opts_use(bool save)
} else {
nsoption_set_bool(font_antialiasing, false);
}
-
+
+#ifndef __amigaos4__
+ GetAttr(GA_Selected, gow->objects[GID_OPTS_FONT_BITMAP], (ULONG *)&data);
+ ami_font_fini();
+ if(data) {
+ nsoption_set_bool(bitmap_fonts, true);
+ } else {
+ nsoption_set_bool(bitmap_fonts, false);
+ }
+ ami_font_init();
+#endif
+
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_CACHE_MEM],(ULONG *)&nsoption_int(memory_cache_size));
nsoption_set_int(memory_cache_size, nsoption_int(memory_cache_size) * 1048576);
@@ -2228,7 +2250,12 @@ BOOL ami_gui_opts_event(void)
IDoMethod(gow->objects[GID_OPTS_FONT_FANTASY],
GFONT_REQUEST,gow->win);
break;
-
+#ifndef __amigaos4__
+ case GID_OPTS_FONT_BITMAP:
+ RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_DPI_Y],
+ gow->win, NULL, GA_Disabled, code, TAG_DONE);
+ break;
+#endif
case GID_OPTS_DLDIR:
IDoMethod(gow->objects[GID_OPTS_DLDIR],
GFILE_REQUEST,gow->win);
diff --git a/resources/FatMessages b/resources/FatMessages
index 0c3e8f9..67de72a 100644
--- a/resources/FatMessages
+++ b/resources/FatMessages
@@ -6147,6 +6147,11 @@ de.ami.FontAntialiasing:Use anti-aliasing (when possible)
fr.ami.FontAntialiasing:Utiliser l'anticrénelage (si possible)
it.ami.FontAntialiasing:Usa anti-aliasing (quando possibile)
nl.ami.FontAntialiasing:Anti-aliasing (indien mogelijk) gebruiken
+en.ami.FontBitmap:Allow bitmap fonts
+de.ami.FontBitmap:Allow bitmap fonts
+fr.ami.FontBitmap:Allow bitmap fonts
+it.ami.FontBitmap:Allow bitmap fonts
+nl.ami.FontBitmap:Allow bitmap fonts
# Font scanning
en.ami.FontScanning:Scanning fonts...
--
NetSurf Browser
7 years, 10 months
libdom: branch master updated. release/0.2.0-17-g9def0a4
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/libdom.git/shortlog/9def0a44e12c1469e0e4af...
...commit http://git.netsurf-browser.org/libdom.git/commit/9def0a44e12c1469e0e4af28...
...tree http://git.netsurf-browser.org/libdom.git/tree/9def0a44e12c1469e0e4af2881...
The branch, master has been updated
via 9def0a44e12c1469e0e4af2881242f5f1df9b3a0 (commit)
via 5b6c1914915e4c6c1b69e4c56cd60705e40daff3 (commit)
via 13f06360888ecb87e498012cf8c937e4041f5c4a (commit)
via 12385d1747d1f84a75ac397fb1dcf8da5c3955c3 (commit)
via 0174d8bc39cb8bb6d9422f2a65c7dacb94a9c0da (commit)
via 13df5afe36ff3921cfa928bb33fbecee5734c1ed (commit)
via e346fef45738fc17d5cd1f9bca571b8df5e2fc0d (commit)
via 81c012f5709d09eee22f337ac2ee33ea80fbe299 (commit)
via 8d09ec06b447d6383718edc5f0f50b354628469d (commit)
via dd2e075fe7be7620acac88e73dd73c336171bedd (commit)
via 1f07c352dec8aeb1454da11f0a39ae0b24d5251b (commit)
via 3894e33506789b6edc4ef36239fc45d03e5db4e9 (commit)
via 6d600214268e64e6bc83df61d8abfdf8963acdad (commit)
from 410274173d434e34a5eb085d13228d68cd44d509 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/libdom.git/commit/?id=9def0a44e12c1469e0e4...
commit 9def0a44e12c1469e0e4af2881242f5f1df9b3a0
Merge: 4102741 5b6c191
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Merge branch 'tlsa/html-element-type'
-----------------------------------------------------------------------
Summary of changes:
bindings/hubbub/parser.c | 11 +-
include/dom/html/html_elements.h | 94 ++++++
src/html/html_anchor_element.c | 4 +-
src/html/html_applet_element.c | 2 +-
src/html/html_area_element.c | 4 +-
src/html/html_base_element.c | 18 +-
src/html/html_base_element.h | 2 +
src/html/html_basefont_element.c | 4 +-
src/html/html_body_element.c | 7 +-
src/html/html_br_element.c | 4 +-
src/html/html_button_element.c | 4 +-
src/html/html_directory_element.c | 4 +-
src/html/html_div_element.c | 4 +-
src/html/html_dlist_element.c | 4 +-
src/html/html_document.c | 573 +++++++++++++++++++++++++++-------
src/html/html_document.h | 2 +
src/html/html_document_strings.h | 64 ----
src/html/html_element.h | 1 +
src/html/html_fieldset_element.c | 6 +-
src/html/html_font_element.c | 4 +-
src/html/html_form_element.c | 12 +-
src/html/html_frame_element.c | 8 +-
src/html/html_frameset_element.c | 4 +-
src/html/html_head_element.c | 4 +-
src/html/html_heading_element.c | 3 +-
src/html/html_hr_element.c | 4 +-
src/html/html_html_element.c | 7 +-
src/html/html_iframe_element.c | 7 +-
src/html/html_image_element.c | 4 +-
src/html/html_input_element.c | 4 +-
src/html/html_isindex_element.c | 4 +-
src/html/html_label_element.c | 4 +-
src/html/html_legend_element.c | 6 +-
src/html/html_li_element.c | 4 +-
src/html/html_link_element.c | 4 +-
src/html/html_map_element.c | 8 +-
src/html/html_menu_element.c | 4 +-
src/html/html_meta_element.c | 4 +-
src/html/html_mod_element.c | 3 +-
src/html/html_object_element.c | 4 +-
src/html/html_olist_element.c | 4 +-
src/html/html_opt_group_element.c | 4 +-
src/html/html_option_element.c | 8 +-
src/html/html_options_collection.c | 2 +-
src/html/html_paragraph_element.c | 4 +-
src/html/html_param_element.c | 4 +-
src/html/html_pre_element.c | 4 +-
src/html/html_quote_element.c | 4 +-
src/html/html_script_element.c | 4 +-
src/html/html_select_element.c | 5 +-
src/html/html_table_element.c | 48 ++-
src/html/html_tablecaption_element.c | 4 +-
src/html/html_tablecell_element.c | 31 +-
src/html/html_tablecol_element.c | 6 +-
src/html/html_tablerow_element.c | 65 ++--
src/html/html_tablesection_element.c | 6 +-
src/html/html_text_area_element.c | 4 +-
src/html/html_title_element.c | 4 +-
src/html/html_ulist_element.c | 4 +-
59 files changed, 777 insertions(+), 356 deletions(-)
create mode 100644 include/dom/html/html_elements.h
diff --git a/bindings/hubbub/parser.c b/bindings/hubbub/parser.c
index a2a33ed..9dfe738 100644
--- a/bindings/hubbub/parser.c
+++ b/bindings/hubbub/parser.c
@@ -55,7 +55,8 @@ struct dom_hubbub_parser {
};
/* Forward declaration to break reference loop */
-static hubbub_error add_attributes(void *parser, void *node, const hubbub_attribute *attributes, uint32_t n_attributes);
+static hubbub_error add_attributes(void *parser, void *node,
+ const hubbub_attribute *attributes, uint32_t n_attributes);
@@ -479,7 +480,7 @@ static hubbub_error form_associate(void *parser, void *form, void *node)
/* Determine the kind of the node we have here. */
if (dom_string_caseless_isequal(ele->name,
- doc->memoised[hds_BUTTON])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_BUTTON])) {
err = _dom_html_button_element_set_form(
(dom_html_button_element *)node, form_ele);
if (err != DOM_NO_ERR) {
@@ -488,7 +489,7 @@ static hubbub_error form_associate(void *parser, void *form, void *node)
return HUBBUB_UNKNOWN;
}
} else if (dom_string_caseless_isequal(ele->name,
- doc->memoised[hds_INPUT])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_INPUT])) {
err = _dom_html_input_element_set_form(
(dom_html_input_element *)node, form_ele);
if (err != DOM_NO_ERR) {
@@ -497,7 +498,7 @@ static hubbub_error form_associate(void *parser, void *form, void *node)
return HUBBUB_UNKNOWN;
}
} else if (dom_string_caseless_isequal(ele->name,
- doc->memoised[hds_SELECT])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_SELECT])) {
err = _dom_html_select_element_set_form(
(dom_html_select_element *)node, form_ele);
if (err != DOM_NO_ERR) {
@@ -506,7 +507,7 @@ static hubbub_error form_associate(void *parser, void *form, void *node)
return HUBBUB_UNKNOWN;
}
} else if (dom_string_caseless_isequal(ele->name,
- doc->memoised[hds_TEXTAREA])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TEXTAREA])) {
err = _dom_html_text_area_element_set_form(
(dom_html_text_area_element *)node, form_ele);
if (err != DOM_NO_ERR) {
diff --git a/include/dom/html/html_elements.h b/include/dom/html/html_elements.h
new file mode 100644
index 0000000..5774657
--- /dev/null
+++ b/include/dom/html/html_elements.h
@@ -0,0 +1,94 @@
+/*
+ * This file is part of libdom.
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2016 Michael Drake <michael.drake(a)codethink.co.uk>
+ */
+
+#if !defined(dom_html_elements_h_) || defined(DOM_HTML_ELEMENT_STRINGS_ENTRY)
+#define dom_html_elements_h_
+
+#define DOM_HTML_ELEMENT_LIST \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(_UNKNOWN) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(HTML) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(HEAD) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(LINK) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(TITLE) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(META) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(BASE) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(ISINDEX) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(STYLE) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(BODY) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(FORM) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(SELECT) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(OPTGROUP) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(OPTION) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(INPUT) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(TEXTAREA) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(BUTTON) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(LABEL) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(FIELDSET) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(LEGEND) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(UL) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(OL) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(DL) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(DIR) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(MENU) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(LI) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(BLOCKQUOTE) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(DIV) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(P) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(H1) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(H2) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(H3) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(H4) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(H5) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(H6) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(Q) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(PRE) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(BR) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(BASEFONT) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(FONT) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(HR) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(INS) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(DEL) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(A) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(IMG) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(OBJECT) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(PARAM) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(APPLET) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(MAP) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(AREA) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(SCRIPT) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(TABLE) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(CAPTION) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(COL) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(COLGROUP) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(THEAD) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(TFOOT) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(TBODY) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(TR) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(TH) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(TD) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(FRAMESET) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(FRAME) \
+ DOM_HTML_ELEMENT_STRINGS_ENTRY(IFRAME)
+
+/* Generate enum containing DOM_HTML_ELEMENT_<TAG_NAME> entries,
+ * unless the includer defined DOM_HTML_ELEMENT_STRINGS_ENTRY
+ * to do something else.
+ */
+#ifndef DOM_HTML_ELEMENT_STRINGS_ENTRY
+#define DOM_HTML_ELEMENT_STRINGS_ENTRY(tag) \
+ DOM_HTML_ELEMENT_TYPE_##tag,
+typedef enum {
+DOM_HTML_ELEMENT_LIST
+ DOM_HTML_ELEMENT_TYPE__COUNT
+} dom_html_element_type;
+#undef DOM_HTML_ELEMENT_STRINGS_ENTRY
+#else
+DOM_HTML_ELEMENT_LIST
+#endif
+
+#undef DOM_HTML_ELEMENT_LIST
+#endif
\ No newline at end of file
diff --git a/src/html/html_anchor_element.c b/src/html/html_anchor_element.c
index 77f8cef..5ad473b 100644
--- a/src/html/html_anchor_element.c
+++ b/src/html/html_anchor_element.c
@@ -62,8 +62,8 @@ dom_exception _dom_html_anchor_element_initialise(struct dom_html_document *doc,
struct dom_html_anchor_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_A],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_A],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_applet_element.c b/src/html/html_applet_element.c
index 9f6c16f..dedcbc5 100644
--- a/src/html/html_applet_element.c
+++ b/src/html/html_applet_element.c
@@ -62,7 +62,7 @@ dom_exception _dom_html_applet_element_initialise(struct dom_html_document *doc,
struct dom_html_applet_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_APPLET],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_APPLET],
namespace, prefix);
}
diff --git a/src/html/html_area_element.c b/src/html/html_area_element.c
index 85a2a3e..b3ca8dd 100644
--- a/src/html/html_area_element.c
+++ b/src/html/html_area_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_area_element_initialise(struct dom_html_document *doc,
struct dom_html_area_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_AREA],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_AREA],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_base_element.c b/src/html/html_base_element.c
index 6be8e3a..55bbd94 100644
--- a/src/html/html_base_element.c
+++ b/src/html/html_base_element.c
@@ -28,6 +28,7 @@ static struct dom_element_protected_vtable _protect_vtable = {
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
+ dom_string *namespace, dom_string *prefix,
struct dom_html_base_element **ele)
{
struct dom_node_internal *node;
@@ -41,7 +42,7 @@ dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_base_element_initialise(doc, *ele);
+ return _dom_html_base_element_initialise(doc, namespace, prefix, *ele);
}
/**
@@ -52,19 +53,12 @@ dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_base_element_initialise(struct dom_html_document *doc,
+ dom_string *namespace, dom_string *prefix,
struct dom_html_base_element *ele)
{
- dom_string *name = NULL;
- dom_exception err;
-
- err = dom_string_create((const uint8_t *) "BASE", SLEN("BASE"), &name);
- if (err != DOM_NO_ERR)
- return err;
-
- err = _dom_html_element_initialise(doc, &ele->base, name, NULL, NULL);
- dom_string_unref(name);
-
- return err;
+ return _dom_html_element_initialise(doc, &ele->base,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_BASE],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_base_element.h b/src/html/html_base_element.h
index 7a04b29..3113635 100644
--- a/src/html/html_base_element.h
+++ b/src/html/html_base_element.h
@@ -19,10 +19,12 @@ struct dom_html_base_element {
/* Create a dom_html_base_element object */
dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
+ dom_string *namespace, dom_string *prefix,
struct dom_html_base_element **ele);
/* Initialise a dom_html_base_element object */
dom_exception _dom_html_base_element_initialise(struct dom_html_document *doc,
+ dom_string *namespace, dom_string *prefix,
struct dom_html_base_element *ele);
/* Finalise a dom_html_base_element object */
diff --git a/src/html/html_basefont_element.c b/src/html/html_basefont_element.c
index 7aa20a0..f8e9249 100644
--- a/src/html/html_basefont_element.c
+++ b/src/html/html_basefont_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_base_font_element_initialise(struct dom_html_document *d
struct dom_html_base_font_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_BASEFONT],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_BASEFONT],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_body_element.c b/src/html/html_body_element.c
index f2c10fe..f63583e 100644
--- a/src/html/html_body_element.c
+++ b/src/html/html_body_element.c
@@ -30,7 +30,7 @@ static struct dom_element_protected_vtable _protect_vtable = {
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *namespace, dom_string *prefix,
struct dom_html_body_element **ele)
{
struct dom_node_internal *node;
@@ -55,11 +55,12 @@ dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_body_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *namespace, dom_string *prefix,
struct dom_html_body_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_BODY], namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_BODY],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_br_element.c b/src/html/html_br_element.c
index fbc133e..ec5acf6 100644
--- a/src/html/html_br_element.c
+++ b/src/html/html_br_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_br_element_initialise(struct dom_html_document *doc,
struct dom_html_br_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_BR],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_BR],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_button_element.c b/src/html/html_button_element.c
index 95b5d31..28b694b 100644
--- a/src/html/html_button_element.c
+++ b/src/html/html_button_element.c
@@ -63,8 +63,8 @@ dom_exception _dom_html_button_element_initialise(struct dom_html_document *doc,
ele->form = NULL;
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_BUTTON],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_BUTTON],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_directory_element.c b/src/html/html_directory_element.c
index 4e0d9e0..1e06074 100644
--- a/src/html/html_directory_element.c
+++ b/src/html/html_directory_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_directory_element_initialise(struct dom_html_document *d
struct dom_html_directory_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_DIRECTORY],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_DIR],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_div_element.c b/src/html/html_div_element.c
index 0c689d6..f5ef051 100644
--- a/src/html/html_div_element.c
+++ b/src/html/html_div_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_div_element_initialise(struct dom_html_document *doc,
struct dom_html_div_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_DIV],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_DIV],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_dlist_element.c b/src/html/html_dlist_element.c
index 5b25037..38e3276 100644
--- a/src/html/html_dlist_element.c
+++ b/src/html/html_dlist_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_dlist_element_initialise(struct dom_html_document *doc,
struct dom_html_dlist_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_DL],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_DL],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_document.c b/src/html/html_document.c
index 096c84e..3d2a7f3 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -8,12 +8,16 @@
#include <assert.h>
#include <stdlib.h>
+#include <dom/html/html_elements.h>
+
#include "html/html_document.h"
#include "html/html_element.h"
#include "html/html_collection.h"
#include "html/html_html_element.h"
#include "html/html_head_element.h"
#include "html/html_body_element.h"
+#include "html/html_base_element.h"
+#include "html/html_div_element.h"
#include "html/html_link_element.h"
#include "html/html_title_element.h"
#include "html/html_meta_element.h"
@@ -134,10 +138,16 @@ dom_exception _dom_html_document_initialise(dom_html_document *doc,
error = DOM_NO_MEM_ERR;
goto out;
}
+ doc->elements = calloc(sizeof(dom_string *),
+ DOM_HTML_ELEMENT_TYPE__COUNT);
+ if (doc->elements == NULL) {
+ error = DOM_NO_MEM_ERR;
+ goto out;
+ }
-#define HTML_DOCUMENT_STRINGS_ACTION(attr,str) \
+#define HTML_DOCUMENT_STRINGS_ACTION(attr,str) \
error = dom_string_create_interned((const uint8_t *) #str, \
- SLEN(#str), &doc->memoised[hds_##attr]); \
+ SLEN(#str), &doc->memoised[hds_##attr]); \
if (error != DOM_NO_ERR) { \
goto out; \
}
@@ -145,15 +155,38 @@ dom_exception _dom_html_document_initialise(dom_html_document *doc,
#include "html_document_strings.h"
#undef HTML_DOCUMENT_STRINGS_ACTION
+#define DOM_HTML_ELEMENT_STRINGS_ENTRY(tag) \
+ error = dom_string_create_interned((const uint8_t *) #tag, \
+ SLEN(#tag), \
+ &doc->elements[DOM_HTML_ELEMENT_TYPE_##tag]); \
+ if (error != DOM_NO_ERR) { \
+ goto out; \
+ }
+
+#include <dom/html/html_elements.h>
+#undef DOM_HTML_ELEMENT_STRINGS_ENTRY
+
out:
- if (doc->memoised != NULL && error != DOM_NO_ERR) {
- for(sidx = 0; sidx < hds_COUNT; ++sidx) {
- if (doc->memoised[sidx] != NULL) {
- dom_string_unref(doc->memoised[sidx]);
+ if (error != DOM_NO_ERR) {
+ if (doc->memoised != NULL) {
+ for(sidx = 0; sidx < hds_COUNT; ++sidx) {
+ if (doc->memoised[sidx] != NULL) {
+ dom_string_unref(doc->memoised[sidx]);
+ }
}
+ free(doc->memoised);
+ doc->memoised = NULL;
+ }
+ if (doc->elements != NULL) {
+ for(sidx = 0; sidx < DOM_HTML_ELEMENT_TYPE__COUNT;
+ ++sidx) {
+ if (doc->elements[sidx] != NULL) {
+ dom_string_unref(doc->elements[sidx]);
+ }
+ }
+ free(doc->elements);
+ doc->elements = NULL;
}
- free(doc->memoised);
- doc->memoised = NULL;
}
return error;
}
@@ -184,6 +217,16 @@ bool _dom_html_document_finalise(dom_html_document *doc)
doc->memoised = NULL;
}
+ if (doc->elements != NULL) {
+ for(sidx = 0; sidx < DOM_HTML_ELEMENT_TYPE__COUNT; ++sidx) {
+ if (doc->elements[sidx] != NULL) {
+ dom_string_unref(doc->elements[sidx]);
+ }
+ }
+ free(doc->elements);
+ doc->elements = NULL;
+ }
+
return _dom_document_finalise(&doc->base);
}
@@ -205,186 +248,493 @@ dom_exception _dom_html_document_copy(dom_node_internal *old,
return DOM_NOT_SUPPORTED_ERR;
}
+/**
+ * Get html element type from an uppercased tag name string
+ *
+ * \param html The html document that the html element belongs to
+ * \param tag_name_upper Upper cased string containing tag name
+ */
+static inline dom_html_element_type _dom_html_document_get_element_type(
+ dom_html_document *html, dom_string *tag_name_upper)
+{
+ size_t len = dom_string_byte_length(tag_name_upper);
+
+ switch (len) {
+ case 1:
+ if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_P])) {
+ return DOM_HTML_ELEMENT_TYPE_P;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_A])) {
+ return DOM_HTML_ELEMENT_TYPE_A;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_Q])) {
+ return DOM_HTML_ELEMENT_TYPE_Q;
+ }
+ break;
+ case 2:
+ if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_H1])) {
+ return DOM_HTML_ELEMENT_TYPE_H1;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_H2])) {
+ return DOM_HTML_ELEMENT_TYPE_H2;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_H3])) {
+ return DOM_HTML_ELEMENT_TYPE_H3;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_H4])) {
+ return DOM_HTML_ELEMENT_TYPE_H4;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_H5])) {
+ return DOM_HTML_ELEMENT_TYPE_H5;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_H6])) {
+ return DOM_HTML_ELEMENT_TYPE_H6;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_HR])) {
+ return DOM_HTML_ELEMENT_TYPE_HR;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_DL])) {
+ return DOM_HTML_ELEMENT_TYPE_DL;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_UL])) {
+ return DOM_HTML_ELEMENT_TYPE_UL;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_OL])) {
+ return DOM_HTML_ELEMENT_TYPE_OL;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_LI])) {
+ return DOM_HTML_ELEMENT_TYPE_LI;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_TD])) {
+ return DOM_HTML_ELEMENT_TYPE_TD;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_TH])) {
+ return DOM_HTML_ELEMENT_TYPE_TH;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_TR])) {
+ return DOM_HTML_ELEMENT_TYPE_TR;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_BR])) {
+ return DOM_HTML_ELEMENT_TYPE_BR;
+ }
+ break;
+ case 3:
+ if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_DIV])) {
+ return DOM_HTML_ELEMENT_TYPE_DIV;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_PRE])) {
+ return DOM_HTML_ELEMENT_TYPE_PRE;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_DEL])) {
+ return DOM_HTML_ELEMENT_TYPE_DEL;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_INS])) {
+ return DOM_HTML_ELEMENT_TYPE_INS;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_IMG])) {
+ return DOM_HTML_ELEMENT_TYPE_IMG;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_COL])) {
+ return DOM_HTML_ELEMENT_TYPE_COL;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_MAP])) {
+ return DOM_HTML_ELEMENT_TYPE_MAP;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_DIR])) {
+ return DOM_HTML_ELEMENT_TYPE_DIR;
+ }
+ break;
+ case 4:
+ if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_HTML])) {
+ return DOM_HTML_ELEMENT_TYPE_HTML;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_HEAD])) {
+ return DOM_HTML_ELEMENT_TYPE_HEAD;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_META])) {
+ return DOM_HTML_ELEMENT_TYPE_META;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_BASE])) {
+ return DOM_HTML_ELEMENT_TYPE_BASE;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_BODY])) {
+ return DOM_HTML_ELEMENT_TYPE_BODY;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_FORM])) {
+ return DOM_HTML_ELEMENT_TYPE_FORM;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_LINK])) {
+ return DOM_HTML_ELEMENT_TYPE_LINK;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_MENU])) {
+ return DOM_HTML_ELEMENT_TYPE_MENU;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_FONT])) {
+ return DOM_HTML_ELEMENT_TYPE_FONT;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_AREA])) {
+ return DOM_HTML_ELEMENT_TYPE_AREA;
+ }
+ break;
+ case 5:
+ if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_TITLE])) {
+ return DOM_HTML_ELEMENT_TYPE_TITLE;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_INPUT])) {
+ return DOM_HTML_ELEMENT_TYPE_INPUT;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_FRAME])) {
+ return DOM_HTML_ELEMENT_TYPE_FRAME;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_THEAD])) {
+ return DOM_HTML_ELEMENT_TYPE_THEAD;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_TBODY])) {
+ return DOM_HTML_ELEMENT_TYPE_TBODY;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_TFOOT])) {
+ return DOM_HTML_ELEMENT_TYPE_TFOOT;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_TABLE])) {
+ return DOM_HTML_ELEMENT_TYPE_TABLE;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_STYLE])) {
+ return DOM_HTML_ELEMENT_TYPE_STYLE;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_LABEL])) {
+ return DOM_HTML_ELEMENT_TYPE_LABEL;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_PARAM])) {
+ return DOM_HTML_ELEMENT_TYPE_PARAM;
+ }
+ break;
+ case 6:
+ if (dom_string_isequal(tag_name_upper,html->elements[
+ DOM_HTML_ELEMENT_TYPE_BUTTON])) {
+ return DOM_HTML_ELEMENT_TYPE_BUTTON;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_OPTION])) {
+ return DOM_HTML_ELEMENT_TYPE_OPTION;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_SCRIPT])) {
+ return DOM_HTML_ELEMENT_TYPE_SCRIPT;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_IFRAME])) {
+ return DOM_HTML_ELEMENT_TYPE_IFRAME;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_LEGEND])) {
+ return DOM_HTML_ELEMENT_TYPE_LEGEND;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_SELECT])) {
+ return DOM_HTML_ELEMENT_TYPE_SELECT;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_OBJECT])) {
+ return DOM_HTML_ELEMENT_TYPE_OBJECT;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_APPLET])) {
+ return DOM_HTML_ELEMENT_TYPE_APPLET;
+ }
+ break;
+ case 7:
+ if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_CAPTION])) {
+ return DOM_HTML_ELEMENT_TYPE_CAPTION;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_ISINDEX])) {
+ return DOM_HTML_ELEMENT_TYPE_ISINDEX;
+ }
+ break;
+ case 8:
+ if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_TEXTAREA])) {
+ return DOM_HTML_ELEMENT_TYPE_TEXTAREA;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_OPTGROUP])) {
+ return DOM_HTML_ELEMENT_TYPE_OPTGROUP;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_BASEFONT])) {
+ return DOM_HTML_ELEMENT_TYPE_BASEFONT;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_FIELDSET])) {
+ return DOM_HTML_ELEMENT_TYPE_FIELDSET;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_COLGROUP])) {
+ return DOM_HTML_ELEMENT_TYPE_COLGROUP;
+ } else if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_FRAMESET])) {
+ return DOM_HTML_ELEMENT_TYPE_FRAMESET;
+ }
+ break;
+ case 10:
+ if (dom_string_isequal(tag_name_upper, html->elements[
+ DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE])) {
+ return DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE;
+ }
+ break;
+ }
+
+ return DOM_HTML_ELEMENT_TYPE__UNKNOWN;
+}
+
/* Overloaded methods inherited from super class */
/** Internal method to support both kinds of create method */
static dom_exception
-_dom_html_document_create_element_internal(dom_html_document *html,
- dom_string *in_tag_name,
- dom_string *namespace,
- dom_string *prefix,
- dom_html_element **result)
+_dom_html_document_create_element_internal(
+ dom_html_document *html,
+ dom_string *in_tag_name,
+ dom_string *namespace,
+ dom_string *prefix,
+ dom_html_element **result)
{
dom_exception exc;
dom_string *tag_name;
+ dom_html_element_type type;
exc = dom_string_toupper(in_tag_name, true, &tag_name);
if (exc != DOM_NO_ERR)
return exc;
- if (dom_string_caseless_isequal(tag_name, html->memoised[hds_HTML])) {
+ type = _dom_html_document_get_element_type(html, tag_name);
+
+ switch(type) {
+ case DOM_HTML_ELEMENT_TYPE__COUNT:
+ assert(type != DOM_HTML_ELEMENT_TYPE__COUNT);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_HTML:
exc = _dom_html_html_element_create(html, namespace, prefix,
(dom_html_html_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_HEAD])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_HEAD:
exc = _dom_html_head_element_create(html, namespace, prefix,
(dom_html_head_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TITLE])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_META:
+ exc = _dom_html_meta_element_create(html, namespace, prefix,
+ (dom_html_meta_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_BASE:
+ exc = _dom_html_base_element_create(html, namespace, prefix,
+ (dom_html_base_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_TITLE:
exc = _dom_html_title_element_create(html, namespace, prefix,
(dom_html_title_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_BODY])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_BODY:
exc = _dom_html_body_element_create(html, namespace, prefix,
(dom_html_body_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FORM])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_DIV:
+ exc = _dom_html_div_element_create(html, namespace, prefix,
+ (dom_html_div_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_FORM:
exc = _dom_html_form_element_create(html, namespace, prefix,
(dom_html_form_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_LINK])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_LINK:
exc = _dom_html_link_element_create(html, namespace, prefix,
(dom_html_link_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_BUTTON])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_BUTTON:
exc = _dom_html_button_element_create(html, namespace, prefix,
(dom_html_button_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_INPUT])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_INPUT:
exc = _dom_html_input_element_create(html, namespace, prefix,
(dom_html_input_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TEXTAREA])) {
- exc = _dom_html_text_area_element_create(html, namespace, prefix,
- (dom_html_text_area_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_OPTGROUP])) {
- exc = _dom_html_opt_group_element_create(html, namespace, prefix,
- (dom_html_opt_group_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_OPTION])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_TEXTAREA:
+ exc = _dom_html_text_area_element_create(html, namespace,
+ prefix, (dom_html_text_area_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_OPTGROUP:
+ exc = _dom_html_opt_group_element_create(html, namespace,
+ prefix, (dom_html_opt_group_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_OPTION:
exc = _dom_html_option_element_create(html, namespace, prefix,
(dom_html_option_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_SELECT])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_SELECT:
exc = _dom_html_select_element_create(html, namespace, prefix,
(dom_html_select_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_HR])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_HR:
exc = _dom_html_hr_element_create(html, namespace, prefix,
(dom_html_hr_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_DL])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_DL:
exc = _dom_html_dlist_element_create(html, namespace, prefix,
(dom_html_dlist_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_DIRECTORY])) {
- exc = _dom_html_directory_element_create(html, namespace, prefix,
- (dom_html_directory_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_MENU])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_DIR:
+ exc = _dom_html_directory_element_create(html, namespace,
+ prefix, (dom_html_directory_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_MENU:
exc = _dom_html_menu_element_create(html, namespace, prefix,
(dom_html_menu_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FIELDSET])) {
- exc = _dom_html_field_set_element_create(html, namespace, prefix,
- (dom_html_field_set_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_LEGEND])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_FIELDSET:
+ exc = _dom_html_field_set_element_create(html, namespace,
+ prefix, (dom_html_field_set_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_LEGEND:
exc = _dom_html_legend_element_create(html, namespace, prefix,
(dom_html_legend_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_P])) {
- exc = _dom_html_paragraph_element_create(html, namespace, prefix,
- (dom_html_paragraph_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_H1]) ||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_H2]) ||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_H3]) ||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_H4]) ||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_H5]) ||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_H6])
- ) {
- exc = _dom_html_heading_element_create(html, tag_name, namespace, prefix,
+ break;
+ case DOM_HTML_ELEMENT_TYPE_P:
+ exc = _dom_html_paragraph_element_create(html, namespace,
+ prefix, (dom_html_paragraph_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_H1:
+ case DOM_HTML_ELEMENT_TYPE_H2:
+ case DOM_HTML_ELEMENT_TYPE_H3:
+ case DOM_HTML_ELEMENT_TYPE_H4:
+ case DOM_HTML_ELEMENT_TYPE_H5:
+ case DOM_HTML_ELEMENT_TYPE_H6:
+ exc = _dom_html_heading_element_create(html, tag_name,
+ namespace, prefix,
(dom_html_heading_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_Q])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_BLOCKQUOTE:
+ case DOM_HTML_ELEMENT_TYPE_Q:
exc = _dom_html_quote_element_create(html, namespace, prefix,
(dom_html_quote_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_PRE])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_PRE:
exc = _dom_html_pre_element_create(html, namespace, prefix,
(dom_html_pre_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_BR])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_BR:
exc = _dom_html_br_element_create(html, namespace, prefix,
(dom_html_br_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_LABEL])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_LABEL:
exc = _dom_html_label_element_create(html, namespace, prefix,
(dom_html_label_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_UL])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_UL:
exc = _dom_html_u_list_element_create(html, namespace, prefix,
(dom_html_u_list_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_OL])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_OL:
exc = _dom_html_olist_element_create(html, namespace, prefix,
(dom_html_olist_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_LI])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_LI:
exc = _dom_html_li_element_create(html, namespace, prefix,
(dom_html_li_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FONT])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_FONT:
exc = _dom_html_font_element_create(html, namespace, prefix,
(dom_html_font_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_DEL]) ||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_INS])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_DEL:
+ case DOM_HTML_ELEMENT_TYPE_INS:
exc = _dom_html_mod_element_create(html, tag_name, namespace,
prefix, (dom_html_mod_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_A])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_A:
exc = _dom_html_anchor_element_create(html, namespace, prefix,
(dom_html_anchor_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_BASEFONT])) {
- exc = _dom_html_base_font_element_create(html, namespace, prefix,
+ break;
+ case DOM_HTML_ELEMENT_TYPE_BASEFONT:
+ exc = _dom_html_base_font_element_create(html,
+ namespace, prefix,
(dom_html_base_font_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_IMG])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_IMG:
exc = _dom_html_image_element_create(html, namespace, prefix,
(dom_html_image_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_OBJECT])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_OBJECT:
exc = _dom_html_object_element_create(html, namespace, prefix,
(dom_html_object_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_PARAM])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_PARAM:
exc = _dom_html_param_element_create(html, namespace, prefix,
(dom_html_param_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_APPLET])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_APPLET:
exc = _dom_html_applet_element_create(html, namespace, prefix,
(dom_html_applet_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_MAP])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_MAP:
exc = _dom_html_map_element_create(html, namespace, prefix,
(dom_html_map_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_AREA])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_AREA:
exc = _dom_html_area_element_create(html, namespace, prefix,
(dom_html_area_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_SCRIPT])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_SCRIPT:
exc = _dom_html_script_element_create(html, namespace, prefix,
(dom_html_script_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_CAPTION])) {
- exc = _dom_html_table_caption_element_create(html, namespace, prefix,
+ break;
+ case DOM_HTML_ELEMENT_TYPE_CAPTION:
+ exc = _dom_html_table_caption_element_create(html,
+ namespace, prefix,
(dom_html_table_caption_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TD]) ||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_TH])
- ) {
- exc = _dom_html_table_cell_element_create(html, tag_name, namespace, prefix,
+ break;
+ case DOM_HTML_ELEMENT_TYPE_TD:
+ case DOM_HTML_ELEMENT_TYPE_TH:
+ exc = _dom_html_table_cell_element_create(html, tag_name,
+ namespace, prefix,
(dom_html_table_cell_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_COL])||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_COLGROUP])
- ) {
- exc = _dom_html_table_col_element_create(html, tag_name, namespace, prefix,
+ break;
+ case DOM_HTML_ELEMENT_TYPE_COL:
+ case DOM_HTML_ELEMENT_TYPE_COLGROUP:
+ exc = _dom_html_table_col_element_create(html, tag_name,
+ namespace, prefix,
(dom_html_table_col_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_THEAD])||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_TBODY])||
- dom_string_caseless_isequal(tag_name, html->memoised[hds_TFOOT])) {
- exc = _dom_html_table_section_element_create(html, tag_name, namespace, prefix,
+ break;
+ case DOM_HTML_ELEMENT_TYPE_THEAD:
+ case DOM_HTML_ELEMENT_TYPE_TBODY:
+ case DOM_HTML_ELEMENT_TYPE_TFOOT:
+ exc = _dom_html_table_section_element_create(html, tag_name,
+ namespace, prefix,
(dom_html_table_section_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TABLE])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_TABLE:
exc = _dom_html_table_element_create(html, namespace, prefix,
(dom_html_table_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TD])) {
- exc = _dom_html_table_row_element_create(html, namespace, prefix,
- (dom_html_table_row_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_STYLE])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_TR:
+ exc = _dom_html_table_row_element_create(html, namespace,
+ prefix, (dom_html_table_row_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_STYLE:
exc = _dom_html_style_element_create(html,
(dom_html_style_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FRAMESET])) {
- exc = _dom_html_frame_set_element_create(html, namespace, prefix,
- (dom_html_frame_set_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FRAME])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_FRAMESET:
+ exc = _dom_html_frame_set_element_create(html, namespace,
+ prefix, (dom_html_frame_set_element **) result);
+ break;
+ case DOM_HTML_ELEMENT_TYPE_FRAME:
exc = _dom_html_frame_element_create(html, namespace, prefix,
(dom_html_frame_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_IFRAME])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_IFRAME:
exc = _dom_html_iframe_element_create(html, namespace, prefix,
(dom_html_iframe_element **) result);
- } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_ISINDEX])) {
+ break;
+ case DOM_HTML_ELEMENT_TYPE_ISINDEX:
exc = _dom_html_isindex_element_create(html, namespace, prefix,
(dom_html_isindex_element **) result);
- } else {
+ break;
+ case DOM_HTML_ELEMENT_TYPE__UNKNOWN:
exc = _dom_html_element_create(html, tag_name, namespace,
prefix, result);
+ break;
}
dom_string_unref(tag_name);
@@ -576,8 +926,8 @@ dom_exception _dom_html_document_get_title(dom_html_document *doc,
uint32_t len;
exc = dom_document_get_elements_by_tag_name(doc,
- doc->memoised[hds_TITLE],
- &nodes);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TITLE],
+ &nodes);
if (exc != DOM_NO_ERR) {
return exc;
}
@@ -654,7 +1004,7 @@ dom_exception _dom_html_document_get_body(dom_html_document *doc,
uint32_t len;
exc = dom_document_get_elements_by_tag_name(doc,
- doc->memoised[hds_BODY],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_BODY],
&nodes);
if (exc != DOM_NO_ERR) {
return exc;
@@ -668,7 +1018,7 @@ dom_exception _dom_html_document_get_body(dom_html_document *doc,
if (len == 0) {
exc = dom_document_get_elements_by_tag_name(doc,
- doc->memoised[hds_FRAMESET],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FRAMESET],
&nodes);
if (exc != DOM_NO_ERR) {
return exc;
@@ -713,9 +1063,10 @@ dom_exception _dom_html_document_set_body(dom_html_document *doc,
*/
bool images_callback(struct dom_node_internal *node, void *ctx)
{
+ dom_html_document *doc = ctx;
if(node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_IMG])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_IMG])) {
return true;
}
return false;
@@ -736,9 +1087,10 @@ dom_exception _dom_html_document_get_images(dom_html_document *doc,
bool applet_callback(struct dom_node_internal * node, void *ctx)
{
+ dom_html_document *doc = ctx;
if(node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_APPLET])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_APPLET])) {
return true;
}
return false;
@@ -752,9 +1104,10 @@ bool applet_callback(struct dom_node_internal * node, void *ctx)
*/
bool applets_callback(struct dom_node_internal *node, void *ctx)
{
+ dom_html_document *doc = ctx;
if(node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_OBJECT])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_OBJECT])) {
uint32_t len = 0;
dom_html_collection *applets;
if (_dom_html_collection_create(ctx, node,
@@ -790,17 +1143,18 @@ dom_exception _dom_html_document_get_applets(dom_html_document *doc,
*/
bool links_callback(struct dom_node_internal *node, void *ctx)
{
+ dom_html_document *doc = ctx;
if(node->type == DOM_ELEMENT_NODE &&
(dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_A]) ||
+ doc->elements[DOM_HTML_ELEMENT_TYPE_A]) ||
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_AREA]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_AREA]))
) {
bool has_value = false;
dom_exception err;
err = dom_element_has_attribute(node,
- ((dom_html_document *)ctx)->memoised[hds_href], &has_value);
+ doc->memoised[hds_href], &has_value);
if(err !=DOM_NO_ERR)
return err;
@@ -831,7 +1185,7 @@ static bool __dom_html_document_node_is_form(dom_node_internal *node,
UNUSED(ctx);
return dom_string_caseless_isequal(node->name,
- doc->memoised[hds_FORM]);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FORM]);
}
dom_exception _dom_html_document_get_forms(dom_html_document *doc,
@@ -868,14 +1222,15 @@ dom_exception _dom_html_document_get_forms(dom_html_document *doc,
*/
bool anchors_callback(struct dom_node_internal *node, void *ctx)
{
+ dom_html_document *doc = ctx;
if(node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_A])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_A])) {
bool has_value = false;
dom_exception err;
err = dom_element_has_attribute(node,
- ((dom_html_document *)ctx)->memoised[hds_name], &has_value);
+ doc->memoised[hds_name], &has_value);
if(err !=DOM_NO_ERR)
return err;
diff --git a/src/html/html_document.h b/src/html/html_document.h
index c00529b..dab4dc6 100644
--- a/src/html/html_document.h
+++ b/src/html/html_document.h
@@ -28,6 +28,8 @@ struct dom_html_document {
/** Cached strings for html objects to use */
dom_string **memoised;
+ /** Cached strings for HTML element names */
+ dom_string **elements;
};
#include "html_document_strings.h"
diff --git a/src/html/html_document_strings.h b/src/html/html_document_strings.h
index 35fca73..8b5fea7 100644
--- a/src/html/html_document_strings.h
+++ b/src/html/html_document_strings.h
@@ -145,70 +145,6 @@ 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)
-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(DIRECTORY)
-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
diff --git a/src/html/html_element.h b/src/html/html_element.h
index e742a1a..e32b09e 100644
--- a/src/html/html_element.h
+++ b/src/html/html_element.h
@@ -9,6 +9,7 @@
#define dom_internal_html_element_h_
#include <dom/html/html_element.h>
+#include <dom/html/html_elements.h>
#include "core/element.h"
diff --git a/src/html/html_fieldset_element.c b/src/html/html_fieldset_element.c
index 2ab873e..15ea812 100644
--- a/src/html/html_fieldset_element.c
+++ b/src/html/html_fieldset_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_field_set_element_initialise(struct dom_html_document *d
struct dom_html_field_set_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_FIELDSET],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FIELDSET],
+ namespace, prefix);
}
/**
@@ -136,7 +136,7 @@ dom_exception dom_html_field_set_element_get_form(
while (form_tmp != NULL) {
if (form_tmp->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(form_tmp->name,
- doc->memoised[hds_FORM]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FORM]))
break;
form_tmp = form_tmp->parent;
diff --git a/src/html/html_font_element.c b/src/html/html_font_element.c
index aadcb22..0be7ee5 100644
--- a/src/html/html_font_element.c
+++ b/src/html/html_font_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_font_element_initialise(struct dom_html_document *doc,
struct dom_html_font_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_FONT],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FONT],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c
index 0606ba6..ee62c02 100644
--- a/src/html/html_form_element.c
+++ b/src/html/html_form_element.c
@@ -70,8 +70,8 @@ dom_exception _dom_html_form_element_initialise(struct dom_html_document *doc,
dom_exception err;
err = _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_FORM],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FORM],
+ namespace, prefix);
return err;
}
@@ -283,16 +283,16 @@ static bool _dom_is_form_control(struct dom_node_internal *node, void *ctx)
/* Form controls are INPUT TEXTAREA SELECT and BUTTON*/
if (dom_string_caseless_isequal(node->name,
- doc->memoised[hds_INPUT]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_INPUT]))
return ((dom_html_input_element *)node)->form == form;
if (dom_string_caseless_isequal(node->name,
- doc->memoised[hds_TEXTAREA]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TEXTAREA]))
return ((dom_html_text_area_element *)node)->form == form;
if (dom_string_caseless_isequal(node->name,
- doc->memoised[hds_SELECT]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_SELECT]))
return ((dom_html_select_element *)node)->form == form;
if (dom_string_caseless_isequal(node->name,
- doc->memoised[hds_BUTTON])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_BUTTON])) {
return ((dom_html_button_element *)node)->form == form;
}
diff --git a/src/html/html_frame_element.c b/src/html/html_frame_element.c
index 9e1ea1e..b8b0a74 100644
--- a/src/html/html_frame_element.c
+++ b/src/html/html_frame_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_frame_element_initialise(struct dom_html_document *doc,
struct dom_html_frame_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_FRAME],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FRAME],
+ namespace, prefix);
}
/**
@@ -97,7 +97,7 @@ dom_exception dom_html_frame_element_get_no_resize(dom_html_frame_element *ele,
bool *no_resize)
{
return dom_html_element_get_bool_property(&ele->base, "noresize",
- SLEN("noresize"), no_resize);
+ SLEN("noresize"), no_resize);
}
/**
@@ -111,7 +111,7 @@ dom_exception dom_html_frame_element_set_no_resize(dom_html_frame_element *ele,
bool no_resize)
{
return dom_html_element_set_bool_property(&ele->base, "noresize",
- SLEN("noresize"), no_resize);
+ SLEN("noresize"), no_resize);
}
/*------------------------------------------------------------------------*/
diff --git a/src/html/html_frameset_element.c b/src/html/html_frameset_element.c
index 871906b..9d9680b 100644
--- a/src/html/html_frameset_element.c
+++ b/src/html/html_frameset_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_frame_set_element_initialise(struct dom_html_document *d
struct dom_html_frame_set_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_FRAMESET],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FRAMESET],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_head_element.c b/src/html/html_head_element.c
index 00d4476..7082cef 100644
--- a/src/html/html_head_element.c
+++ b/src/html/html_head_element.c
@@ -57,8 +57,8 @@ dom_exception _dom_html_head_element_initialise(struct dom_html_document *doc,
struct dom_html_head_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_HEAD],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_HEAD],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_heading_element.c b/src/html/html_heading_element.c
index ba2842f..ce298fb 100644
--- a/src/html/html_heading_element.c
+++ b/src/html/html_heading_element.c
@@ -63,8 +63,7 @@ dom_exception _dom_html_heading_element_initialise(struct dom_html_document *doc
dom_string *prefix, struct dom_html_heading_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- tag_name, namespace,
- prefix);
+ tag_name, namespace, prefix);
}
/**
diff --git a/src/html/html_hr_element.c b/src/html/html_hr_element.c
index eb8aa68..7ecab7a 100644
--- a/src/html/html_hr_element.c
+++ b/src/html/html_hr_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_hr_element_initialise(struct dom_html_document *doc,
struct dom_html_hr_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_HR],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_HR],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_html_element.c b/src/html/html_html_element.c
index ee26019..0a91efe 100644
--- a/src/html/html_html_element.c
+++ b/src/html/html_html_element.c
@@ -28,7 +28,7 @@ static struct dom_element_protected_vtable _protect_vtable = {
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *namespace, dom_string *prefix,
struct dom_html_html_element **ele)
{
struct dom_node_internal *node;
@@ -53,11 +53,12 @@ dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
* \return DOM_NO_ERR on success, appropriate dom_exception on failure.
*/
dom_exception _dom_html_html_element_initialise(struct dom_html_document *doc,
- dom_string *namespace, dom_string *prefix,
+ dom_string *namespace, dom_string *prefix,
struct dom_html_html_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_HTML], namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_HTML],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_iframe_element.c b/src/html/html_iframe_element.c
index 41a30d9..80b39a7 100644
--- a/src/html/html_iframe_element.c
+++ b/src/html/html_iframe_element.c
@@ -46,7 +46,8 @@ dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_iframe_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_iframe_element_initialise(doc,
+ namespace, prefix, *ele);
}
/**
@@ -61,8 +62,8 @@ dom_exception _dom_html_iframe_element_initialise(struct dom_html_document *doc,
struct dom_html_iframe_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_IFRAME],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_IFRAME],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_image_element.c b/src/html/html_image_element.c
index fe20cfa..4c5a5f3 100644
--- a/src/html/html_image_element.c
+++ b/src/html/html_image_element.c
@@ -62,8 +62,8 @@ dom_exception _dom_html_image_element_initialise(struct dom_html_document *doc,
struct dom_html_image_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_IMG],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_IMG],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_input_element.c b/src/html/html_input_element.c
index bbea087..a90ec40 100644
--- a/src/html/html_input_element.c
+++ b/src/html/html_input_element.c
@@ -69,8 +69,8 @@ dom_exception _dom_html_input_element_initialise(struct dom_html_document *doc,
ele->checked_set = false;
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_INPUT],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_INPUT],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_isindex_element.c b/src/html/html_isindex_element.c
index e79e011..51611b3 100644
--- a/src/html/html_isindex_element.c
+++ b/src/html/html_isindex_element.c
@@ -59,8 +59,8 @@ dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc
struct dom_html_isindex_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_ISINDEX],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_ISINDEX],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_label_element.c b/src/html/html_label_element.c
index c3a522f..2303892 100644
--- a/src/html/html_label_element.c
+++ b/src/html/html_label_element.c
@@ -59,7 +59,7 @@ dom_exception _dom_html_label_element_initialise(struct dom_html_document *doc,
struct dom_html_label_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_LABEL],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_LABEL],
namespace, prefix);
}
@@ -133,7 +133,7 @@ dom_exception dom_html_label_element_get_form(
while (form_tmp != NULL) {
if (form_tmp->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(form_tmp->name,
- doc->memoised[hds_FORM]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FORM]))
break;
form_tmp = form_tmp->parent;
diff --git a/src/html/html_legend_element.c b/src/html/html_legend_element.c
index 2d0e939..1f297e2 100644
--- a/src/html/html_legend_element.c
+++ b/src/html/html_legend_element.c
@@ -63,8 +63,8 @@ dom_exception _dom_html_legend_element_initialise(struct dom_html_document *doc,
struct dom_html_legend_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_LEGEND],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_LEGEND],
+ namespace, prefix);
}
/**
@@ -106,7 +106,7 @@ dom_exception dom_html_legend_element_get_form(
while (field_set != NULL) {
if (field_set->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(field_set->name,
- doc->memoised[hds_FIELDSET]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FIELDSET]))
break;
field_set = field_set->parent;
diff --git a/src/html/html_li_element.c b/src/html/html_li_element.c
index 7dd1d5b..f2c560e 100644
--- a/src/html/html_li_element.c
+++ b/src/html/html_li_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_li_element_initialise(struct dom_html_document *doc,
struct dom_html_li_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_LI],
- namespace, lifix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_LI],
+ namespace, lifix);
}
/**
diff --git a/src/html/html_link_element.c b/src/html/html_link_element.c
index 7ed026d..8022a7b 100644
--- a/src/html/html_link_element.c
+++ b/src/html/html_link_element.c
@@ -59,8 +59,8 @@ dom_exception _dom_html_link_element_initialise(struct dom_html_document *doc,
struct dom_html_link_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_LINK],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_LINK],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_map_element.c b/src/html/html_map_element.c
index cf0fe5e..d20c3ce 100644
--- a/src/html/html_map_element.c
+++ b/src/html/html_map_element.c
@@ -63,8 +63,8 @@ dom_exception _dom_html_map_element_initialise(struct dom_html_document *doc,
struct dom_html_map_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_MAP],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_MAP],
+ namespace, prefix);
}
/**
@@ -163,11 +163,11 @@ dom_exception dom_html_map_element_set_##attr( \
SIMPLE_GET_SET(name);
/* The callback function for _dom_html_collection_create*/
-bool callback(struct dom_node_internal *node, void *ctx)
+bool callback(struct dom_node_internal *node, void *ctx)
{
if(node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_AREA]))
+ ((dom_html_document *)ctx)->elements[DOM_HTML_ELEMENT_TYPE_AREA]))
{
return true;
}
diff --git a/src/html/html_menu_element.c b/src/html/html_menu_element.c
index af0f34c..aadd823 100644
--- a/src/html/html_menu_element.c
+++ b/src/html/html_menu_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_menu_element_initialise(struct dom_html_document *doc,
struct dom_html_menu_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_MENU],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_MENU],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_meta_element.c b/src/html/html_meta_element.c
index 924a64d..05e6a4f 100644
--- a/src/html/html_meta_element.c
+++ b/src/html/html_meta_element.c
@@ -57,8 +57,8 @@ dom_exception _dom_html_meta_element_initialise(struct dom_html_document *doc,
struct dom_html_meta_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_META],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_META],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_mod_element.c b/src/html/html_mod_element.c
index f20a994..20f80d1 100644
--- a/src/html/html_mod_element.c
+++ b/src/html/html_mod_element.c
@@ -61,8 +61,7 @@ dom_exception _dom_html_mod_element_initialise(struct dom_html_document *doc,
dom_string *prefix, struct dom_html_mod_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- tag_name,
- namespace, prefix);
+ tag_name, namespace, prefix);
}
/**
diff --git a/src/html/html_object_element.c b/src/html/html_object_element.c
index 1568630..27d3f5a 100644
--- a/src/html/html_object_element.c
+++ b/src/html/html_object_element.c
@@ -64,7 +64,7 @@ dom_exception _dom_html_object_element_initialise(struct dom_html_document *doc,
struct dom_html_object_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_OBJECT],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_OBJECT],
namespace, prefix);
}
@@ -240,7 +240,7 @@ dom_exception dom_html_object_element_get_form(
while (form_tmp != NULL) {
if (form_tmp->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(form_tmp->name,
- doc->memoised[hds_FORM]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_FORM]))
break;
form_tmp = form_tmp->parent;
diff --git a/src/html/html_olist_element.c b/src/html/html_olist_element.c
index 3046553..6595ea5 100644
--- a/src/html/html_olist_element.c
+++ b/src/html/html_olist_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_olist_element_initialise(struct dom_html_document *doc,
struct dom_html_olist_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_OL],
- namespace, o_listfix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_OL],
+ namespace, o_listfix);
}
/**
diff --git a/src/html/html_opt_group_element.c b/src/html/html_opt_group_element.c
index cb0c207..cdee6e7 100644
--- a/src/html/html_opt_group_element.c
+++ b/src/html/html_opt_group_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_opt_group_element_initialise(struct dom_html_document *d
struct dom_html_opt_group_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_OPTGROUP],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_OPTGROUP],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_option_element.c b/src/html/html_option_element.c
index b777c5f..e352562 100644
--- a/src/html/html_option_element.c
+++ b/src/html/html_option_element.c
@@ -66,8 +66,8 @@ dom_exception _dom_html_option_element_initialise(struct dom_html_document *doc,
ele->default_selected_set = false;
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_OPTION],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_OPTION],
+ namespace, prefix);
}
/**
@@ -106,7 +106,7 @@ dom_exception dom_html_option_element_get_form(
while (select != NULL) {
if (select->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(select->name,
- doc->memoised[hds_SELECT]))
+ doc->elements[DOM_HTML_ELEMENT_TYPE_SELECT]))
break;
select = select->parent;
@@ -265,7 +265,7 @@ dom_exception dom_html_option_element_get_index(
if((dom_node_internal *)option == n) {
*index = idx;
break;
- } else if(dom_string_caseless_isequal(n->name,doc->memoised[hds_OPTION])) {
+ } else if(dom_string_caseless_isequal(n->name,doc->elements[DOM_HTML_ELEMENT_TYPE_OPTION])) {
idx += 1;
}
}
diff --git a/src/html/html_options_collection.c b/src/html/html_options_collection.c
index 3e06915..8f6f4c4 100644
--- a/src/html/html_options_collection.c
+++ b/src/html/html_options_collection.c
@@ -41,7 +41,7 @@ dom_exception _dom_html_options_collection_create(struct dom_html_document *doc,
return DOM_NO_MEM_ERR;
return _dom_html_options_collection_initialise(doc, *col, root,
- ic, ctx);
+ ic, ctx);
}
/**
diff --git a/src/html/html_paragraph_element.c b/src/html/html_paragraph_element.c
index 20a6c28..63c50b2 100644
--- a/src/html/html_paragraph_element.c
+++ b/src/html/html_paragraph_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_paragraph_element_initialise(struct dom_html_document *d
struct dom_html_paragraph_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_P],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_P],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_param_element.c b/src/html/html_param_element.c
index 6bda015..a858717 100644
--- a/src/html/html_param_element.c
+++ b/src/html/html_param_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_param_element_initialise(struct dom_html_document *doc,
struct dom_html_param_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_PARAM],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_PARAM],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_pre_element.c b/src/html/html_pre_element.c
index 8f564c2..c5f7ced 100644
--- a/src/html/html_pre_element.c
+++ b/src/html/html_pre_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_pre_element_initialise(struct dom_html_document *doc,
struct dom_html_pre_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_PRE],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_PRE],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c
index d16bad8..988ef5b 100644
--- a/src/html/html_quote_element.c
+++ b/src/html/html_quote_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc,
struct dom_html_quote_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_Q],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_Q],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_script_element.c b/src/html/html_script_element.c
index e0038f5..3bdf8cd 100644
--- a/src/html/html_script_element.c
+++ b/src/html/html_script_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_script_element_initialise(struct dom_html_document *doc,
struct dom_html_script_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_SCRIPT],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_SCRIPT],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c
index 3d199bb..438a365 100644
--- a/src/html/html_select_element.c
+++ b/src/html/html_select_element.c
@@ -65,7 +65,7 @@ dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc,
ele->form = NULL;
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_SELECT],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_SELECT],
namespace, prefix);
}
@@ -695,7 +695,8 @@ bool is_option(struct dom_node_internal *node, void *ctx)
dom_html_select_element *ele = ctx;
dom_html_document *doc = (dom_html_document *) dom_node_get_owner(ele);
- if (dom_string_isequal(node->name, doc->memoised[hds_OPTION]))
+ if (dom_string_isequal(node->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_OPTION]))
return true;
return false;
diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c
index d387e8d..cdf1714 100644
--- a/src/html/html_table_element.c
+++ b/src/html/html_table_element.c
@@ -65,7 +65,7 @@ dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc,
struct dom_html_table_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_TABLE],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TABLE],
namespace, prefix);
}
@@ -183,7 +183,9 @@ dom_exception dom_html_table_element_get_caption(
for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) {
if((node_tmp->type == DOM_ELEMENT_NODE) &&
- dom_string_caseless_isequal(doc->memoised[hds_CAPTION],node_tmp->name)) {
+ dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
+ node_tmp->name)) {
break;
}
}
@@ -212,8 +214,9 @@ dom_exception dom_html_table_element_set_caption(
if (check_node == NULL) {
return DOM_HIERARCHY_REQUEST_ERR;
}
- if (!dom_string_caseless_isequal(doc->memoised[hds_CAPTION],
- check_node->name)) {
+ if (!dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
+ check_node->name)) {
return DOM_HIERARCHY_REQUEST_ERR;
}
@@ -239,7 +242,9 @@ dom_exception dom_html_table_element_get_t_head(
for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) {
if((node_tmp->type == DOM_ELEMENT_NODE) &&
- dom_string_caseless_isequal(doc->memoised[hds_THEAD],node_tmp->name)) {
+ dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD],
+ node_tmp->name)) {
break;
}
}
@@ -267,7 +272,9 @@ dom_exception dom_html_table_element_set_t_head(
if (check_node == NULL) {
return DOM_HIERARCHY_REQUEST_ERR;
}
- if (!dom_string_caseless_isequal(doc->memoised[hds_CAPTION],check_node->name)) {
+ if (!dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
+ check_node->name)) {
return DOM_HIERARCHY_REQUEST_ERR;
}
@@ -293,8 +300,9 @@ dom_exception dom_html_table_element_get_t_foot(
for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) {
if ((node_tmp->type == DOM_ELEMENT_NODE) &&
- dom_string_caseless_isequal(doc->memoised[hds_TFOOT],
- node_tmp->name)) {
+ dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
+ node_tmp->name)) {
break;
}
}
@@ -323,7 +331,9 @@ dom_exception dom_html_table_element_set_t_foot(
return DOM_HIERARCHY_REQUEST_ERR;
}
- if(!dom_string_caseless_isequal(doc->memoised[hds_TFOOT],check_node->name)) {
+ if(!dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
+ check_node->name)) {
return DOM_HIERARCHY_REQUEST_ERR;
}
@@ -345,9 +355,10 @@ dom_exception dom_html_table_element_set_t_foot(
*/
bool table_rows_callback(struct dom_node_internal *node, void *ctx)
{
+ dom_html_document *doc = ctx;
if(node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_TR])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TR])) {
return true;
}
return false;
@@ -378,9 +389,10 @@ dom_exception dom_html_table_element_get_rows(
*/
bool table_t_bodies_callback(struct dom_node_internal *node, void *ctx)
{
+ dom_html_document *doc = ctx;
if(node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_TBODY])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY])) {
return true;
}
return false;
@@ -492,7 +504,7 @@ dom_exception dom_html_table_element_create_t_foot(
dom_node *new_t_foot;
exp = _dom_html_table_section_element_create(doc,
- doc->memoised[hds_TFOOT],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT],
((dom_node_internal *)element)->namespace,
((dom_node_internal *)element)->prefix,
(dom_html_table_section_element **)t_foot);
@@ -565,7 +577,7 @@ dom_exception dom_html_table_element_create_t_head(
dom_node *new_t_head;
exp = _dom_html_table_section_element_create(doc,
- doc->memoised[hds_THEAD],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD],
((dom_node_internal *)element)->namespace,
((dom_node_internal *)element)->prefix,
(dom_html_table_section_element **)t_head);
@@ -643,7 +655,7 @@ dom_exception dom_html_table_element_create_t_body(
dom_node *new_t_body;
exp = _dom_html_table_section_element_create(doc,
- doc->memoised[hds_TBODY],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
((dom_node_internal *)element)->namespace,
((dom_node_internal *)element)->prefix,
t_body);
@@ -768,7 +780,9 @@ dom_exception dom_html_table_element_insert_row(
for (n = n->first_child; n != NULL; n = n->next) {
if((n->type == DOM_ELEMENT_NODE) &&
- dom_string_caseless_isequal(doc->memoised[hds_TBODY],n->name)) {
+ dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
+ n->name)) {
exp = dom_html_table_section_element_get_rows((dom_html_table_section_element *)n, &rows);
exp = dom_html_collection_get_length(rows, §ion_len);
@@ -881,7 +895,9 @@ dom_exception dom_html_table_element_delete_row(
for (n = n->first_child; n != NULL; n = n->next) {
if((n->type == DOM_ELEMENT_NODE) &&
- dom_string_caseless_isequal(doc->memoised[hds_TBODY],n->name)) {
+ dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY],
+ n->name)) {
exp = dom_html_table_section_element_get_rows
((dom_html_table_section_element *)n, &rows);
if(exp != DOM_NO_ERR) {
diff --git a/src/html/html_tablecaption_element.c b/src/html/html_tablecaption_element.c
index d2c3fc6..ddb2d5c 100644
--- a/src/html/html_tablecaption_element.c
+++ b/src/html/html_tablecaption_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_table_caption_element_initialise(struct dom_html_documen
struct dom_html_table_caption_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_CAPTION],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_CAPTION],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_tablecell_element.c b/src/html/html_tablecell_element.c
index 796bbc9..c881440 100644
--- a/src/html/html_tablecell_element.c
+++ b/src/html/html_tablecell_element.c
@@ -47,7 +47,8 @@ dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_cell_element_initialise(doc, tag_name, namespace, prefix, *ele);
+ return _dom_html_table_cell_element_initialise(doc, tag_name,
+ namespace, prefix, *ele);
}
/**
@@ -185,7 +186,9 @@ dom_exception dom_html_table_cell_element_get_cell_index(
int32_t cnt = 0;
dom_node_internal *root;
while(n != NULL) {
- if(dom_string_caseless_isequal(doc->memoised[hds_TR],n->name)) {
+ if(dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
+ n->name)) {
break;
}
n = n->parent;
@@ -195,8 +198,12 @@ dom_exception dom_html_table_cell_element_get_cell_index(
if(n == (dom_node_internal *)table_cell) {
break;
} else if((n->type == DOM_ELEMENT_NODE) &&
- (dom_string_caseless_isequal(doc->memoised[hds_TD],n->name) ||
- dom_string_caseless_isequal(doc->memoised[hds_TH],n->name))) {
+ (dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TD],
+ n->name) ||
+ dom_string_caseless_isequal(
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TH],
+ n->name))) {
cnt += 1;
}
if(n->first_child != NULL) {
@@ -233,8 +240,8 @@ dom_exception dom_html_table_cell_element_get_cell_index(
dom_exception dom_html_table_cell_element_get_col_span(
dom_html_table_cell_element *table_cell, dom_ulong *col_span)
{
- return dom_html_element_get_dom_ulong_property(&table_cell->base, "colspan",
- SLEN("colspan"), col_span);
+ return dom_html_element_get_dom_ulong_property(&table_cell->base,
+ "colspan", SLEN("colspan"), col_span);
}
/**
@@ -247,8 +254,8 @@ dom_exception dom_html_table_cell_element_get_col_span(
dom_exception dom_html_table_cell_element_set_col_span(
dom_html_table_cell_element *table_cell, dom_ulong col_span)
{
- return dom_html_element_set_dom_ulong_property(&table_cell->base, "colspan",
- SLEN("colspan"), col_span);
+ return dom_html_element_set_dom_ulong_property(&table_cell->base,
+ "colspan", SLEN("colspan"), col_span);
}
/**
@@ -261,8 +268,8 @@ dom_exception dom_html_table_cell_element_set_col_span(
dom_exception dom_html_table_cell_element_get_row_span(
dom_html_table_cell_element *table_cell, dom_ulong *row_span)
{
- return dom_html_element_get_dom_ulong_property(&table_cell->base, "rowspan",
- SLEN("rowspan"), row_span);
+ return dom_html_element_get_dom_ulong_property(&table_cell->base,
+ "rowspan", SLEN("rowspan"), row_span);
}
/**
@@ -275,8 +282,8 @@ dom_exception dom_html_table_cell_element_get_row_span(
dom_exception dom_html_table_cell_element_set_row_span(
dom_html_table_cell_element *table_cell, dom_ulong row_span)
{
- return dom_html_element_set_dom_ulong_property(&table_cell->base, "rowspan",
- SLEN("rowspan"), row_span);
+ return dom_html_element_set_dom_ulong_property(&table_cell->base,
+ "rowspan", SLEN("rowspan"), row_span);
}
/**
diff --git a/src/html/html_tablecol_element.c b/src/html/html_tablecol_element.c
index cf21a24..d3d985b 100644
--- a/src/html/html_tablecol_element.c
+++ b/src/html/html_tablecol_element.c
@@ -46,7 +46,8 @@ dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_col_element_initialise(doc, tag_name, namespace, prefix, *ele);
+ return _dom_html_table_col_element_initialise(doc, tag_name,
+ namespace, prefix, *ele);
}
/**
@@ -61,8 +62,7 @@ dom_exception _dom_html_table_col_element_initialise(struct dom_html_document *d
struct dom_html_table_col_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- tag_name,
- namespace, prefix);
+ tag_name, namespace, prefix);
}
/**
diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c
index e4d3514..0a0fb1e 100644
--- a/src/html/html_tablerow_element.c
+++ b/src/html/html_tablerow_element.c
@@ -49,7 +49,8 @@ dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc,
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_row_element_initialise(doc, namespace, prefix, *ele);
+ return _dom_html_table_row_element_initialise(doc,
+ namespace, prefix, *ele);
}
/**
@@ -64,7 +65,7 @@ dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *d
struct dom_html_table_row_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_TR],
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TR],
namespace, prefix);
}
@@ -185,21 +186,26 @@ dom_exception dom_html_table_row_element_get_row_index(
uint32_t count = 0;
- for(n = n->first_child; n != (dom_node_internal *)table_row;
+ for (n = n->first_child; n != (dom_node_internal *)table_row;
n = n->next) {
- if(n->type == DOM_ELEMENT_NODE &&
- dom_string_caseless_isequal(n->name,doc->memoised[hds_TR])) {
+ if(n->type == DOM_ELEMENT_NODE &&
+ dom_string_caseless_isequal(n->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TR])) {
count += 1;
- }
+ }
}
- if(dom_string_caseless_isequal((parent->parent)->name, doc->memoised[hds_TABLE]) &&
- dom_string_caseless_isequal(parent->name, doc->memoised[hds_THEAD])
- ) {
+ if (dom_string_caseless_isequal((parent->parent)->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TABLE]) &&
+ dom_string_caseless_isequal(parent->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_THEAD])) {
*row_index = count;
- }else if(dom_string_caseless_isequal((parent->parent)->name, doc->memoised[hds_TABLE]) &&
- (dom_string_caseless_isequal(parent->name, doc->memoised[hds_TBODY]) ||
- dom_string_caseless_isequal(parent->name, doc->memoised[hds_TFOOT]))) {
+ } else if (dom_string_caseless_isequal((parent->parent)->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TABLE]) &&
+ (dom_string_caseless_isequal(parent->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY]) ||
+ dom_string_caseless_isequal(parent->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TFOOT]))) {
uint32_t len;
dom_html_table_section_element *t_head;
dom_html_collection *rows;
@@ -227,7 +233,8 @@ dom_exception dom_html_table_row_element_get_row_index(
for (n = n->first_child;n != parent && n != NULL;
n = n->next) {
- if (dom_string_caseless_isequal(n->name, doc->memoised[hds_TBODY])) {
+ if (dom_string_caseless_isequal(n->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TBODY])) {
exp = dom_html_table_section_element_get_rows(
(dom_html_table_section_element *)n,
&rows);
@@ -265,12 +272,13 @@ dom_exception dom_html_table_row_element_get_section_row_index(
dom_node_internal *n = ((dom_node_internal *)table_row)->parent;
dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) table_row)->owner;
int32_t count = 0;
- for(n = n->first_child; n != (dom_node_internal *)table_row;
+ for (n = n->first_child; n != (dom_node_internal *)table_row;
n = n->next) {
- if(n->type == DOM_ELEMENT_NODE &&
- dom_string_caseless_isequal(n->name, doc->memoised[hds_TR])) {
+ if (n->type == DOM_ELEMENT_NODE &&
+ dom_string_caseless_isequal(n->name,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TR])) {
count += 1;
- }
+ }
}
*section_row_index = count;
return DOM_NO_ERR;
@@ -285,9 +293,10 @@ dom_exception dom_html_table_row_element_get_section_row_index(
*/
bool table_cells_callback(struct dom_node_internal *node, void *ctx)
{
- if(node->type == DOM_ELEMENT_NODE &&
+ dom_html_document *doc = ctx;
+ if (node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_TD])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TD])) {
return true;
}
return false;
@@ -323,33 +332,34 @@ dom_exception dom_html_table_row_element_insert_cell(
dom_node *node; /*< The node at the (index)th position*/
- dom_html_collection *cells; /*< The collection of cells in input table_row_element*/
+ dom_html_collection *cells; /*< The collection of cells in input table_row_element*/
uint32_t len; /*< The size of the cell collection */
dom_exception exp; /*< Variable for getting the exceptions*/
- exp = _dom_html_element_create(doc, doc->memoised[hds_TD],
+ exp = _dom_html_element_create(doc,
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TD],
((dom_node_internal *)element)->namespace,
((dom_node_internal *)element)->prefix,
cell);
- if(exp != DOM_NO_ERR)
+ if (exp != DOM_NO_ERR)
return exp;
exp = dom_html_table_row_element_get_cells(element, &cells);
- if(exp != DOM_NO_ERR) {
+ if (exp != DOM_NO_ERR) {
dom_node_unref(*cell);
return exp;
}
exp = dom_html_collection_get_length(cells, &len);
- if(exp != DOM_NO_ERR) {
+ if (exp != DOM_NO_ERR) {
dom_node_unref(*cell);
return exp;
}
- if(index < -1 || index > (int32_t)len) {
+ if (index < -1 || index > (int32_t)len) {
/* Check for index validity */
dom_html_collection_unref (cells);
return DOM_INDEX_SIZE_ERR;
- } else if(index == -1 || index == (int32_t)len) {
+ } else if (index == -1 || index == (int32_t)len) {
dom_node *new_cell;
dom_html_collection_unref(cells);
@@ -363,8 +373,7 @@ dom_exception dom_html_table_row_element_insert_cell(
dom_html_collection_unref(cells);
return dom_node_insert_before(element,
- *cell, node,
- &new_cell);
+ *cell, node, &new_cell);
}
}
diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c
index dbc0902..9718612 100644
--- a/src/html/html_tablesection_element.c
+++ b/src/html/html_tablesection_element.c
@@ -50,7 +50,8 @@ dom_exception _dom_html_table_section_element_create(struct dom_html_document *d
node->base.vtable = &_dom_html_element_vtable;
node->vtable = &_protect_vtable;
- return _dom_html_table_section_element_initialise(doc, tag_name, namespace, prefix, *ele);
+ return _dom_html_table_section_element_initialise(doc, tag_name,
+ namespace, prefix, *ele);
}
/**
@@ -168,9 +169,10 @@ SIMPLE_GET_SET(v_align);
/* The callback function for _dom_html_collection_create*/
bool table_section_callback(struct dom_node_internal *node, void *ctx)
{
+ dom_html_document *doc = ctx;
if(node->type == DOM_ELEMENT_NODE &&
dom_string_caseless_isequal(node->name,
- ((dom_html_document *)ctx)->memoised[hds_TR])) {
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TR])) {
return true;
}
return false;
diff --git a/src/html/html_text_area_element.c b/src/html/html_text_area_element.c
index ac90a76..cfc3bed 100644
--- a/src/html/html_text_area_element.c
+++ b/src/html/html_text_area_element.c
@@ -67,8 +67,8 @@ dom_exception _dom_html_text_area_element_initialise(struct dom_html_document *d
ele->value_set = false;
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_TEXTAREA],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TEXTAREA],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_title_element.c b/src/html/html_title_element.c
index 80da5e1..e2107c8 100644
--- a/src/html/html_title_element.c
+++ b/src/html/html_title_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_title_element_initialise(struct dom_html_document *doc,
struct dom_html_title_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_TITLE],
- namespace, prefix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_TITLE],
+ namespace, prefix);
}
/**
diff --git a/src/html/html_ulist_element.c b/src/html/html_ulist_element.c
index e7f8bb3..17d31a9 100644
--- a/src/html/html_ulist_element.c
+++ b/src/html/html_ulist_element.c
@@ -61,8 +61,8 @@ dom_exception _dom_html_u_list_element_initialise(struct dom_html_document *doc,
struct dom_html_u_list_element *ele)
{
return _dom_html_element_initialise(doc, &ele->base,
- doc->memoised[hds_UL],
- namespace, u_listfix);
+ doc->elements[DOM_HTML_ELEMENT_TYPE_UL],
+ namespace, u_listfix);
}
/**
--
Document Object Model library
7 years, 10 months