Alexis Bouchez
74354d2027
invoke window.onerror callback in reportError
2026-01-22 10:12:06 +01:00
Karl Seguin
f6397e2731
Handle scripts that don't return a 200 status code
...
This was already being handled for async scripts, but for sync scripts, we'd
log the error then proceed to try and execute the body (which would be some
error message).
This allows the header_callback to return a boolean to indicate whether or not
the http client should continue to process the request or abort it.
2026-01-22 14:15:00 +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