muki
1613345dec
Merge pull request #611 from lightpanda-io/nix
...
Add Nix Development Support
2025-05-07 06:19:22 -07:00
Muki Kiboigo
759accef07
add README entry about Nix
2025-05-07 06:16:32 -07:00
Muki Kiboigo
6d02669fc3
add flake.nix
2025-05-07 06:16:32 -07:00
Karl Seguin
5207bdfd85
Merge pull request #608 from lightpanda-io/wpt-opts-url
...
wpt: use local url for wpt tests
2025-05-07 16:07:24 +08:00
Karl Seguin
690d4238e8
Merge pull request #607 from lightpanda-io/fix_int_overflow
...
fix overflow when setting timeout/interval
2025-05-07 16:05:37 +08:00
Pierre Tachoire
95ee78b1bd
wpt: use local url for wpt tests
2025-05-07 09:43:18 +02:00
Karl Seguin
25eadc2263
fix overflow when setting timeout/interval
2025-05-07 15:37:47 +08:00
Pierre Tachoire
28e4065890
Merge pull request #606 from lightpanda-io/no_owned_slice
...
remove unecessary toOwnedSlice
2025-05-07 08:47:37 +02:00
Karl Seguin
e44388b506
remove unecessary toOwnedSlice
2025-05-07 14:40:03 +08:00
Pierre Tachoire
540dea9fc3
Merge pull request #604 from lightpanda-io/non_generic_named_function
...
Change NamedFunction from a generic to a normal struct.
2025-05-07 08:32:14 +02:00
Karl Seguin
c31290b794
Change NamedFunction from a generic to a normal struct.
...
NamedFunction is important for displaying good error messages when there's
something wrong with the Zig structs we're trying to bind to JS. By making it
a normal struct, it's easier and cheaper to pass wherever an @compileError
might be needed.
2025-05-07 13:50:25 +08:00
Pierre Tachoire
f1fe4c0c70
Merge pull request #600 from lightpanda-io/timeouts_and_intervals
...
Make intervals easier and faster, add window.setInterval and clearInt…
2025-05-06 15:18:15 +02:00
Pierre Tachoire
921ac18876
Merge pull request #602 from lightpanda-io/Subpixel-mouse-events
...
Subpixel mouse events
2025-05-06 15:11:40 +02:00
sjorsdonkers
505ad0380e
typo
2025-05-06 12:52:08 +02:00
sjorsdonkers
2b7a7c0054
floor the pixels
2025-05-06 12:45:18 +02:00
sjorsdonkers
0dea4c51b7
Subpixel mouse events
2025-05-06 12:45:17 +02:00
Karl Seguin
3095f2110e
Merge pull request #599 from lightpanda-io/NativeIntersectionObserver
...
Native IntersectionObserver
2025-05-06 17:36:56 +08:00
sjorsdonkers
e32d35b156
no reobserve rootbounds for Window
2025-05-06 11:28:08 +02:00
sjorsdonkers
db28336e5d
Support options in observer and tests
2025-05-06 11:28:07 +02:00
sjorsdonkers
c5c5accaa8
Native IntersectionObserver
2025-05-06 11:28:06 +02:00
Karl Seguin
01aa826a24
Make intervals easier and faster, add window.setInterval and clearInterval
...
When the browser microtask was added, zig-specific timeout functions were
added to the loop. This was necessary for two reasons:
1 - The existing functions were JS specific
2 - We wanted a different reset counter for JS and Zig
Like we did in https://github.com/lightpanda-io/browser/pull/577 , the loop is
now JS-agnostic. It gets a Zig callback, and the Zig callback can execute JS
(or do whatever). An intrusive node, like with events, is used to minimize
allocations.
Also, because the microtask was recently moved to the page, there is no longer
a need for separate event counters. All timeouts are scoped to the page.
The new timeout callback can now be used to efficiently reschedule a task. This
reuses the IO.completion and Context, avoiding 2 allocations. More importantly
it makes the internal timer_id static for the lifetime of an "interval". This
is important for window.setInterval, where the callback can itself clear the
interval, which we would need to detect in the callback handler to avoid
re-scheduling. With the stable timer_id, the existing cancel mechanism works
as expected.
The loop no longer has a cbk_error. Callback code is expected to try/catch
callbacks (or use callback.tryCall) and handle errors accordingly.
2025-05-05 19:03:45 +08:00
Pierre Tachoire
7f2506d8a6
Merge pull request #598 from lightpanda-io/unused_imports
...
e2e-test / zig build release (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-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
remove unused code, mostly imports
2025-05-05 12:07:29 +02:00
Karl Seguin
7c2f7b6338
Merge pull request #595 from lightpanda-io/env_debug_ergonomics
...
Improve the debug ergonomics of the Env generic.
2025-05-05 16:22:05 +08:00
Karl Seguin
5f05de30a6
Improve the debug ergonomics of the Env generic.
...
Previously, we were passing our WebAPIs directly as an anonymous tuple. This
resulted in Env(T) having an _awful_ name - a name composed of hundreds of
classes.
By wrapping the anonymous tuple into a normal struct, the Env now gets a sane
name which helps improve stack traces (and profiling, and debugging, ...)
2025-05-05 16:03:55 +08:00
Pierre Tachoire
7741de7ae0
Merge pull request #597 from lightpanda-io/fix_undefined_access
...
Remove undefined that causes crash
2025-05-05 09:54:54 +02:00
Karl Seguin
d4c8e8c50e
Merge pull request #592 from lightpanda-io/isolated-polyfill-+-create-when-needed
...
Isolated polyfill & create world when needed
2025-05-05 15:03:05 +08:00
Pierre Tachoire
bf36ff9cb9
Merge pull request #593 from lightpanda-io/crypto_web_api
...
add crypto web api
2025-05-05 08:56:27 +02:00
Pierre Tachoire
8eadccdee2
Merge pull request #587 from lightpanda-io/dom-setchildnodes
...
cdp: dispatch DOM.setChildNodes event for search results
2025-05-05 08:56:04 +02:00
Kilari Teja
b32839292c
Support Data URI in scripts tags ( #596 )
...
* Support text/javascript mime type
* Support base64 encoded scripts
Related to https://github.com/lightpanda-io/browser/issues/412
2025-05-05 14:48:21 +08:00
Pierre Tachoire
2402443dcc
cdp: add comments on setChildNodes event
...
Co-authored-by: Karl Seguin <karlseguin@users.noreply.github.com >
2025-05-05 08:48:04 +02:00
sjorsdonkers
9f72c98967
Error on null page/scope
2025-05-05 08:46:33 +02:00
sjorsdonkers
f6f744aea1
Fix gc_hints not being send
2025-05-05 08:46:33 +02:00
sjorsdonkers
cddc55694a
load polyfills on creation
2025-05-05 08:46:32 +02:00
sjorsdonkers
8930e2f06e
isolated polyfill + create when needed
2025-05-05 08:46:32 +02:00
Karl Seguin
b8e5e130b9
remove unused code, mostly imports
2025-05-05 13:29:41 +08:00
Karl Seguin
a8c5087a38
Remove undefined that causes crash
...
These values are set to undefined, and used (in the item function) before ever
being set. Causes crashes in release mode.
2025-05-04 21:18:30 +08:00
Karl Seguin
d9f21e0475
add empty cases to empty test suite ( #594 )
e2e-test / zig build release (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-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
2025-05-03 14:11:39 +08:00
Karl Seguin
ca3fa3dc40
Rework WPT runner ( #589 )
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
* Rework WPT runner
We have no crashing tests, remove safe mode. Allows better re-use of arenas,
and if we do introduce a crash, it won't be easy to ignore. Could allow for
re-using the environment across tests to further improve performance.
Remove console now that we have a working console api.
* Update workflows, add summary
Remove --safe option from WPT workflows (it's no longer valid)
Include a total test/case summary when --summary or --text (default) is used.
* remove wpt --safe flag from Makefile
* handle tests in the root of the test folder
* Fix a couple possible segfaults base on strange usage (WPT stuff)
* generate proper JSON
* generate proper JSON (for real this time?)
* fix tag type check
2025-05-03 07:53:02 +08:00
Karl Seguin
ddd0a42b26
add crypto web api
2025-05-03 07:52:12 +08:00
Pierre Tachoire
f884627927
cdp: sent setchildnodes once per node
2025-05-02 22:10:26 +02:00
Pierre Tachoire
9373cf9cf6
cdp: refacto sendChildNodes
2025-05-02 21:55:14 +02:00
Pierre Tachoire
f04030904e
cdp: fix tests for setchildnodes
2025-05-02 15:55:49 +02:00
Pierre Tachoire
271b2a0417
Merge pull request #591 from lightpanda-io/element_matches
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-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
add Element.matches web api
2025-05-02 11:57:55 +02:00
Karl Seguin
a4f7393fc8
Merge pull request #590 from lightpanda-io/zig_fmt
...
zig fmt
2025-05-02 16:40:24 +08:00
Karl Seguin
8f851beda1
add Element.matches web api
2025-05-02 16:30:49 +08:00
Karl Seguin
4489efa8d9
zig fmt
2025-05-02 16:03:13 +08:00
Pierre Tachoire
8b9084cb73
cdp: dispatch the correct dom hierarchy wit setChildNodes
2025-05-01 19:42:04 +02:00
Pierre Tachoire
1146453dc2
cdp: add session to setChildNodes event
2025-05-01 16:51:02 +02:00
Pierre Tachoire
bd54395948
Merge pull request #588 from lightpanda-io/custom_events
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-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
Add CustomEvent api
2025-05-01 16:29:57 +02:00
Karl Seguin
89ac27ba97
Add CustomEvent api
2025-05-01 19:33:22 +08:00