about summary refs log tree commit diff stats
path: root/src/js
Commit message (Collapse)AuthorAgeFilesLines
* Option -> Opt in config, return error in compileSearchRegexbptato2023-06-241-11/+11
|
* Fix potential crash on startupbptato2023-06-241-4/+7
|
* Working Nim-QuickJS GC integrationbptato2023-06-241-40/+72
| | | | I believe this works correctly. Hopefully I'm not wrong.
* Fix module loading bugsbptato2023-06-221-0/+4
|
* Remove LegacyJSError, use enums for storing symbolsbptato2023-06-221-57/+45
|
* Replace nim_finalize_for_js with collectInteropCyclesbptato2023-06-201-51/+23
| | | | | | Pros: maybe doesn't corrupt memory Cons: leaks memory instead Maybe we should just use destructors...
* Do not GC_ref JS object opaquesbptato2023-06-201-1/+0
| | | | So that the finalizer is actually triggered
* Do not allow text() twice, etc...bptato2023-06-201-0/+5
|
* Do not pass JSContext to getJSValuebptato2023-06-201-5/+5
|
* Fix fromJS Opt bugsbptato2023-06-191-9/+10
|
* Reject fetch promise on network errorbptato2023-06-191-1/+1
| | | | Instead of setting the non-standard res variable.
* Get rid of the .jserr pragmabptato2023-06-191-70/+11
|
* Fix memory leak with alt pointersbptato2023-06-191-1/+6
| | | | Must unref them if unused.
* Rework JS exception systembptato2023-06-192-120/+318
| | | | | Now we use Result for passing exceptions to JS. As a result, we can finally get rid of the .jserr pragma.
* Add typeerror to jsgctorbptato2023-06-181-1/+1
|
* Cleanups & bug fixes involving promisesbptato2023-06-151-11/+16
| | | | | Now a promise returning nil doesn't just leave the rest of the then chain hanging. Hooray.
* Simplify request.json, remove unused bindingsbptato2023-06-091-9/+0
|
* Remove JSObject again, add File API constructorbptato2023-06-082-7/+1
|
* Pre-allocate alternative objects for finalizerbptato2023-06-051-3/+12
| | | | Not sure if this helps
* js: fix string regression, throw on invalid ctorbptato2023-06-051-3/+5
|
* Fix empty string crash/regressionbptato2023-06-051-1/+1
| | | | Oops
* Refactor Request constructorbptato2023-06-051-6/+8
|
* Add support for canvas and multipartbptato2023-06-052-78/+224
| | | | | | | | | | | | | | | 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 module loading to clientbptato2023-06-012-2/+53
| | | | Files only, for now.
* Add setTimeout, setInterval to windowbptato2023-06-012-0/+111
|
* Rewrite new Request bindingbptato2023-05-211-11/+16
| | | | | Still far from perfect, but now at least it has a bit more to do with what the standard mandates.
* WIP fetchbptato2023-04-301-6/+20
|
* quickjs: make JSValue distinct on 32-bitbptato2023-02-051-0/+3
|
* javascript: remove unused pointer case from getTypePtrbptato2023-01-051-1/+1
| | | | I probably removed the last call of getTypePtr with a pointer long ago.
* javascript: refactor toJSbptato2023-01-051-78/+74
| | | | Split up the huge generic toJS function.
* regex: fix setting start in unicode stringsbptato2023-01-031-1/+1
| | | | | We have to set it to (capture - cstr) >> 1, because libregexp later shifts it left.
* dom: add better attribute reflectionbptato2023-01-021-8/+30
| | | | | Instead of creating a new function for each attribute, use a single magic function for reflected attributes.
* buffer: fix some search bugs & refactor regex stuffbptato2023-01-011-27/+27
| | | | | | | | cursorBytes uses twidth now. cursorNextMatch matches the byte *after* the cursor (somewhat more consistently than before). match() no longer counts capture groups. LRE_FLAG_GLOBAL now goes through the entire string.
* javascript: more robust toJSNumberbptato2022-12-311-20/+15
|
* javascript: fix incorrect error() statementbptato2022-12-311-1/+1
|
* Remove non-existing JS type uint64bptato2022-12-311-7/+4
| | | | Oops.
* Add promise support to JSbptato2022-12-311-0/+33
|
* dom: fix collection cachingbptato2022-12-271-15/+50
| | | | Use ids instead of pure pointers, so we can utilize the JS finalizer.
* Correct attribute functions, de-extern jserrbptato2022-12-261-0/+1
| | | | | | 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-0/+19
|
* DOM: implement many new methodsbptato2022-12-261-3/+7
|
* pager: proxy values in container; js: bugfixesbptato2022-12-201-18/+18
| | | | Also, a little bonus: w3m keybindings
* Fix JS_GetPropertyNames bindingsbptato2022-12-201-1/+3
|
* More DOM workbptato2022-12-191-75/+95
|
* More work on DOM (incl. bugfixes)bptato2022-12-191-60/+120
|
* Add JS support to documentsbptato2022-12-181-199/+280
|
* Add referer support, re-render on windowChangebptato2022-12-131-2/+2
|
* Fix stream error handling confusion, title displaybptato2022-12-131-0/+3
| | | | Also probably other fixes.
* Add more cookie optionsbptato2022-12-131-0/+3
|
* regex.nim: remove unused functionsbptato2022-12-101-42/+1
| | | | Including replace.