Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | match: optimize dependency tracking | bptato | 2024-12-17 | 1 | -3/+6 |
| | | | | | | | | | | | | | | | | | | | This is a bit tricky, but it seems to work. It optimizes selectors in the line of "div :hover" (note the space.) Previously such selectors would add a hover dependency to pretty much every element, and trigger a re-style for all elements that changed their hover status. After this patch, when :hover and friends would return false, they first try to match the element *without* pseudo selectors, and only add their dependencies if the element would match like that. (Notably, it only does this for when :hover is false. Probably it would help somewhat if we checked for the opposite with true too, but I'm not sure how much. For now, I'll keep it like this, and maybe try to further optimize it later.) | ||||
* | css: CSSComputedValue -> CSSValue | bptato | 2024-12-12 | 1 | -2/+2 |
| | | | | | "Computed" was redundant; other types of values don't have a common type. | ||||
* | match, stylednode: remove generics, refactor | bptato | 2024-11-19 | 1 | -43/+16 |
| | | | | | | Turns out the generics weren't really needed in the first place. Also, StyledNode is now 16 bytes smaller. | ||||
* | dom: optimize element size, remove importc hack & dead code | bptato | 2024-09-30 | 1 | -13/+13 |
| | | | | | This switches CAtom to uint32; it seems better to use the same size on all platforms. | ||||
* | css: clean up a bit | bptato | 2024-07-12 | 1 | -23/+8 |
| | |||||
* | cascade: fix style caching | bptato | 2024-07-09 | 1 | -3/+1 |
| | | | | the invalid flag must be toggled after styling | ||||
* | layout: reduce copies | bptato | 2024-07-03 | 1 | -2/+5 |
| | | | | | Text data is no longer stored separately in InlineFragments; instead, we now include refs to StyledNodes. | ||||
* | css, html: fix CSS dependency invalidation | bptato | 2024-07-03 | 1 | -33/+13 |
| | |||||
* | misc cleanups | bptato | 2024-06-22 | 1 | -2/+1 |
| | |||||
* | stylednode: remove `text' field | bptato | 2024-05-28 | 1 | -6/+6 |
| | | | | This avoids some unnecessary string copying. | ||||
* | stylednode: move invalidation data to DOM | bptato | 2024-05-27 | 1 | -22/+13 |
| | | | | this way, we do not refer to nodes of previous cascade passes | ||||
* | css/values -> css/cssvalues | bptato | 2024-05-16 | 1 | -1/+1 |
| | | | | for consistency | ||||
* | Update code style | bptato | 2024-04-17 | 1 | -28/+29 |
| | | | | | | * separate params with ; (semicolon) instead of , (colon) * reduce screaming snake case use * wrap long lines | ||||
* | stylednode: clean up code style | bptato | 2024-03-18 | 1 | -30/+39 |
| | |||||
* | Move HTML parsing into Chame | bptato | 2023-08-15 | 1 | -1/+2 |
| | | | | Operation "modularize Chawan somewhat" part 2 | ||||
* | Add StyledNode stringifier for debugging | bptato | 2023-07-08 | 1 | -0/+14 |
| | |||||
* | WIP selector rewrite | bptato | 2023-01-27 | 1 | -0/+4 |
| | | | | pretty slow for some reason | ||||
* | css/cascade: remove scoped sheets | bptato | 2023-01-07 | 1 | -2/+0 |
| | | | | ...in favor of handling all style elements like other browsers | ||||
* | css: fix some bugs and improve cascading a bit | bptato | 2022-12-29 | 1 | -1/+17 |
| | |||||
* | More DOM work | bptato | 2022-12-19 | 1 | -1/+5 |
| | |||||
* | Display text for img tag, background-image | bptato | 2022-12-16 | 1 | -1/+3 |
| | |||||
* | Add support for q, fix list-item counter behavior | bptato | 2022-12-12 | 1 | -1/+10 |
| | |||||
* | Fix nth-child bugs, rename select to match | bptato | 2022-08-23 | 1 | -0/+3 |
| | |||||
* | Add interactive <select> | bptato | 2022-07-31 | 1 | -1/+7 |
| | |||||
* | Implement revert value | bptato | 2022-07-30 | 1 | -5/+8 |
| | |||||
* | StyledNode: avoid duplicate dependencies | bptato | 2022-07-29 | 1 | -0/+4 |
| | |||||
* | Fix cascading bugs & performance issues | bptato | 2022-07-28 | 1 | -1/+5 |
| | |||||
* | Fix StyledNode invalidation & others | bptato | 2022-07-27 | 1 | -5/+110 |
| | |||||
* | Use StyledNodes instead of passing the entire DOM to the layout engine | bptato | 2022-07-16 | 1 | -0/+18 |
This moves pseudo element generation to the cascading phase. For now it also breaks style caching. |