Karl Seguin
828401f057
Merge pull request #1474 from lightpanda-io/zig_fmt
...
zig fmt
2026-02-05 16:39:29 +08:00
Karl Seguin
445d77a220
Merge pull request #1473 from lightpanda-io/script_text
...
Expose Script.text property
2026-02-05 16:38:51 +08:00
Karl Seguin
4d768bb5eb
zig fmt
2026-02-05 16:24:13 +08:00
Karl Seguin
4e3b87d338
remove extra newline
2026-02-05 16:22:50 +08:00
Karl Seguin
00740b6117
Expose Script.text property
...
This should fix a number of rendering issues, but was specifically added while
investigating issues rendering sites that used knockout.js
2026-02-05 16:21:03 +08:00
Karl Seguin
7775f203fc
Merge pull request #1471 from lightpanda-io/arraylistunmanaged_to_arraylist
...
Rename all ArrayListUnmanaged -> ArrayList
2026-02-05 15:49:06 +08:00
Karl Seguin
945af879ec
Merge pull request #1472 from lightpanda-io/wpt_memory_leak
...
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 using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
free config on wpt test end
2026-02-05 14:40:34 +08:00
Karl Seguin
b2506f0afe
free config on wpt test end
2026-02-05 14:30:46 +08:00
Karl Seguin
2eab4b84c9
Rename all ArrayListUnmanaged -> ArrayList
...
ArrayListAlignedUnmanaged has been deprecated for a while, and I occasionally
replace them, but doing one complete pass gets it done once and for all.
2026-02-05 11:49:15 +08:00
Karl Seguin
7746d9968d
Merge pull request #1470 from lightpanda-io/fix_bsd_test_server_shutdown
...
use close, not shutdown on BSD/Mac
2026-02-05 11:25:37 +08:00
Karl Seguin
da49d918d6
use close, not shutdown on BSD/Mac
2026-02-05 10:58:10 +08:00
Karl Seguin
804ed758c9
Leverage finalizers and ArenaPool in Intersction and Mutation Observer
...
Both of these become self-contained with their own arena, which can be cleaned
up when (a) we don't need it anymore and (b) v8 doens't need it. The "we don't
need it anymore" is true when there's nothing being observed.
The underlying records also get their own arena and are handed off to v8 to
finalize whenever they fall out of scope.
2026-02-05 08:05:34 +08:00
Karl Seguin
17aac58e08
Merge pull request #1468 from lightpanda-io/context_safety
...
Fixes a few context issues.
2026-02-05 07:51:46 +08:00
Halil Durak
3afbb6fcc2
load event dispatching for Style
2026-02-04 23:22:07 +03:00
Halil Durak
8ecbd8e71c
add Page._to_load and implement load even dispatching for Image
2026-02-04 23:22:07 +03:00
Halil Durak
988f499723
EventManager: add hasListener
...
Not sure if this should be in `EventTarget` or `EventManager`, here goes nothing.
`Image`: dispatch `load` event when `src` set
add load event test
remove `hasListener`
let `Scheduler` dispatch `load` event
Simulates async nature.
update test
free `args` when done
implement `load` event dispatch for `<img>` tags
This dispatches `load` events tied to `EventManager` but not the `onload` for some reason...
`"load"` event must be dispatched even if `onload` not set
Resolves the bug that cause event listeners added through `EventTarget` not executing if `onload` not set.
add `onload` getter/setter for `Image`
prefer `attributeChange` to run side-effects
This should give more consistent results than using `setSrc`.
add inline `<img src="..." />` test
`Image`: prefer `inline_lookup` for `onload`
remove incorrect URL check + prefer 0ms in `Scheduler`
change after rebase
2026-02-04 23:22:06 +03:00
Pierre Tachoire
babf8ba3e7
Merge pull request #1469 from lightpanda-io/ci-v8-debug
...
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 using v8 in debug mode (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
ci: use v8 debug mode
2026-02-04 15:20:23 +01:00
Nikolay Govorov
6ccd3f277b
Fix race condition
2026-02-04 13:48:07 +00:00
Halil Durak
9d6f9aae9a
Merge pull request #1440 from lightpanda-io/nikneym/lazy-eval-handlers
...
Lazily evaluate inline event listeners
2026-02-04 16:45:09 +03:00
Halil Durak
95a000c279
getOnSubmit can return errors
2026-02-04 16:15:02 +03:00
Halil Durak
b19debff14
move everything to global_event_handlers.zig
2026-02-04 16:11:02 +03:00
Halil Durak
39c9024747
!?js.Function.Global
...
Also more clear warning in `stringToPersistedFunction` failure.
2026-02-04 16:11:02 +03:00
Halil Durak
3c660f2cb0
remove unnecessary comptime
2026-02-04 16:11:02 +03:00
Halil Durak
13dbdc7dc7
import order
2026-02-04 16:11:02 +03:00
Halil Durak
f903e4b2de
bunch of renaming
2026-02-04 16:11:01 +03:00
Halil Durak
b96cb2142b
add getAttributeFunction
2026-02-04 16:11:01 +03:00
Halil Durak
cc51cd4476
remove eager event listener parsing
2026-02-04 16:11:01 +03:00
Halil Durak
8a995fc515
createLookupKey -> calcAttrListenerKey
2026-02-04 16:11:01 +03:00
Halil Durak
078eccea2d
update doc comment
2026-02-04 16:11:00 +03:00
Karl Seguin
190119bcd4
Merge pull request #1461 from lightpanda-io/blocking_auth_intercept_fix
...
Fix [I hope] blocking auth interception
2026-02-04 19:40:06 +08:00
Pierre Tachoire
7672b42fbc
ci: add missing -Dtsan=tru option
2026-02-04 12:13:46 +01:00
Pierre Tachoire
c590658f16
ci: use debug v8 with zig test
2026-02-04 12:08:12 +01:00
Karl Seguin
017d4e792b
Fix [I hope] blocking auth interception
...
On a blocking request that requires authentication, we now handle the two cases
correctly:
1 - if the request is aborted, we don't continue processing (if we did, that
would result in (a) transfer.deinit being called twice and (b) the callbacks
being called twice
2 - if the request is "continue", we queue the transfer to be re-issued, as
opposed to just processing it as-is. We have to queue it because we're
currently inside a process loop and it [probaby] isn't safe to re-enter it.
By using the queue, we wait until the next call to `tick` to re-issue the
request.
2026-02-04 18:39:23 +08:00
Karl Seguin
0671be870d
Fixes a few context issues.
...
First, for macrotasks, it ensures that the correct context is entered.
More important, for microtasks, it protects against use-after-free. This is
something we already did, to some degree, in page.deinit: we would run
microtasks before erasing the page, in case any microtasks referenced the page.
The new approach moves the guard to the context (since we have multiple
contexts) and protects against a microtasks enqueue a new task during shutdown
(something the original never did).
2026-02-04 18:34:33 +08:00
Pierre Tachoire
2f9ed37db2
ci: remove invalid install option
2026-02-04 11:18:38 +01:00
Karl Seguin
2cf2db3eef
Merge pull request #1466 from lightpanda-io/form_onsubmit
...
Execute form.onsubmit when a form is being submitted
2026-02-04 18:13:15 +08:00
Karl Seguin
11ad025e5d
Merge pull request #1467 from lightpanda-io/inspector_context_destroyed
...
Call Inpsector::ContextDestroyed
2026-02-04 18:12:58 +08:00
Karl Seguin
630cf05b2f
Merge pull request #1463 from lightpanda-io/wp/mrdimidium/cleanup-configuration
...
Centralizes configuration, eliminates unnecessary copying of config
2026-02-04 17:36:39 +08:00
Nikolay Govorov
a72782f91e
Eliminates duplication in the creation of HTTP headers
2026-02-04 09:08:57 +00:00
Karl Seguin
fbd554a15f
Call Inpsector::ContextDestroyed
...
This seems to solve some potential use-after-free issues. By informing the
Inspector that the context is gone, it seems to effectively ensure that no more
messages are sent from the inspector for things related to the context.
2026-02-04 16:24:48 +08:00
Nikolay Govorov
f71aa1cad2
Centralizes configuration, eliminates unnecessary copying of config
2026-02-04 07:57:59 +00:00
Nikolay Govorov
6d9517f6ea
Merge pull request #1465 from lightpanda-io/wp/mrdimidium/direct-telemetry
...
Telemetry without notifications
2026-02-04 07:51:46 +00:00
Nikolay Govorov
fd8c488dbd
Move Notification from App to BrowserContext
2026-02-04 07:33:45 +00:00
Nikolay Govorov
dbf18b90a7
Removes telemetry dependence on notifications
2026-02-04 07:30:38 +00:00
Pierre Tachoire
d318fe24b8
Merge pull request #1460 from lightpanda-io/dupe-url-nav
...
fix slice alias crash after same document navigation
2026-02-04 08:25:32 +01:00
Karl Seguin
1352315441
Execute form.onsubmit when a form is being submitted
2026-02-04 13:45:53 +08:00
Karl Seguin
3c635532c4
Merge pull request #1426 from lightpanda-io/update_page_js
...
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
Update page.js based on the current context.
2026-02-04 08:51:53 +08:00
Karl Seguin
f8703bf884
Merge pull request #1459 from lightpanda-io/browser_context_arenas
...
Add a dedicated browser_context and page_arena to CDP.
2026-02-04 07:51:35 +08:00
Karl Seguin
eea3aa7a27
Merge pull request #1457 from lightpanda-io/arena_pool_free_list_len
...
Properly maintain the ArenaPool's free_list_len
2026-02-04 07:50:33 +08:00
Nikolay Govorov
6eff448508
Merge pull request #1464 from lightpanda-io/wp/mrdimidium/update-zig-v8-fork
...
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 asan/tsan for building v8
2026-02-03 16:18:23 +00:00