about summary refs log tree commit diff stats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* layout: propagate intrinsic minimum heightbptato2024-12-1712-0/+75
| | | | | | | | | | | | Necessary for flex. Previously we just used the actual height, but that didn't account for boxes that size themselves depending on the available height (mainly just images for now). This also irons out intrinsic min width calculation somewhat, squashing several bugs. I hope it works well. It is a significant change in size calculation, so maybe there are still new bugs lurking.
* layout: do not allow canpx for scFitContentbptato2024-12-152-0/+6
| | | | | The test case attached is undefined in CSS 2.1, but css-sizing-3 wants us to just ignore the width property (I think).
* layout: set table intrinsic min width to specified widthbptato2024-12-152-0/+18
|
* Unify assert.js for testsbptato2024-12-153-37/+15
| | | | | judging from the symlink, I probably meant to do this but forgot to finish it
* layout: do not trust specified table cell heightbptato2024-12-152-0/+10
| | | | | If the contents are larger than the specified cell height, then it is simply ignored.
* dom, css: fix case-insensitive class/id/attr matchingbptato2024-12-152-0/+21
| | | | Uses an additional lower-case map for O(1) case-insensitive comparisons.
* md2html: fix newline after list before EOFbptato2024-12-142-0/+4
|
* url: fix file:/ serializationbptato2024-12-141-0/+1
| | | | file:/// is the standard serialization.
* render: apply visibility to inline boxesbptato2024-12-102-0/+5
|
* layout: override table cell width if its min width is greaterbptato2024-12-102-0/+15
| | | | We can do this now that xminwidth is more accurate.
* layout: another xminwidth kludgebptato2024-12-082-0/+11
| | | | yeah idk
* Fix casingbptato2024-12-051-1/+1
|
* md2html: another list bugfix, add a testbptato2024-12-046-0/+71
|
* mediaquery: fix and after bare keywordbptato2024-12-012-0/+5
| | | | | no idea what that reconsume was doing there; probably a refactoring mistake
* layout: remove mystery startOffset adjustmentbptato2024-11-281-4/+4
| | | | | | | | Probably a remnant from back when startOffset meant (and was used for) something different. Interestingly, there was already a test case for this, but it was also wrong.
* layout: support br clearbptato2024-11-272-0/+13
|
* layout: another intrinsic min width fixbptato2024-11-241-2/+4
| | | | forgot about word-break
* layout: fix intrinsic min width for words with wrapping opportunitiesbptato2024-11-242-0/+57
| | | | | | | This broke CJK combined with table layouts. (Inline layout's state dependencies between procs are getting a bit scary...)
* dom: implement HTMLDocument, make Image C/Wbptato2024-11-222-4/+9
| | | | | | | | | | * add HTMLDocument as alias to Document * set Image as configurable/writable So looking closer, HTMLDocument *is* specified, just major browsers don't follow the spec. I doubt this incompatibility causes issues, anyway.
* dom: add document named property getter, update monouchabptato2024-11-221-7/+26
|
* chadombuilder: fix removeImpl definitionbptato2024-11-212-0/+3
| | | | | It is documented in chame that parentNode may be nil, and indeed, it is nil in some cases.
* layout: fix intrinsic min width with whitespace: prebptato2024-11-192-0/+11
|