Karl Seguin
ebe793e0e7
Merge pull request #1663 from lightpanda-io/more_header_callback_debugging
...
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
Add more properties to ScriptManager.Header recall
2026-02-26 19:15:59 +08:00
Pierre Tachoire
965c6cf4d9
Merge pull request #1662 from lightpanda-io/non_keyboard_keydown_event
...
Don't assume that a 'keydown' event is a KeyboardEvent
2026-02-26 11:55:54 +01:00
Pierre Tachoire
2b1ab3184e
Merge pull request #1640 from lightpanda-io/nikneym/load-events-after-doc-complete
...
Dispatch `load` events that're attached after `documentIsComplete`
2026-02-26 11:01:46 +01:00
Karl Seguin
e7d21c2dbe
Add more properties to ScriptManager.Header recall
...
This bug continues elusive. The latest crash logs show us that, somehow, 1
script is being resolved from 2 transfer objects. This doesn't seem possible,
so I'm adding more properties to log the state of both transfers to try and
figure out how this is happening.
2026-02-26 17:52:33 +08:00
Nikolay Govorov
11906d9d71
Merge pull request #1650 from lightpanda-io/wp/mrdimidium/update-deps
...
Updates dependencies and their build
2026-02-26 09:19:34 +00:00
Nikolay Govorov
ac5a64d77a
Fix typo in build.zig
...
Co-authored-by: Halil Durak <halildrk@gmail.com >
2026-02-26 08:41:01 +00:00
Halil Durak
c86c851c60
move *addedCallbacks to respective types
2026-02-26 10:27:35 +03:00
Halil Durak
721cf98486
update Image and Style tests
2026-02-26 10:27:35 +03:00
Halil Durak
84bbb6efd4
replacement w/ imageAddedCallback
2026-02-26 10:27:35 +03:00
Halil Durak
f897cda6cd
dispatch Style element's load event from nodeIsReady
2026-02-26 10:27:34 +03:00
Halil Durak
2da8b25b09
add LinkLoadError to CloneError
2026-02-26 10:27:34 +03:00
Halil Durak
3f94fd90dd
dispatch a load event when href set for Link element
...
Also add `lazy-href-set` test.
2026-02-26 10:27:34 +03:00
Halil Durak
bc6be22cb4
update test
2026-02-26 10:27:34 +03:00
Halil Durak
e23604e08d
introduce dispatchLoad and move load dispatching to Session._wait
2026-02-26 10:27:33 +03:00
Halil Durak
be858ac9ce
add load event related tests to link.html
2026-02-26 10:27:33 +03:00
Halil Durak
137ab4a557
dispatch load events that're attached after documentIsComplete
2026-02-26 10:27:33 +03:00
Karl Seguin
bad0fc386d
Don't assume that a 'keydown' event is a KeyboardEvent
2026-02-26 15:26:34 +08:00
Karl Seguin
641c7b2c89
Merge pull request #1661 from lightpanda-io/escape_navigate_url
...
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
Callers to page.navigate ensure URL is properly encoded.
2026-02-26 15:19:11 +08:00
Karl Seguin
21be3db51f
Callers to page.navigate ensure URL is properly encoded.
...
Follow up to https://github.com/lightpanda-io/browser/pull/1646
The encodeURL (renamed to ensureEncoded and exposed in this commit) already
handled already-encoded URLs, so this was largely a matter of exposing the
functionality.
The reason this isn't baked directly into Page.navigate is that, in some places
e.g. internal navigation, the URL is already know to be encoded. So it's up
to every caller to make sure they are passing a valid URL to navigate.
2026-02-26 12:22:06 +08:00
Karl Seguin
3bf596c54c
Merge pull request #1651 from lightpanda-io/more_pump_message_loop
...
Run the MessageLoop [a lot] more.
2026-02-26 11:35:11 +08:00
Karl Seguin
aedb823b4d
update v8 dep
2026-02-26 10:55:02 +08:00
Karl Seguin
7a417435cc
Update src/browser/Session.zig
...
Co-authored-by: Pierre Tachoire <pierre@lightpanda.io >
2026-02-26 10:53:16 +08:00
Karl Seguin
497d6e80f7
Merge pull request #1658 from lightpanda-io/wp/mrdimidium/typesafe-libcurl
...
Move curl C API to type-safe wrapper
2026-02-26 10:28:37 +08:00
Nikolay Govorov
4c26161728
Move curl C API to type-safe wrapper
2026-02-25 23:29:54 +00:00
Karl Seguin
1731dca5dd
Merge pull request #1648 from lightpanda-io/remove_unused_page_wait
...
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
Remove unused Page.wait and Page._wait
2026-02-26 07:19:40 +08:00
Karl Seguin
ee2caff46e
Merge pull request #1577 from lightpanda-io/selection-modify
...
Add `modify` to Selection
2026-02-26 07:03:37 +08:00
Karl Seguin
db8fb8b05d
Merge pull request #1646 from lightpanda-io/url_encoding
...
Add url encoding option to URL.resolve
2026-02-26 07:02:49 +08:00
Karl Seguin
bec7e141dc
Remove unused Page.wait and Page._wait
...
These exist in Session since iframes. The code isn't currently being used, I
must have pulled it back in during a rebase.
2026-02-26 06:58:56 +08:00
Karl Seguin
ab85b4b129
Merge pull request #1653 from lightpanda-io/dummy-performance-timing
...
add dummy PerformanceTiming
2026-02-26 06:50:19 +08:00
Karl Seguin
b030049b40
Merge pull request #1652 from lightpanda-io/dump_with_frames
...
Add a --with_frames argument to fetch
2026-02-26 06:49:53 +08:00
Karl Seguin
1338a3d89d
Merge pull request #1647 from lightpanda-io/fix_event_leak_on_disaptch
...
fix event leak on dispatchEvent
2026-02-26 06:49:29 +08:00
Pierre Tachoire
181178296f
set empty_with_no_proto for performance timing and navigation
2026-02-25 21:14:09 +01:00
Pierre Tachoire
df7888d6fb
use bridge.property for performance timing and navigation
2026-02-25 21:10:27 +01:00
Muki Kiboigo
dd15f5e052
fix selection modify on nextTextNodeAfter
2026-02-25 07:21:30 -08:00
Muki Kiboigo
f348d85b11
add tests for walking past element on selection modify
2026-02-25 07:21:16 -08:00
Karl Seguin
04e5a6425a
Merge pull request #1655 from lightpanda-io/crash_report_args
...
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
Include assertion args in crash report
2026-02-25 18:36:24 +08:00
Karl Seguin
424dddf67b
Merge pull request #1656 from lightpanda-io/dump_attribute
...
Dump Attribute to empty string
2026-02-25 18:31:19 +08:00
Pierre Tachoire
f0d6ae2a00
Merge pull request #1654 from lightpanda-io/dynamic_import_undefined_resource
...
Handle dynamicModuleCallback being called with undefined/null resourc…
2026-02-25 11:22:53 +01:00
Karl Seguin
25298a32fa
Dump Attribute to empty string
...
This is normally not called in "normal" dump-usage, but with
XMLSerializer.serializeToString an Attr node _can_ be provided. The spec says,
and FF agrees, this should return an empty string.
2026-02-25 18:16:13 +08:00
Karl Seguin
ba28bf01b7
Include assertion args in crash report
...
Add more parameters to mysterious/persistent/infrequent
ScriptManager.Header recall failed assertion.
2026-02-25 18:05:33 +08:00
Pierre Tachoire
d15c29b1a3
add dummy Performance.Navigation
2026-02-25 10:52:17 +01:00
Karl Seguin
b083910a51
Handle dynamicModuleCallback being called with undefined/null resource_name
...
Fixes WPT test:
/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-of-promise-result.html
2026-02-25 17:05:40 +08:00
Pierre Tachoire
235aad32a6
add dummy PerformanceTiming
2026-02-25 08:35:53 +01:00
Karl Seguin
a818560344
Add a --with_frames argument to fetch
...
When set (defaults to not set/false), --dump will include iframe contents.
I was hoping I could add a mode to strip_mode to this, but since dump is used
extensively (e.g. innerHTML), this is something that has to be off by default
(for correctness).
2026-02-25 15:29:27 +08:00
Nikolay Govorov
8f179becf7
Merge pull request #1639 from lightpanda-io/wp/mrdimidium/cleanup-io-layer
...
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
Separates network and the browser specific t
2026-02-25 06:12:56 +00:00
Nikolay Govorov
e1695a0874
Strict visibility for Net functions
2026-02-25 05:58:08 +00:00
Karl Seguin
af7498d283
Run the MessageLoop [a lot] more.
...
Depends on: https://github.com/lightpanda-io/zig-v8-fork/pull/152
We previously ran the message loop every 250ms. This commit changes it to run on
every tick (much more frequently). It also runs microtasks after draining the
message loop (since it can generate microtasks).
Also, we use to run microtasks after each script execution. Now we drain the
message Loop + microtasks.
We still only drain the microtasks when executing v8 callbacks.
As part of this change, we also adjust our wait time based on whether or not
there are pending background tasks in v8 in order to try to execute them (in
general) and in a timely manner.
The goal is to ensure that tasks v8 enqueued on the foreground thread are
executed promptly.
This change is particularly useful for calls to webassembly as compilation
happens in the background and eventually requires the message loop to be drained
to continue.
Previously, if a script did `await WebAssembly.instantiate(....)`, there was
a good chance we'd never finish the code - we'd wait too long to run the
message loop AND, after running it, we wouldn't necessarily resolve the promise.
2026-02-25 13:55:35 +08:00
Nikolay Govorov
3e2a4d8053
Move curl_multi to Net layer
2026-02-25 05:31:28 +00:00
Nikolay Govorov
29982e2caf
Move all curl_easy ops to Connection
2026-02-25 05:31:24 +00:00
Nikolay Govorov
5fea1df42b
Move Net staff to clean network module
2026-02-25 05:31:19 +00:00