about summary refs log tree commit diff stats
path: root/src/html
Commit message (Collapse)AuthorAgeFilesLines
* Use separate flag for adding getset instead of reprbptato2023-07-011-2/+2
| | | | Still a hack, but maybe more reliable?
* use =destroy instead of finalizersbptato2023-07-012-0/+55
| | | | | This should help with moving to ORC in the future. (Also, finalizers do not work very well in the first place.)
* dom: synchronously load scriptsbptato2023-06-291-17/+13
| | | | | fetch() does not work here because we can only resume parsing after the script has been executed
* Add assign, replace, reload to locationbptato2023-06-291-1/+13
| | | | Just stubs: none of them actually work
* Add window.locationbptato2023-06-292-6/+140
| | | | Note: setters do not work yet.
* Remove .jsgctorbptato2023-06-291-3/+6
| | | | | Not sure how it ever worked. This fixes Text() constructors etc.
* cssparser: remove SyntaxErrorbptato2023-06-251-4/+7
| | | | return DOMException instead
* css/values: use Result instead of exceptionsbptato2023-06-251-4/+2
|
* Working Nim-QuickJS GC integrationbptato2023-06-241-1/+1
| | | | I believe this works correctly. Hopefully I'm not wrong.
* radixtree: optimize searchingbptato2023-06-231-19/+15
|
* Do not allow text() twice, etc...bptato2023-06-201-2/+4
|
* Reject fetch promise on network errorbptato2023-06-192-5/+4
| | | | Instead of setting the non-standard res variable.
* Get rid of the .jserr pragmabptato2023-06-192-152/+174
|
* Rework JS exception systembptato2023-06-191-0/+2
| | | | | Now we use Result for passing exceptions to JS. As a result, we can finally get rid of the .jserr pragma.
* input size as presentational hintbptato2023-06-181-0/+4
|
* Cleanups & bug fixes involving promisesbptato2023-06-152-12/+19
| | | | | Now a promise returning nil doesn't just leave the rest of the then chain hanging. Hooray.
* Fix various layout bugs, prepare for image supportbptato2023-06-121-5/+29
|
* Remove JSObject again, add File API constructorbptato2023-06-081-7/+7
|
* Add support for width, height media querybptato2023-06-072-1/+5
|
* 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-052-79/+495
| | | | | | | | | | | | | | | 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 module loading to clientbptato2023-06-011-1/+1
| | | | Files only, for now.
* Add setTimeout, setInterval to windowbptato2023-06-012-16/+56
|
* 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.
* Add display/output encodingbptato2023-05-191-33/+32
| | | | Some encodings are still missing
* Refactor config, add charset optsbptato2023-05-161-40/+60
| | | | Only document-charset supported for now.
* remove stray eprint, remove unused make*bptato2023-05-131-6/+0
|
* Merge branch 'wip_fetch'bptato2023-04-301-0/+6
|\
| * WIP fetchbptato2023-04-301-0/+6
| |
* | 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
|
* htmlparser: add missing reprocess token for trbptato2023-04-081-0/+1
| | | | This makes tr work correctly without tbody.
* dom: store index among siblings for nodesbptato2023-03-102-58/+68
|
* 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-072-19/+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-042-8/+8
| | | | Now the browser shouldn't completely die when a buffer crashes.
* dom: add better attribute reflectionbptato2023-01-023-109/+230
| | | | | 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-262-76/+55
| | | | | | 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-262-46/+89
|
* DOM: implement many new methodsbptato2022-12-262-8/+124
|
* dom: add navigator objectbptato2022-12-262-2/+58
|