about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "quickjs: add Array.prototype.at"bptato2023-12-081-30/+0
| | | | | | This reverts commit b7367506fa05e9396e69b1db7277e011722af6b0. Importing upstream patch instead.
* updated to unicode 15.0.0Fabrice Bellard2023-12-081-1198/+1237
|
* Makefile: disable CONFIG_BIGNUM for QJSbptato2023-12-051-2/+1
| | | | We do only use BigInt, so the flag is no longer necessary.
* quickjs/libbf: add missing ifdefbptato2023-12-051-0/+2
|
* the BigInt support is now always includedbellard2023-12-054-846/+509
|
* bf_set_ui() fix (github issue #133)bellard2023-12-051-16/+16
|
* Revert "fix undefined behavior: shift 32 bits for uint32_t in bf_set_ui"bptato2023-12-051-6/+1
| | | | | | This reverts commit 821693c4374d9895f462fa29644905c61dbb241d. (Importing fix from upstream instead.)
* quickjs: improve can_destroy hookbptato2023-12-051-19/+40
| | | | | | Use a separate list for tracking potential can_destroy targets. This lets us skip unnecessarily calling can_destroy for non-platform objects, and gets rid of exponential complexity in the loop.
* Update chamebptato2023-12-032-1/+1
|
* event: remove ctx from CustomEventbptato2023-12-033-36/+47
| | | | | Instead, make finalizers optionally pass their runtime for resource deallocation.
* Update todobptato2023-12-031-2/+0
|
* buffer: do not needlessly copy in onloadbptato2023-12-031-9/+5
|
* pager, container: add text selection/copyingbptato2023-12-0311-73/+280
| | | | | | | | | | * Add select & copy selection functionality to container * Fix bug in generateSwapOutput where output could be misplaced because of zero-width cells * Add fromJSPromise, call runJSJobs in every iteration of the headed event loop * "await" pager actions that output a promise * Change default view source keybinding to `\'
* qjs: fix a warningbptato2023-12-021-1/+1
| | | | | We want to check if d is larger than INT64_MAX, but the conversion rounds it up, so we actually need to use greater-equals.
* Get rid of clang 16 workaroundbptato2023-12-026-17/+30
| | | | | * bindings/quickjs: importc and use correct pointer types * add constcharp module for when it is unavoidable
* js: get rid of emitbptato2023-12-021-22/+15
| | | | now I know how to :P
* dom: fix relList setter regression, remove rel()bptato2023-12-022-6/+15
|
* js: get rid of getJSValuebptato2023-12-022-11/+11
| | | | just use an UncheckedArray in the binding
* ua.css: do not set del, ins display to block; strike delbptato2023-12-011-3/+3
|
* pager: small optimization in drawBufferbptato2023-12-011-2/+2
|
* dom: redefine Node.contains to match standardbptato2023-12-012-5/+7
| | | | (and expose it as a JS function)
* dom: functionize parentElement, improve Node.documentbptato2023-12-011-7/+7
| | | | | | * parentElement is now just a function. * Remove TODO from node.document; it is useful and not going anywhere. * Check for Nim type in Node.document, not nodeType
* dom: fix `children' being available for all Nodesbptato2023-12-011-6/+17
| | | | It is only defined for Document, Element, DocumentFragment.
* html: add HTMLElement.dataset (+ some twtstr cleanup)bptato2023-12-013-32/+96
|
* Makefile: fix $(FLAGS) not being usedbptato2023-11-301-2/+3
|
* js: simplify toJSP0bptato2023-11-305-33/+25
| | | | | | | * Expose js_create_from_ctor from QuickJS and directly use that (instead of badly recreating it) * Do not call defineUnforgeable twice (it is inevitably called in toJSP0, so jsctor does not need it)
* js: allow subclassing platform objects in JSbptato2023-11-303-5/+50
|
* intl: stub out Intl.PluralRulesbptato2023-11-302-0/+26
|
* twtstr: simplify expandPathbptato2023-11-291-19/+12
|
* env: add window.top, window.parentbptato2023-11-291-3/+12
| | | | | Also, func-ize some similar identity functions, and add TODOs about [Replaceable].
* buffer: do not set readyState if document is nilbptato2023-11-291-1/+2
| | | | | As the comment says, buffer.document only exists if buffer.ishtml is true.
* Makefile: rewritebptato2023-11-283-71/+112
| | | | | | | * Get rid of useless targets * Use real recipes instead of command runner targets * When given, use environment variables * Document Makefile stuff in doc/build.md
* dom: add document.readyStatebptato2023-11-272-2/+10
|
* buffer: add DOMContentLoaded, misc event improvementsbptato2023-11-272-49/+75
| | | | | | | * Add DOMContentLoaded * Re-use the same event object for all elements * Reshape if an event was fired * Reshape on setTimeout/setInterval fired
* layout: rewrite inline box handlingbptato2023-11-274-556/+654
| | | | | | | | | | | We now have real inline boxes. * Fix nesting of inline boxes * Represent inline boxes with a hierarchical RootInlineFragment -> InlineFragment tree * Get rid of inline padding hack * Get rid of ComputedFormat * Paint inline box backgrounds properly
* js: remove nonsensical comment linebptato2023-11-261-1/+0
|
* doc: fix typobptato2023-11-261-1/+1
|
* config: add bare aliases for "8bit", "24bit"bptato2023-11-262-5/+9
| | | | | | | | | | | Without this, setting color-mode using -o required quoting the values, and then shell-quoting the quotes themselves (cha -o 'display-color-mode="24bit"'). Instead of more special casing in the TOML parser, we just add aliases for these enum values that can be parsed using TOML bare string rules. So now this works: cha -o display.color-mode=true-color
* color: fix rgbToEightBit parenthesesbptato2023-11-261-1/+1
| | | | | This was causing incorrect approximation to grayscale values for colors with a red component in 8 .. 248.
* dom: expose HTMLInputElement.checkedbptato2023-11-241-1/+1
|
* layout: clamp size constraints to min/max sizes for floatsbptato2023-11-231-7/+12
|
* readme: fix typobptato2023-11-231-1/+1
|
* Update about:chawanbptato2023-11-231-1/+2
| | | | | * clarify search keybinding * list web search keybinding
* Update readmebptato2023-11-232-0/+11
| | | | | | * add showcase picture * add link to sourcehut project page (until sourcehut adds one) * add example usage
* Update readme, todobptato2023-11-232-2/+4
|
* layout: add clear, etc.bptato2023-11-232-39/+116
| | | | | | * Add clear CSS property * Fix some margin resolution bugs * Apply min-height, max-height to inner inline outer block boxes
* css/values: use Opt instead of Result[string]bptato2023-11-211-55/+54
| | | | the error values were 100% unused
* css/values: simplify getComputedValuebptato2023-11-211-11/+10
|
* Move clang workaround to config.nimsbptato2023-11-213-5/+5
|
* layout: simplify max width/height calculationbptato2023-11-211-41/+43
| | | | No need for the options.