Karl Seguin
a88c21cdb5
Fix Navigator Additions
...
Follow up to https://github.com/lightpanda-io/browser/pull/1884
Fixes build, uses arena/finalizer for PermissionStatus. Fixes tests. A few other
small cleanups.
2026-03-19 09:41:13 +08:00
shaewe180
e2be8525c4
Config: remove js_enum_from_string constant
2026-03-19 09:40:40 +08:00
shaewe180
c15afa23ca
Session: fix page pointer handling in wait loop
...
- Refactor `wait` and `_wait` to handle `page` as `*Page` instead of `**Page`, preventing stale references during navigations.
- Update `networkidle` wait condition to use `_notified_network_idle == .done`.
- Document `--wait_ms` and `--wait_until` options in `Config.zig` help text.
2026-03-19 09:36:42 +08:00
Adrià Arrufat
7a7c4b9f49
SemanticTree): add backendNodeId and maxDepth support
2026-03-19 10:18:08 +09:00
Karl Seguin
f594b033bf
Merge pull request #1897 from lightpanda-io/css-improvements-perf
...
Introduce StyleManager
2026-03-19 07:10:35 +08:00
Karl Seguin
10e379e4fb
fix clamping
2026-03-19 07:00:26 +08:00
Karl Seguin
c1bb27c450
better encapsulate arena reset
2026-03-19 06:53:08 +08:00
Karl Seguin
dda5e2c542
Apply suggestions from code review
...
Co-authored-by: Adrià Arrufat <1671644+arrufat@users.noreply.github.com >
2026-03-19 06:47:40 +08:00
Karl Seguin
edd0c5c83f
Merge pull request #1900 from lightpanda-io/input-event
...
zig-test / zig fmt (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
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
distapch InputEvent on input/TextArea changes
2026-03-19 06:39:44 +08:00
Francis Bouvier
c6861829c3
Merge pull request #1907 from lightpanda-io/README-remove-js-runtime
...
zig-test / zig fmt (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 / zig build release (push) Has been cancelled
wpt / build wpt runner (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
REAMDE: again references to js-runtime
2026-03-18 16:48:16 +01:00
Francis Bouvier
e14c8b3025
REAMDE: again references to js-runtime
2026-03-18 16:45:44 +01:00
Francis Bouvier
5bc00c595c
Merge pull request #1906 from lightpanda-io/README-remove-js-runtime
...
README: remove again references to js-runtime
2026-03-18 16:44:53 +01:00
Francis Bouvier
db5fb40de0
README: remove again references to js-runtime
2026-03-18 16:42:31 +01:00
Pierre Tachoire
4e6a357e6e
use initTrusted for InputEvent
2026-03-18 16:41:28 +01:00
Francis Bouvier
6cf515151d
Merge pull request #1905 from lightpanda-io/README-remove-js-runtime
...
README: remove reference to zig-js-runtime
2026-03-18 16:41:08 +01:00
Pierre Tachoire
bf6e4cf3a6
disaptch InputEvent on input/TextArea changes
2026-03-18 16:40:21 +01:00
Francis Bouvier
60936baa96
README: remove reference to zig-js-runtime
2026-03-18 16:39:26 +01:00
Pierre Tachoire
c29f72a7e8
Merge pull request #1898 from lightpanda-io/keyboard-event-bubble
...
Keyboard events are bubbling, cancelable and composed
2026-03-18 16:26:15 +01:00
Adrià Arrufat
d4427e4370
Merge pull request #1894 from lightpanda-io/semantic-tree-interactive
...
SemanticTree: implement interactiveOnly filter and optimize token usage
2026-03-18 22:33:45 +09:00
Karl Seguin
b85ec04175
Merge pull request #1902 from lightpanda-io/fix/emulation-set-user-agent-override
...
Fix/emulation set user agent override
2026-03-18 20:05:26 +08:00
Karl Seguin
da05ba0eb7
log on ignored setUserAgentOverride
2026-03-18 19:46:37 +08:00
Karl Seguin
414a68abeb
Merge pull request #1899 from lightpanda-io/idle_task_fix
...
only run idle tasks from the root page
2026-03-18 19:41:58 +08:00
Karl Seguin
52455b732b
Merge pull request #1885 from lightpanda-io/danling_context_fallback
...
Fallback to the Incumbent Context when the Current Context is dangling
2026-03-18 19:41:38 +08:00
Pierre Tachoire
ba71268eb3
Keyboard events are bubbling, cancelable and composed
...
According to the specs: https://w3c.github.io/uievents/#event-type-keyup
2026-03-18 12:36:00 +01:00
Adrià Arrufat
694aac5ce8
browser.interactive: optimize role checks with StaticStringMap
2026-03-18 20:10:15 +09:00
Adrià Arrufat
cbab0b712a
SemanticTree: simplify TextVisitor printing logic
2026-03-18 20:07:11 +09:00
Karl Seguin
1aee3db521
only run idle tasks from the root page
2026-03-18 19:03:38 +08:00
Karl Seguin
e29778d72b
Introduce StyleManager
...
A Page now has a StyleManager. The StyleManager currently answers two questions:
1 - Is an element hidden
2 - Does an element have pointer-events == none
This is used in calls such as element.checkVisibility which, on some pages, can
be called tens of thousands of times (often through other methods, like
element.getBoundingClientRect). This _can_ be a bottleneck.
The StyleManager keeps a list of rules. The rules include the selector,
specificity, and properties that we care about. Rules in a stylesheet that
contain no properties of interest are ignored. This is the first and likely
most significant optimization. Presumably, most CSS rules don't have a
display/visibility/opacity or pointer-events property.
The list is rules is cached until stylesheets are modified or delete. When this
happens, the StyleManager is flagged as "dirty" and rebuilt on-demand in the
next query. This is our second major optimization.
For now, to check if an element is visible, we still need to scan all rules.
But having a pre-build subset of all the rules is a first step.
The next step might be to optimize the matching, or possibly optimizing common
cases (e.g. id and/or simple class selector)
2026-03-18 17:52:57 +08:00
Pierre Tachoire
f634c9843d
Merge pull request #1893 from lightpanda-io/link_onload_rel
...
zig-test / zig fmt (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
Expand rel's that trigger a link's onload
2026-03-18 09:41:10 +01:00
Pierre Tachoire
e1e45d1c5d
Merge pull request #1796 from lightpanda-io/wp/mrdimidium/telemetry-common-network
...
Use common network runtime for telemetry messages
2026-03-18 09:34:19 +01:00
shaewe180
09327c3897
feat: fetch add wait_until parameter for page loads options
...
Add `--wait_until` and `--wait_ms` CLI arguments to configure session wait behavior. Updates `Session.wait` to evaluate specific page load states (`load`, `domcontentloaded`, `networkidle`, `fixed`) before completing the wait loop.
2026-03-18 15:08:51 +08:00
Adrià Arrufat
ff288c8aa2
browser.interactive: use for-else expression in role checks
2026-03-18 12:04:53 +09:00
Adrià Arrufat
e1b14a6833
SemanticTree: enable prune by default
2026-03-18 11:25:38 +09:00
Adrià Arrufat
015edc3848
SemanticTree: implement interactiveOnly filter and optimize token usage
2026-03-18 10:56:56 +09:00
Karl Seguin
bd2406f803
Merge pull request #1891 from lightpanda-io/form-requestSubmit
...
zig-test / zig fmt (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
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
Implement Form.requestSubmit
2026-03-18 08:55:04 +08:00
Karl Seguin
3c29e7dbd4
Expand rel's that trigger a link's onload
...
Was only "stylesheet", not also includes "preload" and "modulepreload"
2026-03-18 08:53:05 +08:00
Nikolay Govorov
586413357e
Close all cdp clients on shutdown
2026-03-17 23:30:36 +00:00
Nikolay Govorov
9a055a61a6
Limit telemetry body size
2026-03-17 23:23:10 +00:00
Nikolay Govorov
5fb561dc9c
Used ring buffer for telemetry events buffer
2026-03-17 23:23:08 +00:00
Nikolay Govorov
b14ae02548
Move comments and bound checks
2026-03-17 23:23:05 +00:00
Nikolay Govorov
51fb08e6aa
Create multi interface in Runtime on demand
2026-03-17 23:23:01 +00:00
Nikolay Govorov
a6d699ad5d
Use common network runtime for telemetry messages
2026-03-17 23:21:57 +00:00
Karl Seguin
8372b45cc5
Merge pull request #1877 from lightpanda-io/xhr_and_fetch_blob_urls
...
Support blob urls in XHR and Fetch
2026-03-18 07:02:56 +08:00
Pierre Tachoire
1739ae6b9a
check submit element and form into Form.requestSubmit
2026-03-17 21:34:48 +01:00
Pierre Tachoire
ba62150f7a
add Form.requestSubmit(submitter)
2026-03-17 17:05:30 +01:00
Nikolay Govorov
8143a61955
Merge pull request #1888 from lightpanda-io/wp/mrdimidium/clenup-ci
...
zig-test / zig fmt (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 / zig build release (push) Has been cancelled
wpt / build wpt runner (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
Cleanup CI a little bit
2026-03-17 15:47:18 +00:00
Nikolay Govorov
e16c479781
Merge pull request #1886 from lightpanda-io/wp/mrdimidium/enable-git-version-in-ci
...
Use `git_version` option for version command
2026-03-17 14:29:47 +00:00
Nikolay Govorov
c0c4e26d63
removes artifacts of the past from CI
2026-03-17 14:24:22 +00:00
Nikolay Govorov
b252aa71d0
Use git_version option for version command
2026-03-17 13:25:15 +00:00
Pierre Tachoire
9ef8d9c189
Merge pull request #1887 from lightpanda-io/disable_observer_weak_ref
...
disable observer weak ref
2026-03-17 14:09:43 +01:00