about summary refs log tree commit diff stats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* dom: button fixesbptato2025-01-051-0/+15
|
* layout: margin fixesbptato2025-01-051-0/+1
| | | | | | | | * respect flex item starting margin on main axis * pass left margin as offset input too -> fixes some sub-layout cache inconsistencies well, I *think* it does, but I haven't managed to find a case where it changes anything... either way, at least the code is prettier now
* layout: respect margin-top of root boxbptato2025-01-032-0/+4
|
* layout: implement layoutFlexItem as layoutRootBlockbptato2025-01-022-0/+45
| | | | | | | This way, it benefits from sub-layout caching. Which is great because our flex layout likes to unnecessarily redo item layout... Also, we now account for the bottom margin in flex items.
* pager: history fixesbptato2025-01-013-0/+5
| | | | | | | | | * add failed buffers to history too * make buffer.history and siteconf history actually do something * prevent history in dump mode after retry too * disable history in test configs ref. https://todo.sr.ht/~bptato/chawan/39
* layout, dom: input rendering fixesbptato2025-01-014-0/+12
| | | | | * do not display submit/reset text with empty value * fix erroneous blank placement with white-space: pre on new line
* layout: fix regression in cd069a76ebptato2025-01-012-1/+7
|
* layout: prevent double-clear for flow rootsbptato2025-01-012-0/+29
| | | | I don't like the extra flag, but I don't see a better way.
* cascade: prevent blockification for non-inline absolute boxesbptato2024-12-302-0/+38
| | | | The standard says we should blockify. Alas, the standard is lying.
* layout: absolute sizing fixesbptato2024-12-304-0/+97
|
* layout: fix position: relative for right, bottombptato2024-12-302-0/+15
| | | | | | | They are relative to the box's actual position, not that of the parent: > For relatively positioned boxes, the offset is with respect to the > bottom edge of the box itself.
* layout: fix an overflow bugbptato2024-12-302-0/+26
|
* script: improve defineConstsbptato2024-12-302-2/+5
| | | | | | Well, I guess this works for now, but something is still wrong. In Gecko, document.__proto__ === Document.__proto__, but in Chawan, it isn't.
* cssvalues: fix length shorthand parsingbptato2024-12-301-3/+2
|
* cssvalues: fix font-weight parsingbptato2024-12-292-1/+2
| | | | | | you can't bisearch an unsorted map... (also, turn on text styling for colored layout tests because it would have caught this)
* cookie: add persistent cookies, misc refactoring/fixesbptato2024-12-294-5/+49
| | | | | | | | | | | | | Mostly compatible with other browsers/tools that follow the Netscape/curl format. Cookie jars are represented by prepending "jar@" to the host part, but *only* if the target jar is different than the domain. Hopefully, other software at least does not choke on this convention. (At least curl seems to simply ignore the entries.) Also, I've moved cookies.nim to config so that code for local files parsed at startup remains in one place.
* xhr: fix flipped exception in overrideMimeTypebptato2024-12-281-0/+2
|
* layout: fix various padding bugsbptato2024-12-282-0/+26
| | | | | | | | They need some peculiar conditions to manifest, but the logic errors are clear: * padding contributing to intrinsic minimum size wasn't being clamped * inline padding was being applied twice
* layout: fix a flex sizing bugbptato2024-12-272-0/+14
| | | | | it has to accept percentage sizes too for intrinsic size clamping, it seems
* layout: improve intrinsic minimum size calculationbptato2024-12-269-2/+121
| | | | | It's a fair bit more accurate now on flex-heavy pages. Image sizing remains a broken mess.
* jsencoding: fix nil deref on empty encode inputbptato2024-12-261-0/+1
|
* layout: resolve percentage width for auto table cellsbptato2024-12-212-0/+10
| | | | | It is still wrong in case the table is too small, but at least it fixes the regression from 0971ad85.
* cascade: actually, it should be inline-blockbptato2024-12-202-0/+17
| | | | what was I expecting
* cascade: blockify on position: absolute or fixedbptato2024-12-201-0/+1
| | | | | | | | | | | | | | Welp, turns out I was overthinking it. CSS does not support inline position: absolute at all, it just blockifies. That does leave us with the question of "why does inline-block behave differently than block?" Especially because both in Gecko and Blink, getComputedStyle for absolute inline-blocks gives me "block", not "inline-block", and yet there is the same difference in rendering when I change the CSS. I first thought it's a quirks mode issue, but standards mode doesn't affect it. Wat.
* layout: apply padding to intrinsic minimum widthbptato2024-12-192-0/+5
|
* match: fix nested hover selectorbptato2024-12-182-0/+10
| | | | | | | I didn't get it right :( true is the default return value, and true + continue should resolve to false.
* dom, match: optimize :nth-child, :nth-last-childbptato2024-12-172-0/+91
| | | | | | I want to use it in the UA sheet, so the loop won't cut it. (Also fix a parsing bug that prevented "of" from working.)
* Fix test casebptato2024-12-171-1/+1
|