about summary refs log tree commit diff stats
path: root/src/html/catom.nim
Commit message (Collapse)AuthorAgeFilesLines
* Enable ProveInit warningbptato2025-05-101-1/+1
| | | | It has caught some minor bugs.
* dom, event: add UIEvent to createEvent, initUIEventbptato2025-05-031-0/+2
| | | | Fixes acid3 test 30
* Re-add JSValueConstbptato2025-03-121-1/+1
| | | | | | | | | This time, I've also ported over the consistency check to prevent some ownership bugs. Unfortunately, the check is very limited, and it is still possible to double-free or leak JSValues. I think it would be possible to make coverage 100%, but only with ARC...
* dom: add HTMLTimeElement, fix HTMLDetailsElement#openbptato2025-02-211-0/+5
|
* catom: toStr -> $bptato2025-02-151-8/+11
|
* xhr, event, catom: fix some bugsbptato2025-02-151-36/+40
| | | | Event handler functions can be set twice now.
* csstree, cssvalues: implement counter()bptato2025-02-131-0/+1
|
* catom: make factory globalbptato2025-02-131-60/+43
| | | | | This isn't great, but neither was passing around a pointer that pointed to a single object.
* buffer, event: add input events, set isTrustedbptato2025-02-071-0/+1
|
* catom: convert JS_ATOM_NULL to CAtomNullbptato2025-02-061-3/+6
| | | | unsure about the utility of this, but why not
* dom, event: stub UIEvent, MouseEvent; accept customevent in createEventbptato2025-02-031-1/+4
|
* buffer: fire change event on selection etcbptato2025-02-031-0/+2
|
* Add annotations for move semanticsbptato2025-01-221-3/+3
| | | | | | | | | Supposedly they aren't broken in refc after 2.0.0, so we can do this now that 1.6.14 is dropped. I've confirmed lent to work as advertised; it indeed reduces copies. sink doesn't seem to help much, but I guess it will be useful once we switch to ORC.
* dom: optimizebptato2025-01-181-4/+4
| | | | We'll see if the borrow checker actually works :)
* dom: compare rel case insensitivelybptato2025-01-171-0/+4
|
* dom: add createDocumentbptato2025-01-101-3/+7
|
* env: basic postMessagebptato2025-01-091-0/+1
|
* dom: clean up namespace handling, add createElementNSbptato2025-01-051-2/+47
|
* dom: small refactoring + optimizationbptato2024-12-311-0/+8
|
* dom, css: fix case-insensitive class/id/attr matchingbptato2024-12-151-2/+26
| | | | Uses an additional lower-case map for O(1) case-insensitive comparisons.
* cascade: add cellspacingbptato2024-12-031-0/+1
|
* dom: add HTMLHyperlinkElementUtils settersbptato2024-11-191-0/+16
|
* dom: misc fixes & additionsbptato2024-11-091-0/+6
| | | | | | | | * fix cloneNode not cloning id/name atoms * fix HTMLOptionsCollection named item getter * fix HTMLCollection named item getter not refreshing snapshot * support named item getter for form * add basic createEvent
* dom: skip alternate stylesheets, add disabledbptato2024-11-091-0/+1
| | | | seems to work ok
* dom: support all HTMLHyperlinkElementUtils gettersbptato2024-11-091-0/+16
|
* Clean up forward declarations a bitbptato2024-10-271-6/+7
|
* dom: optimize element size, remove importc hack & dead codebptato2024-09-301-1/+1
| | | | | This switches CAtom to uint32; it seems better to use the same size on all platforms.
* dom: add forms, elements getter + misc fixesbptato2024-09-171-1/+8
| | | | | | | | | | | | * add document.forms * add form.elements * remove redundant jshasprop functions * use mpairs for attribute iteration (mpairs use pointers, but pairs copies) * fix remove() crash * fix remove() collection invalidation for children (if parent is not in the collection) * update monoucha
* Update monouchabptato2024-08-091-4/+5
|
* buffer, pager, config: add meta-refresh + misc fixesbptato2024-07-281-1/+3
| | | | | | | | | * buffer, pager, config: add meta-refresh value, which makes it possible to follow http-equiv=refresh META tags. * config: clean up redundant format mode parser * timeout: accept varargs for params to pass on to functions * pager: add "options" dict to JS gotoURL * twtstr: remove redundant startsWithNoCase
* buffer, dom, event: JS binding for dispatchEventbptato2024-07-221-2/+1
| | | | | | * move dispatchEvent to event, add a JS binding * only reshape if the document was actually invalidated after event dispatch/interval call/etc.
* html: event cleanup, XHR progressbptato2024-07-181-2/+40
|
* buffer: add autofocusbptato2024-06-081-0/+1
| | | | naturally, it's opt-in
* dom: remove unnecessary/unused propertiesbptato2024-04-221-1/+2
| | | | | | | | | | * remove some properties we no longer use * convert novalidate into a reflected attribute * fix satClassList * remove reference to root node in every Node The last one is an obvious win when considering how often rootNode is used vs the memory used by a pointless pointer on every single object.
* Update code stylebptato2024-04-171-8/+9
| | | | | | * separate params with ; (semicolon) instead of , (colon) * reduce screaming snake case use * wrap long lines
* dom: add onclick attribute supportbptato2024-04-141-0/+1
| | | | | + better align attribute-based event handler behavior with other browsers
* buffer: form fixes & improvementsbptato2024-03-241-0/+2
| | | | | | | * fall back to text for unimplemented input types * add custom prompt to all text-like input types * show min/max for range * fix accidental override of repaint
* catom: at -> satbptato2024-03-211-64/+59
| | | | just for consistency
* catom: merge TagType with AttrTypebptato2024-03-041-23/+105
| | | | | it's inefficient and pointless to treat them differently, so just derive a new enum from TagType with a macro
* dom: enumize attribute namesbptato2024-02-081-15/+51
|
* Update chamebptato2024-02-071-0/+60
* Update chame to the latest version * Get rid of nodeType usage * Add atoms * Re-implement DOM attributes * document.write