Commit Graph
2270 Commits
Author SHA1 Message Date
Karl Seguin b3fe3d02c9 Attribute.set_value uses element, if possible
Only when setAttribute is called directly on the element, does libdom raise
a `DOMAttrModified` event (which MutationObserver uses).

From what I can tell, libdom's element set attribute _does_ rely on the
underlying attribute set value, so the behavior should be pretty close, it just
does extra things on top of that.
2025-07-07 19:47:17 +08:00
Karl Seguin 300428ddfb Merge pull request #840 from lightpanda-io/xhr_readystatechange
Add readystate change event to XHR
2025-07-06 08:59:19 +08:00
Pierre Tachoire 1c27f8251e Merge pull request #846 from lightpanda-io/e2e-draft
ci: don't run 2e2 on draft
2025-07-05 16:46:04 -07:00
Pierre Tachoire 92badd3722 ci: don't run 2e2 on draft 2025-07-05 14:22:21 -07:00
Karl Seguin 8a80f0b3dd Merge pull request #843 from lightpanda-io/empty_anchor_fix
An empty anchor should return empty strings for its getters
2025-07-04 23:43:10 +08:00
Karl Seguin fcc74b63d3 correct comment 2025-07-04 23:17:48 +08:00
Karl Seguin d7155e6662 An empty anchor should return empty strings for its getters
document.createElement('a').host  or .href or .. should return an empty string.

However, URL.constructor(document.createElement('a')) should fail.

Because HTMLAnchorElement uses URL.constructor, we have the wrong behavior.

This adds a guard for an empty anchor. This might not cover all of the cases
which are valid for an anchor but invalid for a URL.constructor, but it's
the most common.
2025-07-04 19:23:19 +08:00
Karl Seguin 42c3841639 Merge pull request #842 from lightpanda-io/fix_elementFromPoint_crash
Rely on js.zig for float->int translation
2025-07-04 19:12:46 +08:00
Karl Seguin c331713401 set correct state on xhr.abort and send correct events 2025-07-04 19:12:26 +08:00
Karl Seguin 002d9c1747 Merge pull request #841 from lightpanda-io/scroll_events
make window.scrollTo triggers scroll and scrollend events
2025-07-04 19:00:28 +08:00
Karl Seguin 2885ceceb1 document use of i32 2025-07-04 18:55:14 +08:00
sjorsdonkers 22a644ba01 rename tls_in_tls to tlsproxy 2025-07-04 10:00:22 +02:00
sjorsdonkers bab120a75d secure changes 2025-07-04 10:00:22 +02:00
Francis Bouvier 7a07c82f06 https-proxy: update upstream tls.zig 2025-07-04 10:00:22 +02:00
sjorsdonkers e881d2f6cf tls proxy tweaks 2025-07-04 10:00:22 +02:00
Francis Bouvier c8d003a08f https-proxy: update tls.zig 2025-07-04 10:00:22 +02:00
Francis Bouvier e2cc404571 Handle TLS proxy, both for HTTP and HTTPS (tls in tls) endpoints 2025-07-04 10:00:22 +02:00
sjorsdonkers be71eaae47 TLS connect proxy WIP 2025-07-04 10:00:22 +02:00
Karl Seguin ed31a452b2 Rely on js.zig for float->int translation
Not only does this ensure compatibility with browsers, it doesn't crash when
the value is NaN of Infinity.
2025-07-04 11:34:34 +08:00
Pierre Tachoire f51ee7f3a0 Merge pull request #829 from lightpanda-io/pumpmessageloop
add pump message loop calls
2025-07-03 10:11:26 -07:00
Pierre Tachoire 9d1dc97766 remove useless debug log 2025-07-03 09:49:01 -07:00
Pierre Tachoire b78729f685 test: inject platform to the serveCDP app 2025-07-03 09:49:00 -07:00
Pierre Tachoire 44a76e59f9 run pumpmessageloop in its own loop 2025-07-03 09:49:00 -07:00
Pierre Tachoire 1504e36a68 use comptime test for platform existence 2025-07-03 09:49:00 -07:00
Pierre Tachoire 80348ef190 fix wpt tests with platform requirement 2025-07-03 09:48:59 -07:00
Pierre Tachoire a3c14748d3 fix unit testing with platform deps requirement 2025-07-03 09:48:59 -07:00
Pierre Tachoire 3c0143af92 add runIdleTasks 2025-07-03 09:48:57 -07:00
Pierre Tachoire 22a93a9c39 add pump message loop calls 2025-07-03 09:47:50 -07:00
Karl Seguin e8866a6431 Merge pull request #838 from lightpanda-io/improved_js_value_printing
Improve JS value printing
2025-07-04 00:30:35 +08:00
Karl Seguin 455ed79872 Remove HTTP client generic Loop parameter
I think we initially thought we might need different clients for different
parts of the system, each with a unique loop  (e.g. we thought telemetry might
need some isolation). But that never happened, so it's just needless now,
especially since the async connect uses the non-generic *Loop type directly.
2025-07-03 15:10:47 +02:00
Karl Seguin 3d17c531d7 make window.scrollTo triggers scroll and scrollend events 2025-07-03 19:37:07 +08:00
Karl Seguin dfe90243d6 Add readystate change event to XHR
Deal with non-node current target crashing. Builds ontop of abort_signal, but
with the new event-target specific union, I think this will work in for all
future cases.
2025-07-03 19:32:24 +08:00
Karl Seguin bf1db50667 Merge pull request #839 from lightpanda-io/build_time
improve build times (a little)
2025-07-03 15:34:53 +08:00
Pierre Tachoire a2565a7c83 range: add detach function 2025-07-03 09:16:36 +02:00
Pierre Tachoire 947d01a3c0 range starts and ends with the global document by default 2025-07-03 09:16:36 +02:00
Karl Seguin be11d82c9c improve build times (a little) 2025-07-03 13:56:01 +08:00
Karl Seguin 7a0e7fff13 Improve JS value printing
Don't error on JSON.stringify failure (likely caused by circular reference).

