Karl Seguin
65ea70ae90
Merge pull request #1403 from lightpanda-io/module_async_import_self
...
Support a module dynamically importing itself
2026-01-23 18:59:26 +08:00
Karl Seguin
7522b71c86
Support a module dynamically importing itself
2026-01-23 10:45:41 +08:00
Karl Seguin
065ca39d60
Merge pull request #1397 from lightpanda-io/heapprofiler
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
Ability to capture a V8 heap profile and a heap snapshot
2026-01-22 12:17:47 +08:00
Karl Seguin
b4759ae261
Ability to capture a V8 heap profile and a heap snapshot
2026-01-22 10:27:58 +08:00
Karl Seguin
c095950ef9
Merge pull request #1395 from lightpanda-io/microtasks_on_local
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
Move runMicrotask from Context to Local
2026-01-22 08:37:56 +08:00
Karl Seguin
24b7035b1b
Merge pull request #1394 from lightpanda-io/avoid_double_doctype
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
On dump, use the HTMLDocument's doctype if available
2026-01-21 18:21:43 +08:00
Karl Seguin
7b1f157cf8
Merge pull request #1392 from lightpanda-io/handle_scope_for_message_loop
...
Create HandleScope for PumpMessageLoop
2026-01-21 15:44:14 +08:00
Karl Seguin
8b8bee4e9c
Move runMicrotask from Context to Local
...
This ensures that there's always a HandleScope avaialble when running microtasks
2026-01-21 15:40:32 +08:00
Pierre Tachoire
c27ab35600
Merge pull request #1393 from lightpanda-io/remove_js_obj_cache
...
Disable JS object cache
2026-01-21 08:14:24 +01:00
Karl Seguin
446b4dc461
On dump, use the HTMLDocument's doctype if available
...
We currently force-write a simple HTML doctype for HTMLDocument. But if the
document already has a doctype, that results in us writing the forced one then
writing the correct one. This adds a check and only force-writes a doctype if
the first child of the document isn't a document_type node.
2026-01-21 14:15:11 +08:00
Karl Seguin
ff8ed24622
Merge pull request #1391 from lightpanda-io/lowmem-on-page-reset
...
call env.lowMemoryNotification() during page reset
2026-01-21 13:23:24 +08:00
Karl Seguin
ae2d6a122b
Disable JS object cache
...
Was added here 43805ad698
But causes segfaults. The issue is hard to understand. At first, it seemed like
the value cached in a v8::Object was persisting through v8::contexts of the
same isolate. Set window.document to the current &document, and in a different
context, it retrieves that cached value (which is now an invalid pointers).
However, upon further investigation, this appears to be limited to a mix of
navigation (which causes a new context to be created, and old values to be
invalidated) + Inspector which continues to send commands to the old context.
Since contextDestroyed is something we're aware of and planning to do shortly,
I think we can disable the cache until that's fixed.
2026-01-21 11:26:59 +08:00
Karl Seguin
3cac375f21
Merge pull request #1386 from lightpanda-io/tweak_global_setup
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
Move global setup to the Env (Isolate)
2026-01-21 07:11:47 +08:00
Karl Seguin
7d806dd161
Merge pull request #1369 from lightpanda-io/selection-webapi
...
`Selection` WebAPI
2026-01-21 07:11:11 +08:00
Karl Seguin
db037c704e
Merge pull request #1388 from lightpanda-io/pointer_event
...
add PointerEvent
2026-01-21 07:10:32 +08:00
Karl Seguin
954184f742
Create HandleScope for PumpMessageLoop
2026-01-21 07:05:59 +08:00
Muki Kiboigo
7650e0b61a
fix selection start updating to new len
2026-01-20 11:25:04 -08:00
Muki Kiboigo
4a5c93988f
fix selection test expectation
2026-01-20 11:24:50 -08:00
Pierre Tachoire
8ceaf0ac66
call env.lowMemoryNotification() during page reset
...
calling env.lowMemoryNotification() on page reset encourages v8 to free
memory and keep low usage.
2026-01-20 18:27:25 +01:00
Pierre Tachoire
ca60aa1cc6
Merge pull request #1387 from lightpanda-io/lower_perf_regression
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
Reduce perf regression max
2026-01-20 13:36:16 +01:00
Karl Seguin
596d5906a0
add PointerEvent
2026-01-20 18:38:03 +08:00
Karl Seguin
c02db94522
Reduce perf regression max
...
Mem 28MB -> 26MB (currently a 24.1MB)
Time 23 -> 17 (currently at 14)
We've made some memory and performance optimization gains lately. Lowering
these will let us spot incremental changes better.
2026-01-20 18:07:28 +08:00
Karl Seguin
3970803575
Merge pull request #1382 from lightpanda-io/cached_properties
...
Re-enable cached property support
2026-01-20 18:00:19 +08:00
Karl Seguin
43805ad698
Re-enable cached property support
...
The idea is that frequently accessed properties, e.g. window.document, can be
cached directly as data properties on the underlying v8::Object, removing the
need for the access call into Zig. This is only used on a handful of properties,
almost all of which are on the Window. It is important that the property be
read-only. For example, window.location cannot be cached this way because
window.location is writable (e.g. window.location.hash = '#blah').
This existed briefly before Zigdom, but was removed as part of the migration.
The implementation has changed. This previously relied on a "postAttach" feature
which no longer exists. It is not integrated in the bridge/callback directly and
lazily applied after the first access.
2026-01-20 17:34:52 +08:00
Karl Seguin
2498e12f19
Move global setup to the Env (Isolate)
...
Previously, we were doing some global setup in the Snapshot, but this was
always being overwritten when creating a context. This meaningless setup in
the snapshot was removed.
The global setup is now done once per isolate, rather than once per context.
2026-01-20 17:21:45 +08:00
Karl Seguin
6f3cb4b48e
Merge pull request #1385 from lightpanda-io/remove_debug_print
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
Remove a debug print
2026-01-20 16:36:26 +08:00
Karl Seguin
fbd047599e
Merge pull request #1374 from lightpanda-io/fix_context_lifetime
...
Fix context lifetime
2026-01-20 16:24:12 +08:00
Karl Seguin
da00117622
Remove a debug print
2026-01-20 16:23:22 +08:00
Karl Seguin
e44c73bdf6
Merge pull request #1384 from lightpanda-io/htmlscript-src-absolute
...
`HTMLScriptElement` should return an absolute URL in `src`
2026-01-20 12:38:42 +08:00
Karl Seguin
e3cb7bd9f0
add test
2026-01-20 11:14:20 +08:00
Muki Kiboigo
08f5889ee5
getSrc should return an absolute URL
2026-01-19 18:50:24 -08:00
Muki Kiboigo
d5bfe74e1a
add selection api to HTMLTextAreaElement
2026-01-19 18:37:52 -08:00
Muki Kiboigo
d7015fa3b6
add selection api to HTMLInputElement
2026-01-19 18:34:02 -08:00
Karl Seguin
9092651b5b
Merge branch 'main' into fix_context_lifetime
2026-01-20 08:50:41 +08:00
Karl Seguin
2c53b48e0a
add missing handlescope
2026-01-20 08:11:38 +08:00
Muki Kiboigo
319a1c3367
update WPT to include Selection
2026-01-19 07:12:40 -08:00
Muki Kiboigo
80dd590e8f
add toString to Selection
2026-01-19 07:12:40 -08:00
Muki Kiboigo
992a8e8774
handle null anchor or focus nodes in Selection
2026-01-19 07:12:40 -08:00
Muki Kiboigo
f56d3bd193
do not modify old range in collapseToX
2026-01-19 07:12:40 -08:00
Muki Kiboigo
4ecc59d0c0
Fix a lot of Selection Issues
...
This uses the Chrome/Safari approach of only
having a single Range exist in the Selection.
This also better follows the W3C spec of Selection
2026-01-19 07:12:40 -08:00
Muki Kiboigo
5ebf82874b
fix selection test inconsistency
2026-01-19 07:12:40 -08:00
Muki Kiboigo
12670a3153
fix extend direction in Selection
2026-01-19 07:12:40 -08:00
Muki Kiboigo
fa3a23134e
properly return NotFoundError on removeRange
2026-01-19 07:12:39 -08:00
Muki Kiboigo
8291044abc
fix collapseToStart on Selection
2026-01-19 07:12:39 -08:00
Muki Kiboigo
505e0799da
add remaining functions to Selection
2026-01-19 07:12:39 -08:00
Muki Kiboigo
be1d463775
add Selection WebAPI test
2026-01-19 07:12:39 -08:00
Muki Kiboigo
a6fc5aa345
add getSelection to Window, Document
2026-01-19 07:12:37 -08:00
Muki Kiboigo
0e6e4db08b
add Selection WebAPI
2026-01-19 07:11:45 -08:00
Karl Seguin
a84708e99d
Merge pull request #1359 from lightpanda-io/crash_handler
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
Improve crash handling
v0.2.1
2026-01-19 16:50:08 +08:00
Halil Durak
6b6c0e930e
Merge pull request #1376 from lightpanda-io/nikneym/attribute-ns
...
Add simplified `setAttributeNS` and `getAttributeNS`
2026-01-19 11:08:49 +03:00