summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* xmlparser/libxml: abort on dom errorsHEADmasterJohn-Mark Bell9 days2-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 Bell9 days1-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>
* element: Issue DOMSubtreeModified *after* updating attr valueDaniel Silverstone2019-08-041-4/+4
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* html_text_area_element: Set node text content on value changeDaniel Silverstone2019-08-041-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Update component version for releaserelease/0.4.0Vincent Sanders2019-07-171-1/+1
|
* String: remove innards from public header.John-Mark Bell2019-06-292-14/+14
| | | | | | | | | A dom_string is the first member of the underlying dom_string_internal and thus their addresses are equivalent. We shouldn't be exposing the internal alignment requirements through the public header at all, so remove the bogus _ALIGNED and cast through void internally to tell the compiler that we know what we're doing.