summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add missing tags according with WPT testHEADmasterPierre Tachoire2024-02-212-0/+36
| | | | | | | According with https://wpt.live/dom/nodes/Node-cloneNode.html test, libdom missed some hmtl tags. This commit adds tt, acronym, big, bgsound, marquee, noframes, spacer, strike and nobr tags
* bindings/xml/libxml_xmlparser.c: update for libxml2 >= 2.12.0Michael Orlitzky2024-02-081-0/+16
| | | | | | | | | | | | | | | Version 2.12.0 of libxml2 changes a few functions to return (const xmlError *) where previously they returned only (xmlError *). Compilers generally are not happy with this. For example, bindings/xml/libxml_xmlparser.c: In function 'xml_parser_start_document': bindings/xml/libxml_xmlparser.c:327:16: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] 327 | xmlerr = xmlCtxtGetLastError(parser->xml_ctx); This commit adds a few #ifdefs to handle both versions of the API cleanly. It's probably not the sexiest fix, but it's simple and gets the job done.
* bindings/xml/libxml_xmlparser.c: add stdlib.h includeMichael Orlitzky2024-02-081-0/+1
| | | | | | | | This file uses malloc() but does not include stdlib.h directly. With glibc, that apparently works out just fine... but with musl, it leads to implicit declaration warnings/errors, most likely because musl does not include stdlib.h transitively via any of the other headers used by this file.
* Update component version for releaserelease/0.4.2Vincent Sanders2023-12-271-1/+1
|
* xmlparser/libxml: abort on dom errorsJohn-Mark Bell2023-09-172-83/+145
| | | | | | Previously, we would carry on regardless, leaving inconsistent tree structures in our wake. Instead, give up as soon as something unexpected happens.
* xmlparser/libxml: abort if libxml had an errorJohn-Mark Bell2023-09-171-0/+20
| | | | | | | | | We cannot do this the intuitive way (i.e. providing a structured error callback) because, when we call on to the libxml callbacks any errors within will get reported to us but with the libxml context pointer, rather than ours. Instead, simply peek inside the context on return from the libxml handler to see if there was an error we care about.
* bindings/xml/libxml_xmlparser.c: handle an empty documentMichael Orlitzky2023-08-091-1/+5
| | | | | | | | | | | | | The xml_parser_end_document() function tries to retrieve the XML node using dom_node_get_user_data() after the parser has finished. It checks the return value of that function, but not the true result (a node pointer), which is itself passed in via a pointer. This goes wrong when the returned pointer is NULL and unusable, because the return value is always DOM_NO_ERR (meaning everything was OK). This problem manifests as a segfault (null dereference) if you try to parse an empty document using the libxml bindings. It is fixed by adding a NULL check.
* Avoid integer types with platform dependent sizeDeltaVonNeumann2023-06-152-3/+3
|
* (tokenlist): Try harder to avoid type punningDaniel Silverstone2022-11-271-2/+2
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* (tokenlist): Try and avoid type-punned pointerDaniel Silverstone2022-11-271-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* core: tokenlist: Release last_set with dom_string_unrefMichael Drake2022-11-271-1/+1
|
* DOMTokenList: Initial implementation.Daniel Silverstone2022-11-276-2/+611
| | | | | | | We cover the core behaviours of DOMTokenList and also DOMSettableTokenList so that the IDL can be implemented in NetSurf. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* (chore): Add .clang-format from NetSurf to ease developmentDaniel Silverstone2022-11-271-0/+120
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* GitHub CI: Add static analysis with CodeQLMichael Drake2022-11-171-0/+61
|
* GitHub CI: Add build and unit test workflowMichael Drake2022-11-171-0/+89
|
* DOM Walker: Rename client private word parameter.Michael Drake2021-07-093-12/+12
|
* Element: Change API to return a reference to callers.Michael Drake2021-07-051-12/+9
|
* Element: API docs: Reword based on review.Michael Drake2021-07-051-3/+12
|
* Element: Improve API documentation: Returned nodes aren't reffed.Michael Drake2021-07-051-3/+3
|
* Example: Convert to use DOM walk API.Michael Drake2021-06-291-73/+78
|
* Add DOM tree walker functionality.Michael Drake2021-06-294-2/+197
|
* Example: Clean up LWC string table.Michael Drake2021-06-281-0/+10
| | | | All leaks squashed.
* Example: Finalise namespaces.Michael Drake2021-06-281-0/+1
|
* Buildsystem: LibDOM depends on LibWapcaplet.Michael Drake2021-06-221-0/+2
| | | | | This fixes the installed pkgconfig file to express the dependency on libwapcaplet.
* Example: Fix problem on case-insensitive filesystem.Michael Drake2021-05-121-0/+6
| | | | Adds example commands to build the example.
* html element: int32 attribute getter: Handle signed values.Michael Drake2021-02-101-1/+1
|
* node: Constify get user data parameters.Michael Drake2021-02-093-8/+8
|
* Constify vtables.Michael Drake2021-02-0282-93/+93
|
* Fix pkg-config file expat library linkageJohn-Mark Bell2021-01-273-1/+7
|
* html_canvas_element: height and width have default values for canvassesDaniel Silverstone2020-10-031-2/+26
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* element: Mirror parent NULL check in dom_element_is_default_namespace()Daniel Silverstone2020-10-021-1/+6
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* html_document: Tag names of '' are invalidDaniel Silverstone2020-10-021-0/+4
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* html: Check for missing thead rather than dereffing a NULLDaniel Silverstone2020-10-011-9/+10
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Update component version to 0.4.1 for releaserelease/0.4.1Vincent Sanders2020-05-241-2/+2
| | | | Signed-off-by: Vincent Sanders <vince@kyllikki.org>
* html_title_element: Use dom_node_{get,set}_text_contentDaniel Silverstone2020-05-241-18/+2
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* html_element: Do not invert name and value setting int32 propertiesDaniel Silverstone2020-05-231-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* html_element: Do not invert name and value setting ulong propertiesDaniel Silverstone2020-05-231-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Fix HTMLCanvasElement types for width and height attributesVincent Sanders2020-04-244-13/+15
|
* Add HTMLCanvasElementVincent Sanders2020-04-235-20/+345
|
* Bindings: source is a hubbub_charset_source reallyDaniel Silverstone2020-03-261-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Node: Add a NULL guard to hopefully calm scan-buildDaniel Silverstone2020-02-221-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Deal with some scan-build-identified potential problemsDaniel Silverstone2020-02-212-1/+22
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* hubbub: Add fragment parser creation supportDaniel Silverstone2020-02-212-1/+120
| | | | | | | In order to support innerHTML, we have to support parsing into document fragments. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* dispatch: Do not blindly destroy eventsDaniel Silverstone2019-12-081-6/+6
| | | | | | | | We used to destroy events after dispatching them. The client *can* hold refs to those events which makes this blind destruction unsafe. Instead unref them and let the refcnt deal with things. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* keyboard events: Fix get location casting wrapper.Michael Drake2019-12-011-2/+2
|
* keyboard events: Update to latest DOM spec.Michael Drake2019-12-013-83/+200
|
* ui events: constructor: initialise the detail attribute.Michael Drake2019-12-011-2/+1
|
* keyboard events: constructor: initialise the key location.Michael Drake2019-12-011-4/+1
|
* keyboard events: Expose the creation function.Michael Drake2019-12-012-3/+4
|
* namespace: Support finalising the namespace stringsDaniel Silverstone2019-09-072-3/+7
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>