nikneym
1d50e091c7
add window.onload test
2025-09-29 14:45:47 +03:00
nikneym
c587e380a0
add window.onload getter and setter
2025-09-29 14:45:35 +03:00
Karl Seguin
54f9bfba84
Merge pull request #1099 from lightpanda-io/nikneym/qol-changes
...
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
Small changes
2025-09-29 17:39:32 +08:00
Karl Seguin
489ba131c5
Merge pull request #1097 from lightpanda-io/check_visibility_opts
...
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
add missing checkVisibility options
2025-09-29 15:18:10 +08:00
Karl Seguin
d7ce6bdeff
Replace HTMLCollection postAttach's with indexed/named getter
...
This solves two issues. First, it's more correct, the indexers should be live.
Second, it makes sure that anything with an HTMLCollection prototype, like
HTMLOptionsCollection, also gets access to the index getters.
We could solve the 2nd issue by making `postAttach` work up the prototype
chain, but since postAttach is wrong (not live), I prefer this solution.
2025-09-29 14:03:59 +08:00
Karl Seguin
e88473d090
add missing checkVisibility options
2025-09-29 12:04:11 +08:00
nikneym
b9024ab032
set_innerHTML: simpler iteration
2025-09-26 15:38:23 +03:00
nikneym
98906be0f6
parseData: remove iterator variant
2025-09-26 15:38:22 +03:00
Pierre Tachoire
a579977f66
Merge pull request #1086 from lightpanda-io/history
...
Implement `History` WebAPI.
2025-09-26 12:15:07 +02:00
Karl Seguin
f236a65a79
Merge pull request #1092 from lightpanda-io/nikneym/insert-adjacent-html
...
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
Support `Element#insertAdjacentHTML`
2025-09-26 14:51:08 +08:00
nikneym
f7b08a1160
prefer orelse return instead of orelse unreachable
2025-09-26 09:43:30 +03:00
Muki Kiboigo
9992bd0999
clean up history api
2025-09-25 12:33:30 -07:00
nikneym
6912175e7e
prefer $ instead of document.querySelector
2025-09-25 19:30:10 +03:00
nikneym
a59c32757e
assert that nodes exist
2025-09-25 19:29:44 +03:00
nikneym
2438a0e60b
fix comment
2025-09-25 19:17:08 +03:00
nikneym
a850a902ce
make sure parent is not Document in beforebegin and afterend
2025-09-25 15:04:26 +03:00
nikneym
b7ba993ba6
improve insertAdjacentHTML test
2025-09-25 14:42:58 +03:00
nikneym
3eb0d57d5b
correct element insertation in insertAdjacentHTML
...
* also DRY since the loop is repeated multiple times.
2025-09-25 14:41:50 +03:00
Karl Seguin
134424dfdc
add script dataurl test
2025-09-25 08:18:59 +08:00
nikneym
902b8fc789
add insertAdjacentHTML test
2025-09-24 20:26:05 +03:00
nikneym
923491a510
make ref_node of nodeInsertBefore nullable
2025-09-24 20:21:48 +03:00
nikneym
255b45d07b
initial insertAdjacentHTML attempt
2025-09-24 20:21:08 +03:00
Pierre Tachoire
8f68b5b289
fix data uri scripts
2025-09-24 17:29:23 +02:00
Pierre Tachoire
eff7d58f4b
Merge pull request #1087 from lightpanda-io/fix-beyboardevent
...
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
fix pointer parameter into KeyboardEvent contructor
2025-09-24 09:56:47 +02:00
Pierre Tachoire
17e9bdf8e8
fix pointer parameter into MouseEvent contructor
2025-09-24 09:40:24 +02:00
Pierre Tachoire
22d2694b71
fix pointer parameter into KeyboardEvent contructor
2025-09-24 09:29:37 +02:00
Muki Kiboigo
e74d7fa454
add popstate event for History
2025-09-24 00:22:20 -07:00
Muki Kiboigo
464f42a121
add history tests
2025-09-24 00:21:16 -07:00
Muki Kiboigo
05e7079178
functional history WebAPI
2025-09-24 00:21:16 -07:00
Muki Kiboigo
f03fcc9a31
support for returning Env.Value
2025-09-24 00:21:16 -07:00
Muki Kiboigo
c3ad054bb3
add toJson object and fromJson value
2025-09-24 00:21:16 -07:00
Karl Seguin
202e137d77
Merge pull request #1084 from lightpanda-io/slotchange
...
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
Dispatch slotchange event
2025-09-24 09:23:28 +08:00
Karl Seguin
6b35664e37
Merge pull request #1079 from lightpanda-io/dynamic_import_caching
...
Dynamic import caching
2025-09-24 09:23:16 +08:00
Karl Seguin
1a7dbd56ac
Dispatch slotchange event
...
The first time a `slotchange` event is registered, we setup a SlotChangeMonitor
on the page. This uses a global (ugh) MutationEvent to detect slot changes.
We could improve the perfomance of this by installing a MutationEvent per
custom element, but a global is obviously a lot easier.
Our MutationEvent currently fired _during_ the changes. This is problematic
(in general, but specifically for slotchange). You can image something like:
```
slot.addEventListener('slotchange', () => {
// do something with slot.assignedNodes()
});
```
But, if we dispatch the `slotchange` during the MutationEvent, assignedNodes
will return old nodes. So, our SlotChangeMonitor uses the page scheduler to
schedule dispatches on the next tick.
2025-09-23 17:41:05 +08:00
Karl Seguin
6bad2b16e4
Set Response.type to basic on same-origin requests
2025-09-23 11:35:51 +08:00
nikneym
71bc624a74
add a link element test
2025-09-22 16:35:06 +03:00
nikneym
907a941795
add rel setter to HTMLLinkElement
2025-09-22 16:34:37 +03:00
nikneym
68585c8837
add rel getter to HTMLLinkElement
2025-09-22 15:08:07 +03:00
Karl Seguin
f04754c254
Correct dynamic module loading/caching
...
Refactors some of the module loading logic. Both normal modules import and
dynamic module import now share more of the same code - they both go through
the slightly modified `module` function.
Dynamic modules now check the cache first, before loading, and when cached,
resolve the correct promise. This can now happen regardless of the module
loading state.
Also tried to replace some page arenas with call arenas and added some basic
tests for both normal and dynamic module loading.
2025-09-22 15:15:00 +08:00
Pierre Tachoire
283a9af406
cdp: start nodeId from 1 instead of 0
...
chromedp expects the nodeId starts to 1.
A start to 0 make it enter in infinite loop b/c it expects the Go's
default int, ie 0, to be nil from a map to stop the loop.
If the 0 index is set, it will loop...
2025-09-19 17:58:37 +02:00
Karl Seguin
e3896455db
Merge pull request #1073 from lightpanda-io/increase_mimalloc_get_rss_buffer
...
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
Seems 4K isn't always enough
2025-09-19 19:38:28 +08:00
Karl Seguin
5e6d2700a2
Merge pull request #1070 from lightpanda-io/dump_strip_mode
...
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
Replace --noscript with more advanced --strip_mode
2025-09-19 19:25:06 +08:00
Karl Seguin
dfd0dfe0f6
Seems 4K isn't always enough
2025-09-19 19:22:02 +08:00
Pierre Tachoire
e6b9be5020
Merge pull request #1072 from lightpanda-io/assert_corretly_set_exit_when_done
...
Ensure extra_socket can't happen when exit_when_done == true
2025-09-19 12:20:33 +02:00
Pierre Tachoire
6f7c87516f
Merge pull request #1067 from lightpanda-io/more_testing_metrics
...
Add libdom RSS and v8 total_physical_size to testing --json output
2025-09-19 12:16:47 +02:00
Pierre Tachoire
516a78326d
Merge pull request #1066 from lightpanda-io/nikneym/relaxed-post-message
...
Relaxed `MessagePort.postMessage`
2025-09-19 11:14:35 +02:00
Karl Seguin
853b7f84ef
Ensure extra_socket can't happen when exit_when_done == true
...
exit_when_done is pretty much a sneaky way to get CDP knowledge into the page.
exit_when_done == true means "this isn't a CDP session".
extra_socket is another sneaky weay to get CDP knowledge into the page. When
we get an `extra_socket` message it means "Return control to the CDP server".
Therefore it should be impossible to get an `extra_socket` message (return to
CDP) when `exit_when_done == true` (this isn't a CDP session).
2025-09-19 16:59:36 +08:00
Karl Seguin
b248a2515e
Merge pull request #1071 from lightpanda-io/nikneym/element-dir
...
Add `element.dir` getter & setter
2025-09-19 16:51:32 +08:00
nikneym
6826c42c65
check for correct dir in HTML elements
2025-09-19 11:30:15 +03:00
nikneym
4f041e48a3
make sure dir attribute is parsed if provided
2025-09-19 11:26:53 +03:00