about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* js: small misc changesbptato2024-06-021-13/+15
| | | | just sync'ing
* css: slightly optimize cascadebptato2024-06-024-136/+145
| | | | Parse rule values in sheet addRule, not during cascade.
* Update docsbptato2024-06-022-12/+5
|
* renderdocument: handle overlapping double width charsbptato2024-06-023-1/+15
| | | | | See attached test case; previously, this would result in a missing space in visual mode and a crash in dump mode.
* layout: misc refactoringsbptato2024-06-021-209/+180
| | | | | * get rid of BlockGroup * unify BlockBox construction for flex, block, table
* layout: clean up inline tree constructionbptato2024-06-015-292/+314
| | | | | | | Much cleaner than the previous solution. Should also be somewhat less wasteful, as we no longer constantly rebuild the same tree with new branches.
* layout: dimSum -> sumbptato2024-06-011-22/+21
|
* layout: refactor resolveSizesbptato2024-06-011-140/+126
| | | | get rid of percHeight, unify min/max sizing, etc.
* main: fix tmpdir/sockdir permsbptato2024-05-311-3/+4
|
* test: update acid1.color.expectedbptato2024-05-311-1/+1
| | | | | I would prefer it to not cut off the canvas background color, but the current output is just as valid.
* config: fix -C with files not in CWDbptato2024-05-312-6/+14
|
* layout: line box sizing fixesbptato2024-05-315-15/+66
| | | | | * do not use inline block computed values for wrapper fragment * fix minimum line box height calculation
* pager: rework D/discard bufferbptato2024-05-316-56/+147
| | | | | | | | | | | | | | | | | | | | | The previous solution had the issue that it switched between "delete buffer, then move back" and "delete buffer, then move forward" depending on whether the buffer was the root of the buffer tree, which made its behavior quite unpredictable. Now the pager (sort of) remembers the direction you are coming from, and D moves in that direction. So e.g.: * Enter, D just moves back to where you were coming from (as before) * Comma, D deletes the previous buffer, then returns to the current buffer If no buffer exists in the target direction, then we alert. Also, new commands are: `d,' `d.'. They do the same thing the non-d-prefixed variations do, but also delete the current buffer. Useful if you're no longer sure where you are coming from, but know where you want to go. (`d,' in particular is equivalent to w3m's `B'.)
* layout: fix a width sizing bugbptato2024-05-303-4/+7
| | | | | | | As expected, the mystery line was just hiding another bug. (In particular, indefinite containing size constraints were not denied in resolveContentWidth, so it only (accidentally) worked with stretched sizes.)
* layout: fix regressionbptato2024-05-301-0/+3
| | | | seems like this line is necessary after all
* layout: simplify percHeight handling, misc refactoringsbptato2024-05-301-67/+30
|
* layout: fix caption margin calculationbptato2024-05-303-19/+36
| | | | | | * merge caption sizing code path with layoutRootBlock * fix caption margins being disregarded * fix incorrect positioning of `caption-side: bottom'
* regexp: fix non greedy quantizers with zero length matchesFabrice Bellard2024-05-301-8/+6
|
* Add `js_resolve_proxy` (#293)Charlie Gordon2024-05-301-20/+35
| | | | | - simplify `JS_IsArray` for proxy chains - remove `js_proxy_isArray`
* Add `JS_StrictEq()`, `JS_SameValue()`, and `JS_SameValueZero()` (#264)Kasper Isager Dalsgarð2024-05-302-5/+26
| | | | | | * add `JS_StrictEq()`, `JS_SameValue()`, and `JS_SameValueZero()` all accepting `JSValueConst` * make `js_strict_eq` accept `JSValueConst`, remove uses of this function internally and replace them with `js_strict_eq2` instead.
* Expose `JS_SetUncatchableError()` (#262)Kasper Isager Dalsgarð2024-05-302-1/+1
| | | | | | * Expose `JS_SetUncatchableError()` * Remove unnecessary `JS_SetUncatchableError` declaration
* Add `JS_HasException()` (#265)Kasper Isager Dalsgarð2024-05-302-0/+6
|
* Add `JS_NewTypedArray()` (#272)Dmitry Volyntsev2024-05-302-0/+27
|
* quickjs: revert SetUncatchableError patchbptato2024-05-301-1/+0
| | | | taking it from upstream
* layout: improve baseline calculationbptato2024-05-301-56/+56
| | | | | * use current fragment's line height for percentage baselines * get rid of baseline calculating pass in verticalAlignLine
* Fix GCC 14 compilationbptato2024-05-304-18/+32
| | | | | | | | TODO: find the exact flags we need instead of -fpermissive. See also: https://todo.sr.ht/~bptato/chawan/12 https://forum.nim-lang.org/t/11587
* layout: fix clear on blocks establishing new BFCsbptato2024-05-303-1/+14
| | | | | | | | | | | As per standard: > Adjoining vertical margins collapse, except: > [...] > If the top and bottom margins of an element with clearance are > adjoining, its margins collapse with the adjoining margins of > following siblings but that resulting margin does not collapse with > the bottom margin of the parent block.
* layout: misc refactoringsbptato2024-05-293-193/+205
|
* layout: get rid of InlineBoxBuilderbptato2024-05-283-109/+103
| | | | just merge it with InlineFragment
* about: markdownify & update license.htmlbptato2024-05-284-50/+45
| | | | We have a markdown converter, so why not use it?
* buffer: fix ampersand escaping in markURLbptato2024-05-281-0/+4
|
* layout: fix crash on inline tablesbptato2024-05-283-1/+4
|
* stylednode: remove `text' fieldbptato2024-05-284-16/+20
| | | | This avoids some unnecessary string copying.
* stylednode: move invalidation data to DOMbptato2024-05-273-25/+23
| | | | this way, we do not refer to nodes of previous cascade passes
* layout: remove BlockBoxBuidlerbptato2024-05-277-687/+608
| | | | | | | | | | Instead of allocating a separate object for each box, just re-use a single BlockBox on re-layouts. This means that now the (block-level) tree is built in its final form in the first pass. (Inline boxes remain the same as before for now.)
* layout: list item improvements, fix inner markersbptato2024-05-253-36/+52
| | | | | * fix list-style-position: inside * get rid of ListItemBoxBuilder
* layout: add wrapper box for table caption + misc stuffbptato2024-05-242-121/+176
| | | | | | | | | Captions are no longer positioned inside tables, yay. Also, misc: * rename some things for consistency * clamp out of bounds rgb() values * remove inherited property lookup table
* client: fix double click on double width charsbptato2024-05-231-7/+7
| | | | | This is not a perfect solution, but it's still better than not being able to double click on CJK links correctly.
* url: add URL.parsebptato2024-05-221-0/+3
| | | | | | | Pointless bloat that fixes no real problems, but it's standard now... (Are we supposed to add a helper function that returns null for *every* constructor that can throw now?)
* layout, layoutunit: remove some automatic convertersbptato2024-05-223-13/+11
| | | | | I wish we didn't need any, but fixing this for integers would be too involved and the float64 one was causing problems now.
* http: allow multiple early hintsbptato2024-05-221-1/+1
|
* man: quote keyword & sectionbptato2024-05-221-5/+5
|
* layout: simplifybptato2024-05-211-102/+76
| | | | removes elaborate table box type hierarchy that does nothing
* Update readmebptato2024-05-211-59/+53
|
* twtstr: fix overflow checkbptato2024-05-211-2/+2
|
* test: inline-backgrounds updatebptato2024-05-211-2/+0
| | | | Both outputs suck, but it probably doesn't matter much.
* gopher: simplifybptato2024-05-213-38/+35
| | | | | * update naming * do not send status code (it was always 200 anyway)
* sandbox: add sigreturnbptato2024-05-211-0/+2
| | | | seems to get called for signal handlers
* forkserver: also skip SIGTERM socket unlinkbptato2024-05-201-5/+1
| | | | rationale: see previous commit
* buffer: never unlink controlling socket in cleanupbptato2024-05-201-5/+2
| | | | | | | | The pager already unlinks it, so ideally this should change nothing. (This was causing buffer processes to core dump on OpenBSD, because I forgot that I removed unlink promise. Better keep code paths the same when possible...)