about summary refs log tree commit diff stats
path: root/src/html
Commit message (Collapse)AuthorAgeFilesLines
...
* htmlparser: remove nil comparisons for Handlebptato2023-07-272-41/+52
| | | | This makes it possible to use non-reference types as Handle.
* html: include SEARCH tag in parserbptato2023-07-252-5/+7
|
* html: add SEARCH tagbptato2023-07-251-17/+17
|
* Fix compilation on nim 1.6.10bptato2023-07-171-2/+3
| | | | It appears there is a compiler bug we have to work around there.
* htmlparser: fix regressionbptato2023-07-171-2/+2
| | | | Fixed unintended variable shadowing introduced during refactoring
* htmlparser: make getTemplateContent optionalbptato2023-07-151-3/+4
|
* htmlparser: check required callbacksbptato2023-07-151-0/+13
|
* htmlparser: add parse error handlingbptato2023-07-154-281/+437
|
* htmlparser: correct outdated commentbptato2023-07-141-9/+3
|
* htmlparser: fix form association regressionbptato2023-07-102-8/+13
| | | | | | | associateWithForm was checking whether the element was in the same tree as the form, however associateWithForm is called when element is has not been inserted into the tree yet. As a fix, pass the intended parent and perform the check on that.
* htmlparser: remove more references to dombptato2023-07-092-13/+34
|
* htmlparser: more Option wrapping, remove dom referencebptato2023-07-091-18/+21
|
* htmlparser: fix fragment case, fix head bugbptato2023-07-091-8/+13
| | | | Also, wrap head in an Option
* htmltokenizer: only yield oncebptato2023-07-091-12/+22
| | | | | Seems to reverse the +200M peakmem during compile introduced by the previous commit.
* htmlparser: decouple from DOMbptato2023-07-095-542/+1110
| | | | | Instead of directly appending nodes to the DOM, use a DOMBuilder interface.
* dom: work around bad codegenbptato2023-07-041-4/+6
|
* dom: add NodeType consts to Nodebptato2023-07-042-1/+1
|
* Event: add some properties, js: add defineConstsbptato2023-07-041-2/+17
|
* htmltokenizer: fix regressionbptato2023-07-031-0/+3
| | | | we need that break statement there, it seems
* tokenizer: fix unreachable code warningbptato2023-07-031-1/+0
|
* Fix compilation failurebptato2023-07-031-1/+2
|
* Add XHR/Event stubsbptato2023-07-023-5/+22
|
* return Result[T, JSError] from fromJSbptato2023-07-021-1/+0
|
* Cache Node.children, Node.childNodesbptato2023-07-011-4/+23
| | | | To avoid unexpected behavior (e.g. node.children != node.children)
* Factor out headers into separate modulebptato2023-07-011-0/+2
|
* 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.