about summary refs log tree commit diff stats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* layout: respect intrinsic minimum width of table cellsbptato2025-02-092-0/+12
|
* layout: refactor tree building phasebptato2025-02-097-5/+29
| | | | | | | * remove inlineGroup - it was completely pointless now, and was the cause of some whitespace collapsing bugs * fix a float bug made visible by the above change * fix non-standard list item counter behavior
* layout: fix nested float positioningbptato2025-02-083-3/+13
| | | | | | | | | | Setting the width to max-content was supposed to be an optimization, but it seems max-content has some issues when interacting with floats. Arguably this is just hiding the bug, but my attempt to fix max-content was not successful... (That is to say, I suspect floats still behave strangely in tables.)
* layout: fix some pre whitespace bugsbptato2025-02-082-0/+8
|
* layout: fix firstBaseline bugbptato2025-02-082-0/+11
|
* layout: unify BlockBox and InlineBox, refactor buildingbptato2025-02-079-3/+111
| | | | | | | | | | | | | | * normalize flow baseline computation * fix various margin collapsing bugs * eliminate inlineStack * eliminate push* * derive BlockBox and InlineBox from CSSBox This removes a pointer from BlockBox, and adds a pointer to both BlockBox and InlineBox (type field). A net loss, but it makes the code more manageable. Plus, inline groups now need one less allocation, so overall it's not that bad.
* formdata: fix FormData constructor, append filename handlingbptato2025-02-051-0/+6
| | | | + some strict defs
* cssparser: fix an infinite loopbptato2025-02-051-0/+1
| | | | | | | startsWithNumber was a poorly copied version of the standard algorithm, which, as it turns out, is largely redundant. So I removed most of it and inlined the rest.
* cssparser: fix parsing of consequitive commentsbptato2025-02-042-0/+6
|
* cascade, ua.css: use ansi red, replace option with anonymous StyledNodesbptato2025-02-047-14/+17
| | | | Now select[multiple] options have the same coloring as w3m.
* layout: merge addOuterBlock with layoutBlock, refactorbptato2025-02-044-13/+6
| | | | | | | | | | | Having to initLine after every block hurts... I've added a mechanism to at least eliminate cleared floats, but I wish we just didn't init the line :/ (I tried making it lazy, but I couldn't get it to work elegantly.) I've also added some comments about flow, and moved around code so that related layouts are mostly in the same place.
* layout: inline background fixes & simplificationbptato2025-02-037-0/+52
| | | | | Eliminates two superfluous line box alignment passes, and fixes some vertical-align bugs.
* javascript: derive ctor functions from parent ctor functionsbptato2025-02-021-0/+1
| | | | no idea why JS_NewCFunction3 is not public...
* sheet: fix a hashing bugbptato2025-01-302-0/+6
|
* layout: fix absolute sizing order with floatsbptato2025-01-302-0/+6
| | | | | Also removed the redundant pushPositioned/popPositioned calls in popPositioned.
* mediaquery: fix some parser bugsbptato2025-01-302-3/+20
| | | | | | <media-condition-without-or> works correctly once again. ref. https://todo.sr.ht/~bptato/chawan/46
* render: fix OOB panic with scroll container outside the canvasbptato2025-01-292-0/+4
| | | | | clipBox must not be allowed to start outside the canvas, or paintBackground will happily try to setTextStr in a negative position.
* nanosvg: fix infinite loopbptato2025-01-292-0/+4
| | | | My bad; not present upstream.
* javascript: fix .jsget on JSValuebptato2025-01-281-0/+17
| | | | | | | | | | | | | | Since toJS doesn't create a new value, `node' must be dup'd if it is a JSValue. Also, forbid .jsset on JSValue as it was broken as well and it's not obvious what the intention is when using it. (Probably it should free the old value, but did the user think of setting it? :P) I can see why I made toJS not dup the value - to make returning consistent with Nim's semantics - but it really makes things confusing... implicitly behaving as lent might be better, albeit less convenient.
* layout: fix flow roots in inline boxes not respecting floatsbptato2025-01-282-0/+10
| | | | Also, some more work on the unification of inline & block layouts.
* layout: fix some float margin resolution bugsbptato2025-01-284-0/+25
|
* cascade: fix variable inheritancebptato2025-01-282-2/+8
|
* layout: various float fixes in inline contextsbptato2025-01-268-0/+75
| | | | | | | | | | | | | * reinit line after outer block height is known * do not set wrap in finishLine preceding outer block layout * attach pending inline floats to line boxes * unify flow a bit more The last two points mean that we now (mostly) handle inline floats like block floats, which is great because only the latter ever worked properly. (Well, margin resolution still needs work...)
* layout: do not generate anonymous inline boxesbptato2025-01-2516-23/+73
| | | | | | | | | | | | | | | | Anonymous inline boxes were blocking progress on layout caching, so they are now gone. Instead, we handle them in layoutInline (which meanwhile has spaghettified to beyond comprehension... now it's a special case of inner BlockBox (kind of?) - incredibly, it still passes tests :P) This seems to match what major browsers do as well; some test cases were updated to reflect the "improved" rendering this brings. Next I'd like to remove anonymous table boxes by generating them in cascade. Then it should be straightforward enough to at least reuse flow roots on relayout. (And clean up flow layout...)
* layout: fix an absolute sizing bugbptato2025-01-232-0/+5
| | | | it's size.h, not size.w
* render: actually fix the "extra unnecessary line" bugbptato2025-01-2131-31/+0
| | | | Plus remove addLines, it's no longer very useful.
* render: blend in paintBackgroundbptato2025-01-215-5/+0
| | | | | | | It's an improvement, but the painting order still isn't quite right... Also fixes a bug where paintBackground would unnecessarily append an extra line to the document's end.
* cssvalues: support percentage rgb colors, hsl & hslabptato2025-01-212-3/+25
| | | | hsl is quite popular these days.
* cssvalues: fix rgba() function parsingbptato2025-01-202-0/+5
|
* cascade: support nested variablesbptato2025-01-202-1/+14
| | | | ...and refactor applyValue in the process.
* dom: CSSStyleDeclaration improvementsbptato2025-01-193-1/+37
| | | | Now getComputedStyle works with pseudo-elements too.
* render: fix formatting being lost outside boxes with bgcolorbptato2025-01-174-0/+12
| | | | | | An ancient bug, but the fix seems to be quite simple: stop confusing the last X position before the existing string on the line with the last X position that the new string occupies.
* render: overprint existing text when painting backgroundsbptato2025-01-161-3/+3
| | | | | | | | Even if we don't do some z-ordering correctly, it's no excuse to paint boxes incorrectly. It's also extremely annoying when I try to use a menu and text bleeds into the drop-down window.
* cascade: basic CSS variable supportbptato2025-01-162-0/+9
| | | | | | | | | | | and once again, there was light... Well, it barely works, but it's enough to get colors back on most sites. Nested variables aren't supported for now, and shorthand expansion only "works" for `background' (it's a hack). Props to the W3C for introducing the C preprocessor to CSS - I was starting to confuse it with JSSS after calc().
* quirk.css, ua.css: adjust marginsbptato2025-01-161-0/+1
|
* widthconv: fix hiragana -> half-width kana conversionbptato2025-01-152-0/+4
| | | | Unicode has no half-width hiragana :/
* ua.css: fix select multiple renderingbptato2025-01-152-0/+18
|
* cookie: improve Expires parsingbptato2025-01-132-4/+6
|
* cssvalues, sheet: fix quotes parsing, misc cleanupbptato2025-01-122-0/+4
|
* dom: more select interfacesbptato2025-01-101-0/+9
| | | | this should be all of them
* layout: clear intrinsic minimum block size on shrink-to-fit relayoutbptato2025-01-082-0/+12
| | | | starting to run out of test case names
* cssparser, mediaquery: factor out tflagb, fix a media query bugbptato2025-01-072-0/+5
| | | | @media (grid: 1) works again.
* dom: standard tagNamebptato2025-01-071-0/+2
| | | | Fixes acid3 test 21
* layout: get rid of flex-direction reverse hackbptato2025-01-072-0/+9
| | | | | This must not be handled by the tree builder, as that needlessly complicates tree caching.
* layout: wrap on inline floats that exceed the line's lengthbptato2025-01-062-0/+25
| | | | | | | In this case, it seems we have to wrap. (It's still not quite there; replace flow-root with inline-box to see another interesting bug...)
* layout, render: establish absolute container with position: stickybptato2025-01-062-0/+10
| | | | We do not support sticky scrolling, but this much should still work.
* layout: fix percentage margins in shrink-to-fitbptato2025-01-052-0/+12
| | | | | | | | Turns out this doesn't work like I thought it does... the second layout is always needed. This probably means that it's possible to layout absolutes during flow after all...
* ua.css: set table box-sizing border boxbptato2025-01-054-14/+14
|
* dom: DOMTokenList fixes/improvementsbptato2025-01-051-1/+4
|
* dom: add form length, fix document.getElementsByName("")bptato2025-01-053-28/+23
|