Pierre Tachoire
e09d15b12a
add more generic HTML types
2026-01-15 15:37:35 +01:00
Karl Seguin
6d33d23935
Merge pull request #1371 from lightpanda-io/reject_non_new_constructor
...
e2e-test / zig build release (push) Has been cancelled
zig-test / zig test (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 / 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
Reject constructor calls without new
2026-01-15 12:06:55 +00:00
Karl Seguin
47760e00f7
Reject constructor calls without new
...
This was previously a fixed bug, but it got lost in the direct_v8 merging.
https://github.com/lightpanda-io/browser/pull/1316
2026-01-15 19:25:43 +08:00
Karl Seguin
72e8421099
Merge pull request #1366 from lightpanda-io/details_are_values
...
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
use js.Value when input can be a value
2026-01-14 23:25:17 +00:00
Karl Seguin
844b0ed457
Merge pull request #1368 from lightpanda-io/dupe_remove_id
...
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
Make removeIds lookup own the key
2026-01-14 11:52:06 +00:00
Karl Seguin
7e37db796f
Make removeIds lookup own the key
...
Virtually all string are page-owned (in the page.arena), but because of the
Small String Optimization we use (string.zig), a string could be stack-allocated
The correct solution is probably to change the key to be a string.String. But
I want to give more thought to memory in general, and strings specifically need
to be thought about. So this is a quick fix for crashing.
2026-01-14 18:35:26 +08:00
Karl Seguin
3e5b506675
Merge pull request #1367 from lightpanda-io/readable_stream_cancel_persist
...
persist the readable stream's cancel callback
2026-01-14 10:20:14 +00:00
Karl Seguin
d356dbfc06
Merge pull request #1365 from lightpanda-io/try_catch_caught
...
Try catch caught
2026-01-14 09:59:19 +00:00
Karl Seguin
f5aee1f4c0
persist the readable stream's cancel callback
2026-01-14 17:58:41 +08:00
Karl Seguin
de4926d87d
fix legacy runner, manual merge
2026-01-14 17:49:27 +08:00
Karl Seguin
56a39e2cc7
Apply tryCatch change to wpt runner
2026-01-14 17:34:08 +08:00
Karl Seguin
8e14dacc32
Improve ergonomics of try catch (and Function's tryCall)
...
It now returns a Caught struct which contains all information. The Caught struct
can be logged directly, providing more consistent logs for caught errors.
2026-01-14 17:34:02 +08:00
Karl Seguin
05102c673a
use js.Value when input can be a value
...
We previously treated v8::Object and v8::Values interchangeably, and would just
ptrCast one to the other. So, if an API was defined with a js.Object but was
given a non-object value, e.g. 9001, it would still work.
This has since been tightened. If an API takes a js.Object, than the v8 value
must be an object. Passing a non-object will result in a InvalidArgument error.
CustomEvent.detail and PerformanceMark.detail can both be any value, so the
apis/fields have been updated from js.Object -> js.Value.
2026-01-14 15:38:34 +08:00
Karl Seguin
db2ecfe159
Merge pull request #1307 from lightpanda-io/direct_v8
...
Direct v8
2026-01-14 07:27:42 +00:00
Karl Seguin
640cb0d489
Merge pull request #1364 from lightpanda-io/observer_try_catch
...
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
add trycatch to Intersection and Performance Observers
2026-01-14 02:10:56 +00:00
Karl Seguin
223a6170d5
Fix use-after free
...
On CDP.BrowserContext.deinit, clear the isolated world ExecutionContext before
terminating the session. This is important as the isolated_world list is
allocated from the session.arena.
Also, semi-revert 63f1c85964 . Before all this
we were running microtasks on ExecutionWorld.removeContext. That didn't seem
right (and I thought it was the original source of the bug). But, for the "real"
Page context, this is critical, since Microtasks can reference the Page object.
Since microTasks are isolation-level, it's possible for a microtasks for Page1
to execute after Page1 goes away (if we create a new page, Page2). This re-adds
the microtask "draining", but only for the Page (i.e. in Page.deinit).
2026-01-14 09:37:10 +08:00
Karl Seguin
63f1c85964
Remove unnecessary microtask run.
...
This crashes linux in releasesafe without an embedded snapshot. Not sure why,
but it shouldn't be necessary. This was added back when we were executing
microtasks on a schedule, rather than manually at explicit points.
2026-01-13 18:09:58 +08:00
Karl Seguin
c252c8e870
update v8 dep version
2026-01-13 16:12:28 +08:00
Karl Seguin
801c019150
update v8
2026-01-13 16:07:49 +08:00
Karl Seguin
d77a6620f3
merge main
2026-01-13 13:05:16 +08:00
Karl Seguin
4e4a615df8
Move Env's FunctionTemplate from Global -> Eternal
...
(we'll move more to Eternal's, this is just a first teaser)
2026-01-13 12:58:31 +08:00
Karl Seguin
1b0ea44519
merge main
2026-01-13 12:58:31 +08:00
Karl Seguin
86f4ea108d
Store snapshot templates in isolate, not context.
...
This lets us load the isolate without having to create a temp/dummy context
just to get the templates.
Call ContextDisposedNotification when a context is removed. Supposedly this can
help/hint to the isolate about memory management.
2026-01-13 12:58:30 +08:00
Karl Seguin
2322cb9b83
remove unused code, remove references to v8::Persistent
2026-01-13 12:58:30 +08:00
Karl Seguin
4720268426
Don't dupe StartupData, use what v8 gives us directly.
2026-01-13 12:58:30 +08:00
Karl Seguin
b4f134bff6
Prefer js.Value over js.Object in History/Navigation
...
Persist function callback in PerformanceObserver
2026-01-13 12:58:30 +08:00
Karl Seguin
f2a9125b99
js.v8 is not equal to js.v8.c
...
This means the C funtions/types now sit in the root of v8.
2026-01-13 12:58:30 +08:00
Karl Seguin
8438b7d561
remove remaining direct v8 references
2026-01-13 12:58:30 +08:00
Karl Seguin
18c846757b
migrate almost all types
2026-01-13 12:58:28 +08:00
Karl Seguin
bc11a48e6b
migrate most cases, merge Caller into bridge
2026-01-13 12:57:06 +08:00
Karl Seguin
01ecd725b8
cleanup resolvers
2026-01-13 12:57:06 +08:00
Karl Seguin
e6af7d1bd0
import more types
2026-01-13 12:57:06 +08:00
Karl Seguin
701de08e8a
have our js.Context directly hold a js handle
2026-01-13 12:57:06 +08:00
Karl Seguin
363b95bdef
Isolate and HandleScope
2026-01-13 12:57:06 +08:00
Karl Seguin
ca5a385b51
Port js.Object
...
Use js.Value in apis that should take values (not objects), like console.log
and setTimeout and reportError.
2026-01-13 12:57:03 +08:00
Karl Seguin
93f0d24673
port TryCatch
2026-01-13 12:56:07 +08:00
Karl Seguin
a5038893fe
port Snapshot
2026-01-13 12:56:07 +08:00
Karl Seguin
3442f99a49
remove unused js.This
2026-01-13 12:56:07 +08:00
Karl Seguin
6ecf52cc03
port Platform and Inspector to use v8's C handles/functions directly
2026-01-13 12:56:07 +08:00
Karl Seguin
8aaef674fe
Migrate Function and String
2026-01-13 12:56:07 +08:00
Karl Seguin
3b1cd06615
Make js.Array and js.Value directly contain their v8 handles.
2026-01-13 12:56:06 +08:00
Karl Seguin
4841f8cc8f
add trycatch to Intersection and Performance Observers
2026-01-13 12:55:10 +08:00
Karl Seguin
d9d8f68bf8
Merge pull request #1361 from lightpanda-io/mutation-observer-trycall
...
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
use tryCall for MutationObserver records callback
2026-01-12 22:42:33 +00:00
Pierre Tachoire
cf726d9813
fix double slash in import path
2026-01-12 17:59:49 +01:00
Pierre Tachoire
92be2c45d6
use tryCall for MutationObserver records callback
...
Instead of `call` to avoid uncaught error
2026-01-12 17:58:40 +01:00
Pierre Tachoire
914092b538
Merge pull request #1355 from lightpanda-io/console_apis
...
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
add some missing APIs to Console
2026-01-12 15:15:24 +01:00
Pierre Tachoire
a8cd5fc266
Merge pull request #1354 from lightpanda-io/node_document
...
Node document
2026-01-12 15:14:57 +01:00
Pierre Tachoire
643f07fa10
Merge pull request #1352 from lightpanda-io/mutation_character_data
...
Mutation character data
2026-01-12 15:13:32 +01:00
Pierre Tachoire
0d77ff661b
Merge pull request #1360 from lightpanda-io/wpt-v8
...
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
ci: fix wpt path
2026-01-12 10:53:51 +01:00
Pierre Tachoire
70d84b2f72
ci: fix wpt build path
2026-01-12 10:38:13 +01:00