about summary refs log tree commit diff stats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* layout: fix indefinitely sized flex items with boundsbptato2024-11-192-0/+7
| | | | maybe I'll get it right one of these days
* dom: add HTMLHyperlinkElementUtils settersbptato2024-11-191-0/+12
|
* Update monoucha, fix some JS testsbptato2024-11-183-22/+27
|
* layout: fix crash on overlapping rowspan/colspanbptato2024-11-172-0/+23
| | | | | The rowspan filler must get a smaller colspan if its first cells are occupied by another cell with a colspan > 1.
* dom: add getElementsByName, fix adoptbptato2024-11-161-0/+2
|
* twtstr: beforeLast -> untilLastbptato2024-11-151-1/+1
| | | | for consistency
* layout: fix another flex sizing bugbptato2024-11-142-0/+12
|
* renderdocument: basic stacking context supportbptato2024-11-096-12/+8
| | | | | negative z-index and inline positioning are still not respected, but better than nothing I guess.
* layout: fix a few more flex sizing bugsbptato2024-11-094-0/+34
| | | | | | | | * fix min-width, max-width, etc. not being accounted for properly on the main axis * fix fit-content sizing being overridden for flex items * fix baseline not being set * somewhat unrelated: fix firstBaseline not being set for block boxes
* dom: support all HTMLHyperlinkElementUtils gettersbptato2024-11-0917-110/+156
|
* layout: fix initial flex item width calculationbptato2024-11-085-3/+27
| | | | | | | | | | | | | | | Before, the initial layout of a flex item would have inherited the parent's sizing constraint. This almost worked, except when a descendant of a flex item with an unspecified width would resolve its percentage against this incorrectly inherited width - per standard, this must resolve to auto. Also, the shrink case was wrong, because it did not scale the unit to the respective widths; the standard mandates this as well. Hopefully I got it right this time. Finally, this fixes positioned inline container blocks not being set as the absolute container.
* url: fix crash on invalid ipv6 syntaxbptato2024-11-041-0/+1
|
* layout: fix a small table bugbptato2024-11-022-0/+8
|
* dom: add localName, simplifybptato2024-11-021-0/+9
|
* layout: remove inline roundingbptato2024-11-022-0/+3
| | | | | | | | | It broke styles like "margin-top: -5px; padding-top: 5px", because the margin would be taken as-is, and the padding rounded to 0. Now they cancel each other out again. (I think I had added this to reduce error caused by line-height, but we don't have line-height anymore.)
* cssparser: fix parsing of unrecognized at rulesbptato2024-11-022-0/+9
| | | | + clean up a bit
* layout: fix yet another inline float bugbptato2024-11-012-0/+8
| | | | | | | | | you can't just set the BFC offset to your own offset when the BFC's origin is your inner offset. (in block layout, this is addressed by initBlockPositionStates & co, but we don't call that for inline because the offset is already resolved there anyway. so this is a special case)
* layout: simplify a bit, fix some inline float bugsbptato2024-11-014-0/+26
| | | | | | | | | | | | | | * simplify "positioned" value calculation: - don't include it in ResolvedSizes, since it's unused in most layouts - resolvePositioned for both absolute and relative positioning - use "size" instead of "space" for absolute positioning - include parent width in layout so that renderdocument does not have to account for it * return bottom margins as regular return values instead of var * fix child bottom margins being discarded in inline floats * fix inline float not including the parent block position in its BFC position
* layout: refactor flow and fix some bugs in the processbptato2024-10-3118-0/+29
| | | | | | | | | | | | * factor out `margin' field from box state * get rid of RootInlineFragment * `nested' -> `children' * get rid of repositionChildren pass; now we handle relative positioning and -cha-center/-cha-right separately * cha-center, cha-right no longer applies to floats * use consistent naming scheme for tests * fix float bottom margin strut not being flushed * fix inline floats changing non-fit-content width
* layout: fix margin resolution for absolutely positioned boxesbptato2024-10-282-0/+15
|
* url: add searchParams.hasbptato2024-10-281-0/+3
|
* selectorparser: fix parsing of invalid pseudo elementsbptato2024-10-262-0/+21
| | | | | Found this because the 5th largest tech company on Earth cannot bother itself with trivial matters such as "writing valid CSS".
* cssparser: do not accept invalid rulesbptato2024-10-252-0/+4
| | | | | | This isn't exactly clear from the standard's wording, but e.g. *display: inline must be discarded (because it incorrectly starts with a delim token).
* layout: fix nested absolute positioning, refactor initial size resolutionbptato2024-10-252-0/+25
| | | | | | | | | | Nested position: absolute was broken, so fix it. Also, it makes no sense to dispatch inside layoutBlockChild when we know the expected resolution algorithm upon calling it anyway, so now we do that statically. Finally, fix some bugs in position: absolute size resolution.
* layout: fix inline float + position: absolute bugbptato2024-10-162-0/+6
| | | | | As per standard, float "only applies to elements that [...] are not absolutely positioned."
* layout: fix float positioning in inline contextsbptato2024-10-155-1/+18
| | | | | | also fixes a bug in the previous commit where whitespacenum would be reset on absolute positioning + missing absolute margin handling without top/left/etc.