In debug mode, try to print [slightly] more meaningful value representation
when default serialization results in [object Object].
2025-07-03 10:35:09 +08:00
Karl Seguin 81fb71b7f7 Merge pull request #830 from lightpanda-io/SetHostInitializeImportMetaObjectCallback
Implement ImportMeta callback
2025-07-03 09:17:47 +08:00
Karl Seguin b10f5ec99f bump zig-v8-fork version 2025-07-02 13:38:01 +08:00
Karl Seguin 5abe7bdeef Merge pull request #831 from lightpanda-io/log_invalid_cookie_expiry
use logger for invalid cookie expiry
2025-07-02 10:11:20 +08:00
Karl Seguin 54be651415 Merge pull request #832 from lightpanda-io/range_selectNodeContents
range.selectNodeContents
2025-07-02 10:11:01 +08:00
Pierre Tachoire cdbf6d7ae7 Merge pull request #834 from lightpanda-io/arm-generic
ARM generic
2025-07-01 12:08:30 -07:00
Pierre Tachoire 50349edf4d ci: use a generic target for arm build 2025-07-01 07:55:32 -07:00
sjorsdonkers da307c1b40 range.selectNodeContents 2025-07-01 15:11:01 +02:00
Karl Seguin b50b96bd1d Implement ImportMeta callback
The first time `import.meta` is called within a module, this callback is called
and we can populate it with whatever fields we want. For WebAPI, the important
field is `url`:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import.meta

Depends on: https://github.com/lightpanda-io/zig-v8-fork/pull/80
2025-07-01 15:59:24 +08:00
Karl Seguin 92654fc5aa use logger for invalid cookie expiry 2025-07-01 12:25:25 +08:00
Pierre Tachoire 36b2de216b Merge pull request #828 from lightpanda-io/arm-compat
Arm compat
2025-06-30 11:53:06 -07:00
Pierre Tachoire 8745c1016e ci: use cpu cortex_a72 for arm build 2025-06-30 10:58:15 -07:00
Pierre Tachoire f5a58c1ff0 Merge pull request #826 from lightpanda-io/upgrade-v8
Upgrade v8
2025-06-29 10:54:46 -07:00
Pierre Tachoire d9e72049ae ci: use ubuntu 22.04 for arm64 build 2025-06-29 10:48:04 -07:00