about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* cssvalues, twtstr, mediaquery: refactor & fixesbptato2024-08-025-438/+342
| | | | | | | * cssvalues, twtstr: unify enum parsing code paths, parse enums by bisearch instead of hash tables * mediaquery: refactor (long overdue), fix range comparison syntax parsing, make ident comparisons case-insensitive (as they should be)
* Update Chagashibptato2024-08-011-1/+1
|
* env, dom: add History stub, basic LocalStoragebptato2024-07-302-0/+78
| | | | | | | * History: doesn't really do anything, just adding it to fix some pages * LocalStorage: kind of works, but does lookups with linear search, and the quota limitation is on the number of entries not their size. plus it doesn't actually store anything on disk yet (like cookies).
* console, client: optimize console.log (etc.)bptato2024-07-302-18/+39
| | | | use JSValue varargs instead
* term: constify queriesbptato2024-07-301-3/+15
| | | | | + also send register & image dimension queries in forced sixel mode, and image dimension query on window resize
* Fixes for Nim 2.2bptato2024-07-2922-307/+283
| | | | | | | | | * xmlhttprequest: fix missing import * painter: generic tuple workaround * dynstream: merge module with implementations (so it will work with vtables) Not enabling vtables yet since it doesn't work with refc.
* twtstr: fix startsWithIgnoreCasebptato2024-07-292-3/+3
|
* css: hash attribute namesbptato2024-07-293-45/+57
|
* cascade: move some presentational hints to ua.cssbptato2024-07-291-66/+0
|
* buffer, layout: small refactoringbptato2024-07-292-40/+37
|
* buffer, pager, config: add meta-refresh + misc fixesbptato2024-07-2814-128/+228
| | | | | | | | | * buffer, pager, config: add meta-refresh value, which makes it possible to follow http-equiv=refresh META tags. * config: clean up redundant format mode parser * timeout: accept varargs for params to pass on to functions * pager: add "options" dict to JS gotoURL * twtstr: remove redundant startsWithNoCase
* Update submodulesbptato2024-07-281-3/+3
|
* layout: merge neighboring wordsbptato2024-07-283-32/+28
| | | | Great performance win on large documents.
* dom: add missing nil checksbptato2024-07-271-1/+4
| | | | document is not set in the main process.
* headers, request: bring it closer to the standardbptato2024-07-277-128/+233
| | | | | | * add standard interfaces to headers * use window base URL for newRequest * remove pointless generic in newRequest
* loader: follow redirects in fetch()bptato2024-07-271-4/+21
|
* env: add alert shimbptato2024-07-271-0/+3
| | | | just call console.error for now
* loader: fix saveToBitmap for 0-len imagesbptato2024-07-271-1/+5
|
* cssvalues: fix parseDimensionValues bugbptato2024-07-271-9/+10
| | | | Whitespace-only dimension values no longer crash the parser.
* cascade: add some presentational hintsbptato2024-07-271-3/+7
| | | | | | * top/middle/bottom for img, remove redundant display: block for floats (they get blockified anyway) * map align for p too, not just div
* layout: inline table fixesbptato2024-07-271-54/+154
| | | | | | | * 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-261-34/+52
| | | | | | | | | | * 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-252-18/+26
| | | | It was broken for parent boxes with indefinite sizes.
* layout: min/max sizing fixesbptato2024-07-252-29/+58
| | | | | | | * 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-251-28/+21
| | | | + some more cleanup
* url: misc fixes & improvementsbptato2024-07-242-490/+580
| | | | | | * fix various parsing bugs * rewrite state machine * other small optimizations
* client, sandbox: fix termux buildbptato2024-07-242-8/+59
| | | | | 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
* 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-221-24/+58
| | | | | | * 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-211-3/+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.
* buffer: fix nil deref on click without clickable elementbptato2024-07-192-7/+5
|
* 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-1810-198/+587
|
* luwrap: use lre_is_spacebptato2024-07-181-2/+1
|
* Update monouchabptato2024-07-181-1/+1
|
* dom, match, event: small cleanupbptato2024-07-173-33/+32
|
* Update monouchabptato2024-07-171-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)