Pierre Tachoire
80fe167646
Update README.md
2025-07-07 17:00:54 -07:00
katie-lpd
d30631f991
Apply suggestions from code review
...
Co-authored-by: Pierre Tachoire <pierre@lightpanda.io >
2025-07-07 16:59:07 -07:00
katie-lpd
8956ab85f9
Update README.md
2025-07-07 16:50:32 -07:00
Pierre Tachoire
2cdc9e9f5f
cdp: use a polyfill loader per isolate
2025-07-07 16:31:54 -07:00
Pierre Tachoire
13c623755c
js: remove existing unknown property debug
...
Because it will be displayed only if the property is non-native.
So if your property is set in pureJS, you will still have the log...
2025-07-07 16:31:54 -07:00
Pierre Tachoire
bdfceec520
refacto a bit the missing callback into polyfill
...
Add a debug global unknown property
2025-07-07 16:31:53 -07:00
Pierre Tachoire
941dace7f9
enable conditionnal loading for polyfill
2025-07-07 16:31:53 -07:00
Karl Seguin
07693e54af
Add support for the signal option of addEventListener
2025-07-07 20:56:19 +08:00
Karl Seguin
b6132f2497
fix secure connection logic
2025-07-07 19:56:21 +08:00
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
e880b18bb1
Rework MutationObserver callback.
...
Previously, MutationObserver callbacks where called using the `jsCallScopeEnd`
mechanism. This was slow and resulted in records split in a way that callers
might not expect. `jsCallScopeEnd` has been removed.
The new approach uses the loop.timeout mechanism, much like a window.setTimeout
and only registers a timeout when events have been handled. It should perform
much better.
Exactly how MutationRecords are supposed to be grouped is still a mystery to me.
This new grouping is still wrong in many cases (according to WPT), but appears
slightly less wrong; I'm pretty hopeful clients don't really have hard-coded
expectations for this though.
Also implement the attributeFilter option of MutationObserver. (Github)
2025-07-07 19:29:10 +08:00
Karl Seguin
74a299eef7
Fix non-tls forward-proxy
2025-07-07 11:03:04 +08:00
Karl Seguin
300428ddfb
Merge pull request #840 from lightpanda-io/xhr_readystatechange
...
e2e-test / zig build release (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / zig test (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
zig-test / browser fetch (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
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
...
e2e-test / zig build release (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / zig test (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
zig-test / browser fetch (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
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
...
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
zig-test / zig build dev (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
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
...
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
zig-test / zig build dev (push) Has been cancelled
zig-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
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
...
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
zig-test / zig build dev (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
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
...
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
zig-test / zig build dev (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
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