about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* layout: inline table fixesbptato2024-07-274-55/+188
| | | | | | | * properly wrap inline internal table boxes in inline-table (instead of block-level table) * fix missing baseline in table wrapper boxes * fix wrong wrapping of misparented table/row/row group children
* layout: position: relative, absolute fixesbptato2024-07-263-34/+63
| | | | | | | | | | * support position: absolute on flex items * proper top/bottom/left/right calculation for position: relative * push positioned flex box sizes to positioned stack Still not perfect: position: absolute should always resolve percentage sizes and top/bottom/left/right, meaning absolute layout needs to be delayed until its containing box is fully layouted.
* url: fix URLSearchParams implementationbptato2024-07-251-20/+19
| | | | Just allocate it on-demand so it works properly.
* layout: fix incorrect absolute positioningbptato2024-07-254-18/+97
| | | | It was broken for parent boxes with indefinite sizes.
* layout: min/max sizing fixesbptato2024-07-254-29/+60
| | | | | | | * fix max size trumping min size * respect min-width/max-width/min-height/max-height for images * fix xminwidth calculation for percentage-sized images with an indefinite containing size
* selectorparser: fix broken tostrbptato2024-07-251-11/+27
|
* url: fix a small incompatibilitybptato2024-07-252-28/+35
| | | | + some more cleanup
* url: misc fixes & improvementsbptato2024-07-244-491/+634
| | | | | | * fix various parsing bugs * rewrite state machine * other small optimizations
* client, sandbox: fix termux buildbptato2024-07-243-8/+60
| | | | | Still not perfect, because it crashes on missing /tmp dir so you have to manually set it...
* pager: fix dead containers left in replaceBackupbptato2024-07-232-0/+9
| | | | | | | | | | | fixes the following bug: * click a link that redirects somewhere * go back * discard buffer (that had the link) * discard the new buffer then you would find yourself in a zombie buffer you previously discarded
* jebp: fix NEON simd bugbptato2024-07-231-1/+1
| | | | | | SRCtype and DSTtype were mixed up. See https://todo.sr.ht/~bptato/chawan/14
* term: fix positionImage sixel size clamping (take 2)bptato2024-07-231-2/+2
| | | | | | Hope I got it right this time. (The previous iteration did not take into account the image position on the screen, so it was just as bad as the first one.)
* term: fix positionImage sixel size clampingbptato2024-07-231-6/+10
| | | | | clamping maxwpx/maxhpx crops the image starting from the canvas corner, not the image corner
* dom: fix wrong proc call in fireEventbptato2024-07-222-2/+2
| | | | dispatchEvent is for JS only, since it unsets isTrusted.
* layout: fix various flex column sizing bugsbptato2024-07-225-24/+76
| | | | | | * fix flex column item width not being stretched * set minimum flex column height to the layouted item's height (to avoid overlap)
* buffer, dom, event: JS binding for dispatchEventbptato2024-07-226-116/+152
| | | | | | * move dispatchEvent to event, add a JS binding * only reshape if the document was actually invalidated after event dispatch/interval call/etc.
* dom: fix getElementById signaturebptato2024-07-211-3/+3
|
* buffer: replace dispatchEvent procs with that in dombptato2024-07-213-37/+7
|
* dom: fix race condition in image loadingbptato2024-07-212-5/+4
| | | | | | We were not setting the invalid flag on bitmap load, so any incremental reshape could interfere with displaying images that got loaded after the reshape.
* term: fix kitty image positioningbptato2024-07-201-2/+5
| | | | only use sixelMaxWidth/sixelMaxHeight for sixel
* loader: copy cached items on buffer cloningbptato2024-07-205-8/+20
| | | | | This fixes a bug where cloning buffers with images would crash the browser.
* Update readmebptato2024-07-201-4/+7
|
* img: add webp decoder (jebp)bptato2024-07-207-2/+4885
| | | | | | | | | | It works fine AFAICT, just missing VP8 deblocking filters, so lossy WebP images don't look great. I have extended the API a bit to allow reading from stdin, not just paths. Otherwise, it's the same as matanui159/jebp. TODO: add loop filters
* buffer: fix nil deref on click without clickable elementbptato2024-07-192-7/+5
|
* Update docsbptato2024-07-192-17/+148
|
* Makefile: add distcleanbptato2024-07-192-1/+6
|
* loader: async status/headers for fetchbptato2024-07-193-30/+41
| | | | | | | | The status code & headers are no longer guaranteed to be sent right after res/outputId, so read them asynchronously instead. (This is pretty much the same code as the buffer connection handler in pager. Hopefully we can merge the two at some point.)
* html: event cleanup, XHR progressbptato2024-07-1812-198/+617
|
* luwrap: use lre_is_spacebptato2024-07-181-2/+1
|
* Update monouchabptato2024-07-182-1/+1
|
* stbi: fix incompatible function pointer typebptato2024-07-181-2/+2
| | | | clang complains about this
* dom, match, event: small cleanupbptato2024-07-173-33/+32
|
* Update monouchabptato2024-07-172-1/+1
|
* client: remove redundant global functionsbptato2024-07-161-22/+0
| | | | these are already defined on Window
* timeout: simplify, misc fixesbptato2024-07-163-90/+61
| | | | | | Merge timeout & interval code paths. This fixes clearTimeout not clearing intervals.
* term: image sizing fixesbptato2024-07-161-8/+39
| | | | | | * add sixel max width/height query * add cell size query (it's more accurate than dividing window size when you change xterm font size)
* config: support smart casebptato2024-07-166-14/+25
| | | | and enable it by default.
* io: remove readablestreambptato2024-07-141-32/+0
| | | | it was never implemented
* encoding: simplifybptato2024-07-141-66/+15
| | | | use the new API instead of the convoluted decodercore + growbuf thing
* 32-bit compilation fixesbptato2024-07-134-17/+17
| | | | | | | | It seems registerHandle/unregister doesn't accept cint as handles. Not sure why it even works on 64-bit targets... (maybe some converter weirdness?) Seems best to explicitly cast it away.
* renderdocument: fix clickable imagesbptato2024-07-121-0/+5
| | | | | | | | Paint the background with the current color, so that it gets associated with the owner styled node. (I didn't want to do this because it's slow, but otherwise image-mode gets very annoying to use.)
* css: clean up a bitbptato2024-07-123-54/+18
|
* fix compilation on 2.0.8bptato2024-07-106-9/+11
|
* cascade: reduce allocationsbptato2024-07-101-57/+42
| | | | | | | Just use the previous tree when possible. The child list is still reconstructed, but at least we no longer alloc every single node again at every single restyle.
* timeout: fix jsvalue leakbptato2024-07-102-13/+28
|
* cascade: fix style cachingbptato2024-07-092-6/+8
| | | | the invalid flag must be toggled after styling
* selectorparser: fix parseNthChild `of' token checkbptato2024-07-071-1/+3
| | | | tokenType had to be checked too
* lineedit: small cleanupbptato2024-07-071-4/+1
|
* pager: fix redirection to deleted buffersbptato2024-07-062-5/+19
| | | | | | Fixes the bug where getting redirected to a buffer that the pager then deleted (e.g. image display, site no longer available, etc.) would land you in a buffer detached from the main tree.
* main, forkserver: optimize startupbptato2024-07-063-35/+28
| | | | | Merge "load config" with "fork loader", so that the loader process gets forked one packet earlier.