about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* dom: fix previousElementSiblingbptato2023-09-011-2/+2
| | | | (again. ouch.)
* buffer: fix repaint on click eventsbptato2023-08-311-1/+2
|
* buffer: basic click event supportbptato2023-08-315-16/+81
| | | | | | | Mostly a proof of concept. Just bubble it unconditionally for now and never prevent default. Also, fix fromJSFunction by Dup'ing its closure JSValue.
* dom: fix previous/nextElementSibling, add location stringifierbptato2023-08-311-12/+15
|
* javascript: fix fromJSFunction, simplify setOpaquebptato2023-08-303-5/+7
| | | | | | * fromJSFunction: dup the value, so that it cannot go out of context. * setOpaque no longer calls GC_ref, so no need for it to be generic instead of just taking a pointer.
* Update todobptato2023-08-301-3/+0
|
* javascript: factor out fromJSbptato2023-08-2911-492/+509
|
* javascript: move error ctors to js/errorbptato2023-08-292-48/+48
|
* js: fix typobptato2023-08-291-1/+1
|
* Add jsdelprop, allow deletion of ActionMap propsbptato2023-08-292-2/+47
| | | | mostly for symmetry with real objects
* Add jssetprop, make ActionMap editable from JSbptato2023-08-292-21/+68
| | | | | | | | | jssetprop just adds the set_property exotic function. ActionMap is now editable from JS; the setter is implemented in the same way as bindPagerKey/bindLineKey. (In fact, now those two just call the setter.) But this is still rather inefficient and subject to change.
* path: remove ellipseLinesbptato2023-08-281-26/+0
| | | | | | | It was unused. (Or more precisely, indefinitely not implemented. TODO: implement it one day.)
* refactor: Result[T, DOMException] -> DOMResult[T]bptato2023-08-282-24/+21
|
* refactor: Result[T, JSError] -> JSResult[T]bptato2023-08-286-34/+32
|
* javascript: refactorbptato2023-08-2826-416/+461
| | | | | | | Split out parts of the JS module, because it was starting to confuse the compiler a little. (Peakmem is back at 750M. Interesting.)
* color: use parseRGBAColor for string parsingbptato2023-08-281-1/+1
| | | | Accept here what the TOML config parser would accept too.
* javascript: de-ref some interfacesbptato2023-08-284-94/+99
| | | | | | | Also, make ActionMap use getters/hasprop instead of a table copy. peakmem remains up +200M at 950M after commit 9991bd3393483158ab0d1b9d995f695dee3c65dc. :(
* config: allow modification through JSbptato2023-08-275-59/+133
| | | | | | | This used to be possible until I moved everything under separate headers to their respective objects. Now it works again, mostly; modification of some attributes is still missing.
* javascript: allow by-ref getters to non-ref objectsbptato2023-08-271-36/+161
| | | | | | | | This makes not creating separate reference types for SameObject attributes possible. Also add a fromJS2 "hook" to allow defining fromJS behavior in modules other than javascript.
* Allow overriding libcurl namebptato2023-08-262-4/+10
| | | | for better compatibility with curl-impersonate
* mailcap: fix newline parsingbptato2023-08-261-1/+1
| | | | skipBlanks should not consume newlines.
* config: fix overriding default headersbptato2023-08-263-28/+27
| | | | | * simplify ActionMap reading * introduce separate case for Table
* Allow overriding default headersbptato2023-08-266-16/+19
|
* toml: various fixesbptato2023-08-261-8/+11
| | | | | * Increase line counter on newline in array & inline table parsing * Fix broken inline table parsing
* javascript: misc. refactoringsbptato2023-08-244-49/+37
| | | | | | | | | | | | * Remove some unused properties from objects * Un-extern JSFunctionList * Remove js/javascript dependency from regex (the wrapper functions were rather pointless) * Remove setProperty (only toJS(Table) used it, but there we have to use defineProperty instead.) * Accordingly, use definePropertyCWE in toJS(Table) * Simplify fromJSTable (replace pointer arithmetic with UncheckedArray) * Reduce implicit `result' usage
* doc: quote semi in mailcap examplebptato2023-08-241-1/+1
| | | | for clarity
* dom: add some null checks for windowbptato2023-08-232-5/+9
| | | | | | | Now that we have established that window *can* be nil. (Though the document.location window null check is probably unnecessary, because it is only called from scripts... but better safe than sorry.)
* DOMParser: use correct URLbptato2023-08-232-10/+13
| | | | | | | | Use current document's URL if window && window.document, otherwise default to about:blank. Also, it seems that passing nil to window is really necessary in some cases, so remove notes indicating otherwise.
* javascript: optimize unforgeable definitionbptato2023-08-231-16/+26
| | | | | | | | | Walking the prototype chain for every single type just so we can define the few LegacyUnforgeable properties we need is not the greatest idea. Instead, we now merge LegacyUnforgeable lists with those of ancestor prototypes, which reduces the entire ceremony to a single `get' from the global table.
* javascript: simplifybptato2023-08-211-3/+2
|
* doc: add needsterminal to mailcapbptato2023-08-201-2/+5
|
* doc: fix incorrect pathbptato2023-08-201-1/+1
| | | | s/mailcap/mime.types/g
* javascript: remove stray eprintbptato2023-08-201-2/+0
| | | | oops
* client: make `client.client' a getterbptato2023-08-201-1/+3
| | | | This way we do not need the ugly getProperty call.
* javascript: finish LegacyUnforgeable + misc fixesbptato2023-08-205-77/+118
| | | | | | | | Add jsuffget, jsuffunc for setting LegacyUnforgeable on functions. Misc fixes: * define LegacyUnforgeable properties for native object shims * replace some macros with templates
* javascript: update Events, misc fixes & additionsbptato2023-08-205-205/+617
| | | | | | | | | | | | | | Events: just implement the interfaces, no events are triggered yet. JS changes: * add LegacyUnforgeable * make consts enumerable * fix crash in isInstanceOf * fix destructor warnings * refactor registerType As a result, peakmem is now 1G+ on 1.6.14. It stays ~750M on 2.0.0. Hmm. Well, better upgrade to 2.0.0 I guess.
* toml: fix quotation chars in multiline stringsbptato2023-08-191-7/+9
|
* Update todobptato2023-08-171-0/+1
|
* dom: remove dead codebptato2023-08-161-7/+0
|
* Update todobptato2023-08-151-1/+0
|
* chadombuilder: implement restartbptato2023-08-151-0/+12
| | | | | Now pages (once again) do not break when a meta charset tag is defined. Hooray!
* Move HTML parsing into Chamebptato2023-08-1519-4597/+27
| | | | Operation "modularize Chawan somewhat" part 2
* Update chakasubptato2023-08-151-0/+0
|
* readme: wordingbptato2023-08-141-1/+1
|
* Move charsets into chakasubptato2023-08-1425-1878/+85
| | | | Operation "modularize Chawan somewhat" part 1
* mediaquery: fix logic errorbptato2023-08-141-1/+1
| | | | Not isAscii means we cannot convert to char. Oops.
* mimetypes: small optimizationbptato2023-08-131-2/+1
|
* Simplify mailcap entry matchingbptato2023-08-131-25/+14
|
* Do not replace existing mime typesbptato2023-08-131-1/+2
| | | | | Make mime.types behavior consistent with mailcap: that is, the *first* match counts.
* mailcap: fix typobptato2023-08-131-1/+1
| | | | It's not quite the same thing :P