Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | cascade: collapse StyledNode tree into DOM | bptato | 2025-01-20 | 1 | -10/+0 |
| | | | | | We now compute styles on-demand, which is both more efficient and simpler than the convoluted tree diffing logic we previously used. | ||||
* | sheet, selectorparser: fix attr hashing, hash multiple tags in :is | bptato | 2025-01-16 | 1 | -1/+1 |
| | |||||
* | cssparser: enumize CSSFunction name | bptato | 2025-01-15 | 1 | -7/+7 |
| | |||||
* | css: refactor selector parsing & cascading, some work on variables | bptato | 2025-01-14 | 1 | -29/+47 |
| | | | | | | | | | Untangled some nested arrays to reduce the number of intermediary seqs in cascade, and collapsed the two rule def sorts into just one (per pseudo element). This should make cascading somewhat faster. Also, we now parse variables, but they aren't resolved yet. Probably a seq won't cut it for var lookup... | ||||
* | buffer: make iframes clickable | bptato | 2025-01-09 | 1 | -0/+1 |
| | | | | better than nothing | ||||
* | dom: add inline SVG support | bptato | 2024-12-20 | 1 | -0/+1 |
| | |||||
* | css: add :target pseudo class | bptato | 2024-12-17 | 1 | -0/+2 |
| | |||||
* | dom, match: optimize :nth-child, :nth-last-child | bptato | 2024-12-17 | 1 | -0/+3 |
| | | | | | | 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.) | ||||
* | dom, css: fix case-insensitive class/id/attr matching | bptato | 2024-12-15 | 1 | -6/+5 |
| | | | | Uses an additional lower-case map for O(1) case-insensitive comparisons. | ||||
* | css: align h[1-6] behavior with w3m | bptato | 2024-12-14 | 1 | -0/+4 |
| | | | | | | | | | | | Implemented using proprietary selectors -cha-first-node and -cha-last-node, modeled after -moz-first-node and -moz-last-node. I think they are compatible. That does mean this is more limited than w3m's trimming, e.g. it can't really deal with nesting or empty tags. I think this is fine, as it's mainly meant for unstyled documents in the first place (which are unlikely to have e.g. MAIN tags). | ||||
* | css: misc refactoring | bptato | 2024-12-02 | 1 | -14/+14 |
| | |||||
* | selectorparser: fix parsing of invalid pseudo elements | bptato | 2024-10-26 | 1 | -16/+35 |
| | | | | | Found this because the 5th largest tech company on Earth cannot bother itself with trivial matters such as "writing valid CSS". | ||||
* | selectorparser: fix broken tostr | bptato | 2024-07-25 | 1 | -11/+27 |
| | |||||
* | selectorparser: fix parseNthChild `of' token check | bptato | 2024-07-07 | 1 | -1/+3 |
| | | | | tokenType had to be checked too | ||||
* | cssparser: refactor | bptato | 2024-05-01 | 1 | -4/+3 |
| | | | | | | | | | * factor out skipWhitespace * remove streams dependency (cssparser could never stream without blocking the event loop, so we were just passing a StringStream in all cases, which made the whole streaming pointless.) | ||||
* | css, dom: simplify ident parsing, canvas fixes | bptato | 2024-05-01 | 1 | -1/+1 |
| | | | | | | | | * add CSSStyleDeclaration setter * move ident maps directly into enums * more complete CSSComputedValue stringifier * turn canvas into a pseudo-image in cascade * set canvas to inline-block | ||||
* | Update code style | bptato | 2024-04-17 | 1 | -143/+141 |
| | | | | | | * separate params with ; (semicolon) instead of , (colon) * reduce screaming snake case use * wrap long lines | ||||
* | rudimentary support for <video>, <audio> | bptato | 2024-03-13 | 1 | -1/+2 |
| | | | | | we just treat them as img tags. lazy, but works suprisingly well -- so long as the server sends us a Content-Type, anyway. | ||||
* | dom: enumize attribute names | bptato | 2024-02-08 | 1 | -4/+10 |
| | |||||
* | dom: atomize id, name, DOMTokenList | bptato | 2024-02-08 | 1 | -10/+30 |
| | |||||
* | Update chame | bptato | 2024-02-07 | 1 | -27/+31 |
| | | | | | | | | * Update chame to the latest version * Get rid of nodeType usage * Add atoms * Re-implement DOM attributes * document.write | ||||
* | Use std/* imports everywhere | bptato | 2024-01-07 | 1 | -3/+3 |
| | |||||
* | css: add case-insensitive matching | bptato | 2023-12-11 | 1 | -11/+38 |
| | | | | Also case-sensitive, but for now that is the same as normal matching... | ||||
* | selectorparser: enum-ize rel | bptato | 2023-12-09 | 1 | -17/+28 |
| | |||||
* | css: change type of rvalue to char (from Rune) | bptato | 2023-10-01 | 1 | -14/+18 |
| | | | | | | | | We did were not using it as a unicode value anywhere, it was just making our life harder. If we ever need unicode delimiter tokens, we can re-introduce them as a different token type. | ||||
* | selectorparser: fix missing case insensitivity | bptato | 2023-10-01 | 1 | -10/+16 |
| | |||||
* | Use twtstr.join everywhere | bptato | 2023-10-01 | 1 | -1/+2 |
| | |||||
* | Get rid of unicode.toLower | bptato | 2023-10-01 | 1 | -1/+1 |
| | | | | | It was used by mistake in a hundred percent of the cases we were using it. | ||||
* | Move HTML parsing into Chame | bptato | 2023-08-15 | 1 | -1/+2 |
| | | | | Operation "modularize Chawan somewhat" part 2 | ||||
* | css: implement case insensitivity | bptato | 2023-08-10 | 1 | -2/+2 |
| | | | | For some reason I forgot about this. | ||||
* | css: handle unknown tag names correctly | bptato | 2023-07-25 | 1 | -4/+13 |
| | | | | | | Instead of grouping all of them into TAG_UNKNOWN, match their tag names. To-do: this implementation is not very efficient. | ||||
* | Remove unused variable | bptato | 2023-01-27 | 1 | -1/+0 |
| | |||||
* | WIP selector rewrite | bptato | 2023-01-27 | 1 | -346/+274 |
| | | | | pretty slow for some reason | ||||
* | selectorparser: refactor, fix combinator bugs | bptato | 2023-01-20 | 1 | -79/+79 |
| | | | | Fixes universal selectors after a combinator. | ||||
* | selectorparser: parse comma correctly in combinators | bptato | 2023-01-20 | 1 | -0/+3 |
| | |||||
* | selectorparser: do not accept invalid selectors | bptato | 2023-01-07 | 1 | -44/+78 |
| | |||||
* | selectorparser: support :link, :visited | bptato | 2023-01-01 | 1 | -1/+6 |
| | | | | I say "support", but :visited is never matched. | ||||
* | selectorparser: accept less invalid selectors | bptato | 2022-12-31 | 1 | -2/+14 |
| | |||||
* | css: fix some bugs and improve cascading a bit | bptato | 2022-12-29 | 1 | -1/+14 |
| | |||||
* | selectorparser: fix pseudo elements on combinator selectors | bptato | 2022-12-28 | 1 | -2/+5 |
| | |||||
* | layout/engine: get rid of dom dependency | bptato | 2022-12-27 | 1 | -1/+1 |
| | | | | Layout should only depend on cascading. | ||||
* | Display text for img tag, background-image | bptato | 2022-12-16 | 1 | -1/+1 |
| | |||||
* | Fix parsing of empty combinator selectors | bptato | 2022-12-05 | 1 | -1/+6 |
| | |||||
* | Add textarea | bptato | 2022-11-28 | 1 | -1/+1 |
| | | | | Editing is implemented using an external editor (like vi). | ||||
* | Fix combinator bugs + reimplement querySelectorAll | bptato | 2022-09-01 | 1 | -42/+20 |
| | |||||
* | Use more accurate selector terminology | bptato | 2022-08-23 | 1 | -24/+27 |
| | |||||
* | Fix nth-child bugs, rename select to match | bptato | 2022-08-23 | 1 | -28/+17 |
| | |||||
* | Merge functional and normal pseudo-class selectors | bptato | 2022-08-21 | 1 | -95/+139 |
| | | | | And parse An+B syntax for nth-child/nth-last-child. | ||||
* | Refactor css function selectors a bit | bptato | 2022-08-20 | 1 | -28/+28 |
| | |||||
* | Fix incorrect selector parsing, remove httpclient from loader | bptato | 2022-08-03 | 1 | -1/+61 |
| |