about summary refs log tree commit diff stats
path: root/src/buffer/buffer.nim
Commit message (Collapse)AuthorAgeFilesLines
* Add popup menu for select elementbptato2023-07-051-91/+150
| | | | | | | Replaces the weird CSS implementation we have had until now with a searchable popup menu similar to that of w3m. (The previous implementation broke on websites that do not expect <select> to expand on click, had no separate search, and was ugly.)
* Do not conditionally disable CastSizesbptato2023-07-031-6/+1
| | | | ...because that doesn't work at all.
* Fix JS type conversion regressionsbptato2023-07-031-3/+6
|
* Fix CastSize warningsbptato2023-07-031-2/+4
| | | | Introduced by 1.6.14. Warns of undefined behavior.
* FormData fixesbptato2023-07-021-1/+1
|
* Add window.locationbptato2023-06-291-1/+5
| | | | Note: setters do not work yet.
* buffer: only load images if config allows itbptato2023-06-251-1/+4
|
* cookie: return error on invalid domainbptato2023-06-251-2/+2
|
* Improve broken cookie handling, add multipart to formbptato2023-06-251-2/+2
| | | | | | | | Now it's not as horribly broken as before (but it's still far from perfect). We can at least log in to sr.ht (hooray). The form multipart part is straightforward, just pass what we used to pass long ago before I broke multipart.
* Do not allow text() twice, etc...bptato2023-06-201-14/+17
|
* Reject fetch promise on network errorbptato2023-06-191-12/+17
| | | | Instead of setting the non-standard res variable.
* Get rid of the .jserr pragmabptato2023-06-191-11/+9
|
* Rework JS exception systembptato2023-06-191-13/+24
| | | | | Now we use Result for passing exceptions to JS. As a result, we can finally get rid of the .jserr pragma.
* Cleanups & bug fixes involving promisesbptato2023-06-151-6/+13
| | | | | Now a promise returning nil doesn't just leave the rest of the then chain hanging. Hooray.
* Make Result.text, json return promisebptato2023-06-131-4/+2
|
* Fix various layout bugs, prepare for image supportbptato2023-06-121-24/+46
|
* Add support for visibilitybptato2023-06-071-18/+15
|
* Add support for width, height media querybptato2023-06-071-4/+6
|
* Clean up stream error handlingbptato2023-06-071-6/+6
| | | | | | * sread now raises EOFError if readData returns too few bytes * buffer handleError ignores unregistered fds like client * client handleError ignores unregistered fds like buffer
* buffer: call handleError before handleRead & miscbptato2023-06-051-6/+6
|
* Add support for canvas and multipartbptato2023-06-051-82/+28
| | | | | | | | | | | | | | | 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 setTimeout, setInterval to windowbptato2023-06-011-49/+60
|
* Refactor config, add charset optsbptato2023-05-161-11/+12
| | | | Only document-charset supported for now.
* Set buffer state to LOADED on finishLoadbptato2023-05-141-2/+2
|
* Name negative response codesbptato2023-05-141-2/+4
|
* Async resource loading, exception handling fixesbptato2023-05-141-18/+60
|
* Fix some fetch crashesbptato2023-05-111-0/+1
| | | | Now it should work for very basic use-cases
* Temporarily disable multipartbptato2023-04-301-1/+1
| | | | It never really worked, and I can't be bothered to fix it now
* WIP fetchbptato2023-04-301-0/+10
|
* buffer: disable popup confirmation for formsbptato2023-04-101-4/+13
|
* buffer: adapt onload to PosixStream and SocketStreambptato2023-02-131-15/+14
|
* buffer: fix infinite loop in getClickablebptato2023-01-031-2/+3
|
* buffer: fix infinite loopbptato2023-01-031-1/+2
|
* dom: add better attribute reflectionbptato2023-01-021-2/+3
| | | | | Instead of creating a new function for each attribute, use a single magic function for reflected attributes.
* Add support for <label>bptato2023-01-021-93/+111
|
* loader: proper redirect handlingbptato2023-01-011-1/+1
|
* buffer: fix some search bugs & refactor regex stuffbptato2023-01-011-28/+26
| | | | | | | | 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.
* Add promise support to JSbptato2022-12-311-79/+40
|
* Consistent naming of parseURL, non-public newURLParamsbptato2022-12-261-4/+4
|
* More DOM workbptato2022-12-191-9/+1
|
* Add JS support to documentsbptato2022-12-181-15/+21
|
* Allow cycling through hover-texts with ubptato2022-12-161-23/+30
|
* container: do not load all lines at once in readLinesbptato2022-12-151-3/+9
|
* makeCRLF: move to twtstr, write last charbptato2022-12-151-16/+0
|
* Fix error handling on buffer closebptato2022-12-151-14/+18
|
* Make load() slightly less dumbbptato2022-12-151-51/+98
| | | | | This gets rid of the inefficient timeout thing. Still, the ideal solution would be to move the timeout into the container; TODO.
* cssparser: check for EOF in first read chunkbptato2022-12-141-2/+2
| | | | To-do: use decoderstream...
* Add referer support, re-render on windowChangebptato2022-12-131-1/+21
|
* Fix stream error handling confusion, title displaybptato2022-12-131-9/+16
| | | | Also probably other fixes.
* Add all sorts of config options and cookiesbptato2022-12-131-1/+7
|