Pierre Tachoire
c15cd46c85
Merge pull request #2541 from lightpanda-io/import_meta.resolve
...
implement import.meta.resolve
2026-05-26 10:04:00 +02:00
Pierre Tachoire
e7cb9253a6
Merge pull request #2540 from lightpanda-io/websocket_worker
...
make websocket work in worker
2026-05-26 09:37:16 +02:00
Pierre Tachoire
63a8e6dd52
Merge pull request #2539 from lightpanda-io/accname_content_for_name
...
Accessibility: use content for name for specific role
2026-05-26 09:34:51 +02:00
Karl Seguin
9fb631bd4d
Merge pull request #2506 from lightpanda-io/next-tick-client
...
Serve Cache from Next Client Tick
2026-05-26 08:42:52 +08:00
Muki Kiboigo
2043f3e3b1
use next_tick_count to limit drain count
2026-05-25 17:13:16 -07:00
Muki Kiboigo
17e166c35f
assert that next_tick_count is 0 after abort
2026-05-25 17:12:40 -07:00
Muki Kiboigo
c927fc927d
decrement next_tick_count when canceled
2026-05-25 17:05:48 -07:00
Karl Seguin
228fdafa11
Merge pull request #2544 from lightpanda-io/cache-evict
...
Cache Eviction
2026-05-26 07:38:12 +08:00
Muki Kiboigo
f0bc85f117
add Cache Eviction
2026-05-25 11:23:25 -07:00
Muki Kiboigo
a4c535370b
add optional Abort handler to runNextTick
2026-05-25 11:05:11 -07:00
Muki Kiboigo
aa90575f82
iterate through NextTickQueue without popFirst
2026-05-25 10:52:52 -07:00
Muki Kiboigo
00ccb5ed52
NextTickNode is owned by Transfer
2026-05-25 10:52:51 -07:00
Muki Kiboigo
f4de603cf5
properly deinit transfer on runNextTick
2026-05-25 10:09:53 -07:00
Muki Kiboigo
a828a5cd78
properly wait for all next ticks to be flushed
2026-05-25 10:06:50 -07:00
Muki Kiboigo
766e163ef1
properly handle cancellation of next tick events
2026-05-25 10:06:50 -07:00
Muki Kiboigo
a295a7a21a
various changes to properly track next ticked transfers
2026-05-25 10:06:50 -07:00
Muki Kiboigo
cd5e5ece40
serve from cache on next client tick
2026-05-25 10:06:49 -07:00
Muki Kiboigo
274ee25fb2
add NextTickQueue to HttpClient
2026-05-25 10:06:17 -07:00
Karl Seguin
d03215492c
implement import.meta.resolve
2026-05-25 16:54:52 +08:00
Karl Seguin
24639890a7
make websocket work in worker
2026-05-25 13:29:37 +08:00
Karl Seguin
8472d21c59
Accessibility: use content for name for specific role
...
For typically name-less elements, check the "role" attribute to see if we should
fallback to the content.
Improves a handful of WPT tests, e.g.: /accname/name/comp_text_node.html
(It seems impossible to get 100% on these tests without knowing what is and
isn't a block-level element which would require more knowledge in the
StyleManager).
2026-05-25 12:46:20 +08:00
Karl Seguin
9dc81f129c
Merge pull request #2538 from lightpanda-io/feat-implement-file-api
...
Feat implement file api
2026-05-25 12:10:41 +08:00
Karl Seguin
d3c5c31a93
deduplicate File and Blob init
2026-05-25 11:36:17 +08:00
Karl Seguin
dc4218159a
Merge pull request #2523 from navidemad/fix/2363-about-blank-replaces-document
...
Replace active page on synthetic root navigation (about:blank, blob:)
2026-05-25 09:19:30 +08:00
Karl Seguin
43a592d2fc
small dedupe for arena release
2026-05-25 09:05:37 +08:00
Karl Seguin
43102317aa
Merge pull request #2524 from willmafh/auth_challenge_parse_bugfix
...
bugfix: get scheme correctly when there is any leading whitespace
2026-05-24 16:44:00 +08:00
Armaan Sandhu
a7e3bea672
feat(webapi): implement W3C File API
2026-05-24 13:04:33 +05:30
willmafh
2d48926f1e
bugfix: get scheme correctly when there is any leading whitespace
2026-05-23 12:39:34 +08:00
Karl Seguin
93d2e9689b
Merge pull request #2522 from lightpanda-io/WebDriver_getComputedLabel
...
Add WebDriver getComputedLabel
2026-05-23 07:49:44 +08:00
Pierre Tachoire
9619738111
Merge pull request #2517 from navidemad/makefile/download-v8
...
Add `make download-v8` to fetch prebuilt V8 and skip the source build
2026-05-22 15:53:48 +02:00
Navid EMAD
6df1dfe238
Replace active page on synthetic root navigation (about:blank, blob:)
...
Page.navigate("about:blank") (and blob:) issued against a non-blank tab
routed through Session.initiateRootNavigation, which always allocated a
pending Page. A pending Page is promoted to active only by
frameHeaderDoneCallback when HTTP response headers arrive — but synthetic
navigations ZIGFLAGS= make no HTTP request, so the pending Page was never committed
and the previous document stayed active (window.location.href, document.URL
and Page.getFrameTree all kept reporting the old page).
Route synthetic URLs through the existing immediate-swap path
(replaceRootImmediate) from initiateRootNavigation, mirroring what
processRootQueuedNavigation already does for JS-initiated synthetic
navigations. replaceRootImmediate now takes (frame_id, url, opts) so both
call sites share it.
Fixes #2363
2026-05-22 15:41:15 +02:00
Navid EMAD
47bebded55
Point download-v8 at the cache directly, drop the v8/ symlink
...
The prebuilt archive already lives at .lp-cache/prebuilt-v8/<version>.a;
the v8/libc_v8.a symlink was redundant indirection. build.zig has no
implicit lookup, so the Makefile passes -Dprebuilt_v8_path explicitly
anyway. Point it straight at the cached file, dropping the symlink step,
the v8/ dir, and its .gitignore entry. Keep the version-keyed filename so
bumping the V8 pin fetches a new file instead of clobbering.
2026-05-22 15:16:57 +02:00
Karl Seguin
aeba861d69
Add WebDriver getComputedLabel
...
Used by https://github.com/lightpanda-io/wpt/pull/68
Helps many /accname/ WPT tests pass
2026-05-22 20:16:09 +08:00
Karl Seguin
9d6dcb71ab
Merge pull request #2521 from lightpanda-io/multi_remove_assert_attributes
...
Add more attributes to multi_remove assertion failure
2026-05-22 20:12:53 +08:00
Pierre Tachoire
8b2a79d93a
Merge pull request #2515 from lightpanda-io/cdp_watchdog
2026-05-22 13:19:48 +02:00
Karl Seguin
38a4a334fd
Add more attributes to multi_remove assertion failure
...
Saw this assertion catch for the first time today. Hoping the extra data will
help identity the issue. No URL or other identifiable data is logged.
2026-05-22 16:10:11 +08:00
Karl Seguin
9621db2e5e
Merge pull request #2514 from lightpanda-io/worker_performance
...
Performance WebAPI on Worker
2026-05-22 12:39:23 +08:00
Karl Seguin
0c9b07ab0f
Add exposed option to bridge functions/accessors
...
While both Window and WorkerGlobalState expose the same "Performance" object,
some getters are window specific (e.g. eventCounts). I thought the same object
would always have the same shape and, when not possible, they'd be different
types (e.g. Location vs WorkerLocation). But that isn't always the case. So
.exposed = .window (or .worker, defaulting to .both) can not be defined on the
bridge mapping.
2026-05-22 11:32:37 +08:00
Karl Seguin
4b5d0109c5
Merge pull request #2513 from lightpanda-io/syncRequest_uaf
...
Protect against dangling pointer in syncRequest
2026-05-22 11:02:49 +08:00
Karl Seguin
05a373dccc
zig fmt
2026-05-22 09:40:06 +08:00
Karl Seguin
5c20a79c08
improve comments
2026-05-22 09:38:58 +08:00
Karl Seguin
c0c1ae286f
Merge pull request #2512 from lightpanda-io/about_blank_frame_visibility
...
Ensure about:blank frame visibility
2026-05-22 09:30:56 +08:00
Karl Seguin
f713d9561b
Handle potentially unsorted frames pre-navigate
2026-05-22 08:48:52 +08:00
Karl Seguin
0f11736d3a
Update src/browser/Frame.zig
...
Co-authored-by: Pierre Tachoire <pierre@lightpanda.io >
2026-05-22 08:39:06 +08:00
Karl Seguin
abdfd443e1
On CDP client disconnect, terminate Env
...
Protects against a stuck worker. This works even if the worker isn't currently
in JS but then enters JS.
2026-05-22 07:13:46 +08:00
Karl Seguin
3fc75dfe85
Revert "Add watchdog to Network thread for abandoned & stuck workers"
...
This reverts commit 8da7657d4c .
2026-05-22 07:09:57 +08:00
Pierre Tachoire
bc43d64324
Merge pull request #2511 from navidemad/fix-sigterm-live-cdp-connection
...
network: terminate live CDP connections on shutdown
2026-05-21 19:02:47 +02:00
Navid EMAD
64a6e40121
network: advance shutdownCdpLinks iterator before dropCdp
2026-05-21 15:56:22 +02:00
Navid EMAD
fc795c3b56
Document ZIGFLAGS= make download-v8 in CONTRIBUTING
2026-05-21 14:44:50 +02:00
Navid EMAD
daa8fff5f3
Add ZIGFLAGS= make download-v8 to fetch prebuilt V8 and skip the source build
2026-05-21 14:39:25 +02:00