about summary refs log tree commit diff stats
path: root/src/html/dom.nim
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove JSObject again, add File API constructorbptato2023-06-081-7/+7
|
* Add support for width, height media querybptato2023-06-071-0/+2
|
* Refactor bitmap, add png color modesbptato2023-06-061-0/+2
| | | | | Now PNG encoding/decoding, painting, etc. are done in separate files. Plus we support all color modes except indexed color.
* Add support for canvas and multipartbptato2023-06-051-79/+478
| | | | | | | | | | | | | | | Quite incomplete canvas implementation. Crucially, the layout engine can't do much with whatever is drawn because it doesn't support images yet. I've re-introduced multipart as well, with the FormData API. For the append function I've also introduced a hack to the JS binding generator that allows requesting the JSContext pointer in nim procs. Really I should just fix the union generator thing and add support for overloading. In conclusion, for now the only thing canvas can be used for is exporting it as PNG and uploading it somewhere. Also, we now have PNG encoding and decoding too. (Now if only we had sixels as well...)
* Add some console functions to DOMbptato2023-06-011-0/+17
| | | | Mainly to avoid errors
* Add setTimeout, setInterval to windowbptato2023-06-011-0/+2
|
* Rewrite new Request bindingbptato2023-05-211-1/+4
| | | | | Still far from perfect, but now at least it has a bit more to do with what the standard mandates.
* remove stray eprint, remove unused make*bptato2023-05-131-6/+0
|
* dom: fix one-off error in insertNodebptato2023-04-301-2/+1
| | | | This caused the last child node to not be copied.
* nim 1.6.12 supportbptato2023-04-161-1/+1
|
* dom: store index among siblings for nodesbptato2023-03-101-57/+67
|
* dom: set document url in constructorbptato2023-03-081-1/+2
|
* dom: set childonly flags where neededbptato2023-02-141-6/+7
|
* html/dom: add Node.remove()bptato2023-02-131-1/+4
|
* css/cascade: remove scoped sheetsbptato2023-01-071-13/+26
| | | | ...in favor of handling all style elements like other browsers
* dom: fix object conversion bug in optionsbptato2023-01-051-1/+1
|
* client, pager, dom, ...: better error handlingbptato2023-01-041-7/+5
| | | | Now the browser shouldn't completely die when a buffer crashes.
* dom: add better attribute reflectionbptato2023-01-021-104/+222
| | | | | Instead of creating a new function for each attribute, use a single magic function for reflected attributes.
* dom: support a few more getters/settersbptato2023-01-021-8/+47
|
* Add support for <label>bptato2023-01-021-1/+53
|
* dom: fix collection cachingbptato2022-12-271-37/+51
| | | | Use ids instead of pure pointers, so we can utilize the JS finalizer.
* Implement DOMTokenList, item functions for collectionsbptato2022-12-261-34/+125
|
* getElementsByClassName on Document and Elementbptato2022-12-261-3/+9
| | | | Instead of Node.
* Correct attribute functions, de-extern jserrbptato2022-12-261-75/+54
| | | | | | Instead of unnecessarily marking every jserr function as *, add the used pragma (so the C compiler can get rid of them later.) Also, use the correct definition of attribute namespace.
* dom: correct constructors, more create functionsbptato2022-12-261-43/+85
|
* DOM: implement many new methodsbptato2022-12-261-8/+121
|
* dom: add navigator objectbptato2022-12-261-2/+12
|
* dom: fix select default displaybptato2022-12-211-3/+15
|
* Add unicode normalization, etcbptato2022-12-191-2/+2
|
* More DOM workbptato2022-12-191-243/+534
|
* More work on DOM (incl. bugfixes)bptato2022-12-191-143/+129
|
* Add JS support to documentsbptato2022-12-181-41/+503
|
* Fix typobptato2022-11-301-1/+1
|
* Add textareabptato2022-11-281-45/+112
| | | | Editing is implemented using an external editor (like vi).
* Add support for <button>bptato2022-11-271-2/+23
|
* Re-enable media queriesbptato2022-10-191-4/+11
|
* Rename jsget/jsset to jsfget/jsfset for functionsbptato2022-09-161-5/+5
| | | | | The original idea was to use the same pragmas as object members, but unfortunately this doesn't seem to work consistently after all.
* Bugfixes & test JS event loopbptato2022-09-161-8/+42
|
* More JS bindingsbptato2022-09-131-12/+63
|
* Fix nth-child bugs, rename select to matchbptato2022-08-231-3/+15
|
* Add interactive <select>bptato2022-07-311-2/+17
|
* Add SupportedFormAssociatedElementsbptato2022-07-301-3/+2
|
* Fix incorrect use of del()bptato2022-07-291-1/+1
|
* Fix StyledNode invalidation & othersbptato2022-07-271-4/+3
|
* Fix an infinite loop in getElementByIdbptato2022-07-231-11/+4
|
* Optimize dombptato2022-07-211-74/+72
|
* Enable remote stylesheets; fix inline block valuesbptato2022-07-181-1/+2
|
* Implement select element displaybptato2022-07-171-53/+174
| | | | | You can't actually use them yet. But at least they don't flood the screen with options now.
* Fix formsbptato2022-07-171-22/+17
|
* Use StyledNodes instead of passing the entire DOM to the layout enginebptato2022-07-161-36/+6
| | | | | This moves pseudo element generation to the cascading phase. For now it also breaks style caching.