Karl Seguin
6b9dc90639
Introduces an Env.String for persistent strings
...
If a webapi has a []const u8 parameter, then the page.call_arena is used. This
is our favorite arena to use, but if the string value has a lifetime beyond the
call, it then needs to be duped again (using page.arena).
When a webapi has a Env.String parameter, the page.arena will be used directly
to get the value from V8, removing the need for an intermediary dupe in the
call_arena.
This allows HTMLCollections to be streamlined. They no longer need to dupe the
filter (tag name, class name, ...), which means they can no longer fail. It also
means that we no longer need to needlessly dupe the string literals.
2025-09-17 12:12:42 +08:00
Karl Seguin
b7d26cf0d5
Merge pull request #1053 from lightpanda-io/nikneym/create-event-html-events
...
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
allow `HTMLEvents` in `createEvent`
2025-09-17 00:31:36 +08:00
Pierre Tachoire
59b4033ab2
Merge pull request #1052 from lightpanda-io/fix-auth-interception-overflow
...
Fix auth interception integer overflow
2025-09-16 16:31:07 +02:00
nikneym
13a7219dbd
allow HTMLEvents in createEvent
2025-09-16 17:24:50 +03:00
Karl Seguin
a87f4abd5f
Merge pull request #1050 from lightpanda-io/event_window_bubble
...
Event window bubble
2025-09-16 18:44:22 +08:00
Pierre Tachoire
e00066466b
http: decrement intercepted on auth abortion
2025-09-16 12:18:49 +02:00
Pierre Tachoire
b87a8ba97d
http: increment intercepted counter on auth interception
2025-09-16 12:18:49 +02:00
Karl Seguin
57aa270032
Merge pull request #1048 from lightpanda-io/nikneym/mime-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
Mime: charset identification changes
2025-09-16 16:13:46 +08:00
nikneym
90a96fd8a7
set a zero char right after attrib value instead of memset
2025-09-16 10:41:49 +03:00
nikneym
c05470515f
double quotes must be first and last argument of slice if provided
2025-09-16 10:40:38 +03:00
Karl Seguin
c9ac1eab11
Set Isolate Microtask to Explicit
...
This defaults to Auto, which means it runs when the call stack reaches 0.
It appears that both Node and Deno set this to explicit.
I don't really understand why Auto doesn't work. It says the call stack is the
C++/C callstack, and I don't see what would block the current code from reaching
a depth of 0. Still, we already have explicit calls to performMicrotasksCheckpoint
which ties it holistically with our scheduler, so having it be explicit like
this should...well make it more explicit
This broke a test, but since the tests are being redone in the [fetch PR](https://github.com/lightpanda-io/browser/pull/972 ) I simply removed the offending one.
2025-09-16 14:52:31 +08:00
Karl Seguin
1ba542fb3b
use redispatch, check for stopped
2025-09-16 10:31:37 +08:00
Karl Seguin
4f127c9de3
Bubble events to the Window
2025-09-15 22:24:35 +08:00
Karl Seguin
0f13e062fe
Remove unnecessary error handling from non-erroring netsurf event functions
2025-09-15 21:37:53 +08:00
nikneym
2e68407fbe
update Mime tests
2025-09-15 15:15:29 +03:00
nikneym
974f350f27
store charset value directly in Mime
2025-09-15 15:15:08 +03:00
nikneym
27ffea9052
add vectorized parseCharset impl
2025-09-15 11:15:09 +03:00
Karl Seguin
2aeeb14c21
Merge pull request #1043 from lightpanda-io/html_slot_assigned_elements
...
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 assignedElements to HTMLSlotElement
2025-09-13 10:12:20 +08:00
Karl Seguin
e5e57ab3bd
Merge pull request #1044 from lightpanda-io/script_nonce_and_df_host
...
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 Script get/set nonce
2025-09-12 20:45:50 +08:00
Karl Seguin
f3ce5dcfbd
Add Script get/set nonce
2025-09-12 19:19:36 +08:00
nikneym
80851f4861
don't inline keyboardEventKeyIsSet
2025-09-12 13:39:15 +03:00
nikneym
22b4456bce
correct indentation in tests
2025-09-12 13:39:05 +03:00
nikneym
8d67502997
don't expose DOMErr function
2025-09-12 13:38:58 +03:00
nikneym
8f31fd778b
add KeyboardEvent tests
2025-09-12 13:38:47 +03:00
nikneym
f79f25bcf4
implement KeyboardEvent properties and methods
2025-09-12 13:38:41 +03:00
nikneym
68e237eec5
add license
2025-09-12 13:38:31 +03:00
nikneym
8895c70c7f
make toInterface be aware of KeyboardEvent
2025-09-12 13:38:04 +03:00
nikneym
3964f8649d
initial keyboard event
2025-09-12 13:33:30 +03:00
Karl Seguin
b7fb0ef1d3
add assignedElements to HTMLSlotElement
2025-09-12 17:40:29 +08:00
Karl Seguin
0913abe806
Improve TextDecoder.decode
...
1 - Optional input (why? I don't know, but it's part of the spec and happens)
2 - Optional stream parameter
3 - More test cases
2025-09-12 12:31:28 +08:00
Karl Seguin
1bd1f123a3
Upgrade v8
...
Depends on https://github.com/lightpanda-io/zig-v8-fork/pull/93
2025-09-12 07:53:22 +08:00
Karl Seguin
75f0cd6e62
fix test
2025-09-11 16:10:06 +08:00
Karl Seguin
80f758018c
Increase event timeStamp resolution
...
Depends on https://github.com/lightpanda-io/libdom/pull/36
The spec says this should be a High Definition timestamp. But browsers avoid
that in order to avoid fingerprinting. By default, FireFox rounds to 2ms (which
is what this PR does).
Previously, the timestamp was seconds, so you'd think: isn't that better? Well,
it's pretty far off the spec and what browsers do, but more importantly, it
crashes our WPT test. If you look at `Event-timestamp-safe-resolution.html`
you'll see that it's trying to find the delta between two timestamps, in an
endless loop (without a loop of many iterations). With second-resolution, it
just takes too long (and crashes..memory).
2025-09-11 15:53:34 +08:00
Karl Seguin
ede35718ae
migrate more tests to htmlRunner
2025-09-11 12:07:17 +08:00
Karl Seguin
31fe2807aa
Merge pull request #1038 from lightpanda-io/migrate_some_tests_10
...
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
migrate more tests to htmlRunner
2025-09-11 00:24:17 +08:00
Karl Seguin
f77693d768
migrate more tests to htmlRunner
2025-09-10 20:32:15 +08:00
Pierre Tachoire
96e3c16cca
Merge pull request #1036 from lightpanda-io/css-contains
...
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
CSS: move tests + implement :containsOwn
2025-09-10 13:59:27 +02:00
Karl Seguin
edd41b37f0
Merge pull request #1033 from lightpanda-io/nikneym/custom-event
...
Support for CustomEvent in document.createEvent
2025-09-10 15:23:34 +08:00
Pierre Tachoire
d25fc64d7a
css: implement :containsOwn pseudo-selector
...
:containsOwn is implemented with case sensitive comparison.
2025-09-10 08:55:44 +02:00
nikneym
9c83b268b9
persist the detail if provided
2025-09-10 09:49:31 +03:00
Pierre Tachoire
42092ac16a
css: move match_test into selector
2025-09-10 08:41:15 +02:00
Pierre Tachoire
e4860d5bae
css: move libdom_test into libdom
...
To be added by the test_runner as part of used files.
2025-09-10 08:41:14 +02:00
Karl Seguin
a5d9b658fb
migrate more tests to htmlRunner
2025-09-10 11:54:03 +08:00
Karl Seguin
f464e89415
Merge pull request #1034 from lightpanda-io/persistent-promise
...
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
Clean Up Persistent Promises in Dynamic Import
2025-09-10 08:39:50 +08:00
Karl Seguin
cdc439c4ef
Merge pull request #1026 from lightpanda-io/network_idle_500ms_delay
...
Send NetworkIdle and NetworkAlmostIdle notifications after 500ms delay
2025-09-10 08:22:34 +08:00
Karl Seguin
746168f9ed
Merge pull request #1031 from lightpanda-io/migrate_some_tests_8
...
migrate more tests to htmlRunner
2025-09-10 08:22:21 +08:00
Karl Seguin
5ad4885102
Merge pull request #1028 from lightpanda-io/wpt_runner_tweak
...
Try to address WPT running OOM
2025-09-10 08:22:08 +08:00
Muki Kiboigo
7eb53ca2bc
deinit persistent in dynamic import
2025-09-09 15:02:26 -07:00
nikneym
10fc056184
createEvent should increase tag count by 1
2025-09-09 21:56:10 +03:00
nikneym
7517937155
add createEvent tests
2025-09-09 21:45:09 +03:00