Karl Seguin
3d32759030
Allow node.contains(null) (false), per spec
2026-02-12 12:39:07 +08:00
Karl Seguin
5d8739bfb2
Merge pull request #1524 from lightpanda-io/trigger_inline_handlers
...
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
e2e-test / browser fetch (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
wpt / web platform tests json output (push) Has been cancelled
wpt / 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
Trigger inline handlers
2026-02-12 07:51:55 +08:00
Karl Seguin
086faf44fc
Trigger inline handlers
...
This is a follow up / fix to https://github.com/lightpanda-io/browser/pull/1487
In that PR we triggered a "load" event for special elements, and as part of that
we triggered both the "onload" attribute via dispatchWithFunction and normal
bubbling with dispatch.
This PR applies this change generically and holistically. For example, if an
"abort" event is raised, the "onabort" attribute will be generated for that
element. Importantly, this gets executed in the correct dispatch order and
respect event cancellation (stopPropagation and stopImmediatePropagation).
2026-02-12 07:38:12 +08:00
Karl Seguin
e5eaa90c61
Merge pull request #1523 from lightpanda-io/query_selector_edge
...
Support a few more selector edge cases
2026-02-12 07:37:36 +08:00
Karl Seguin
b24807ea29
Merge pull request #1525 from lightpanda-io/global_iterability
...
Ability to remove a type from the global's iterable list.
2026-02-12 07:36:25 +08:00
Karl Seguin
d68bae9bc2
Merge pull request #1526 from lightpanda-io/node_properties
...
Passes all test for WPT dom/nodes/Node-properties.htm
2026-02-12 07:36:13 +08:00
Halil Durak
b891fb4502
Merge pull request #1486 from lightpanda-io/nikneym/hash-map-change
...
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
e2e-test / browser fetch (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
Change hash generation of global event handlers
2026-02-11 16:55:07 +03:00
Halil Durak
ea69b3b4e3
wrap assertions with comptime if
2026-02-11 16:45:31 +03:00
Karl Seguin
23c8616ba5
Passes all test for WPT dom/nodes/Node-properties.htm
...
Documents created via DOMImplementation should not inherit the page.URL.
Add textContent for DocumentFragment
Fix creteElement for XML namespace when not explicitly specified
2026-02-11 21:20:16 +08:00
Karl Seguin
b25c91affd
Fix a few more cases
...
From dom/nodes/ParentNode-querySelector-escapes.html
2026-02-11 21:11:27 +08:00
Karl Seguin
151cefe0ec
Ability to remove a type from the global's iterable list.
...
Some types, like AbortController, shouldn't be iterable on the window. This
commit (a) adds the ability to control this in the snapshot, and sets the
iterability based on the dom/interface-objects.html wpt test list.
2026-02-11 20:53:13 +08:00
Karl Seguin
3412ff94bc
Support a few more selector edge cases
...
Trailing escape sequence (https://github.com/lightpanda-io/browser/issues/1515 )
and tags started with non-ascii letters.
2026-02-11 14:37:20 +08:00
Karl Seguin
77aa2241dc
Merge pull request #1520 from lightpanda-io/robots-fix-wikipedia
...
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
e2e-test / browser fetch (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
Fix how `robots.txt`handles utf8
v0.2.3
2026-02-11 14:05:38 +08:00
Karl Seguin
0766d08479
Merge pull request #1508 from lightpanda-io/selectionchange-event
...
Support `selectionchange` Event
2026-02-11 14:02:44 +08:00
Karl Seguin
f6ed0d43a2
Merge pull request #1521 from lightpanda-io/update-nix-flake
...
Update Nix Flake
2026-02-11 13:53:10 +08:00
Muki Kiboigo
c8413cb029
run selectionchange tests eventually
2026-02-10 21:48:56 -08:00
Karl Seguin
97d53b81a7
Give EventManager.dispatch and explicit error set
...
This allows potentially recursive callers to use an implicit error set return.
2026-02-11 12:50:59 +08:00
Muki Kiboigo
ab888f5cd0
update nix flake
2026-02-10 20:37:19 -08:00
Muki Kiboigo
f54246eac1
remove anyerror from TextArea dispatchSelectionChangeEvent
2026-02-10 20:35:37 -08:00
Muki Kiboigo
7de9422b75
strip utf8 bom from start of robots.txt
2026-02-10 20:29:39 -08:00
Muki Kiboigo
f02a37d3f0
properly handle failed parsing on robots
2026-02-10 20:09:32 -08:00
Karl Seguin
28815a0ae6
Merge pull request #1518 from lightpanda-io/visual_viewport
...
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
e2e-test / browser fetch (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 / web platform tests json output (push) Has been cancelled
wpt / 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 a dummy VisualViewport
2026-02-11 07:14:54 +08:00
Karl Seguin
70c7dfd0f4
Merge pull request #1517 from lightpanda-io/input_type_change
...
Sanitize input values based on type (and on type change)
2026-02-11 07:14:44 +08:00
Karl Seguin
9c2ebd308b
Merge pull request #1516 from lightpanda-io/unhandle_rejection_callback
...
Adds PromiseRejectionCallback
2026-02-11 07:14:26 +08:00
Karl Seguin
11d8412591
Merge pull request #1514 from lightpanda-io/selection_wpt_fixes
...
Fixes extend-20.html and extend-00.html
2026-02-11 07:14:14 +08:00
Karl Seguin
32ca170c4d
Merge pull request #1513 from lightpanda-io/fix_crash_on_double_http_abort
...
Fix double-free of XHR on double client abort
2026-02-11 07:14:01 +08:00
Karl Seguin
388ed08b0e
Merge pull request #1512 from lightpanda-io/fix_scheduled_navigation
...
Fix schedule navigation
2026-02-11 07:13:48 +08:00
Pierre Tachoire
b408f88b8c
Merge pull request #1519 from lightpanda-io/readme-robotstxt
...
Update README w/ robots.txt
2026-02-10 14:40:49 +01:00
Pierre Tachoire
09087401b4
update README examples
2026-02-10 14:35:39 +01:00
Pierre Tachoire
c68692d78e
add --obey_robots into README examples
2026-02-10 14:24:38 +01:00
Karl Seguin
ee2a4d0a5d
implement a dummy VisualViewport
2026-02-10 18:08:52 +08:00
Karl Seguin
a15885fe80
Merge pull request #1505 from lightpanda-io/class_name_tokenizer
...
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
e2e-test / browser fetch (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
Fix class name iterator
2026-02-10 17:07:51 +08:00
Karl Seguin
24111570cf
Sanitize input values based on type (and on type change)
...
Per spec.
2026-02-10 16:59:00 +08:00
Karl Seguin
ded203b1c1
Adds PromiseRectionCallback
...
Fires the window.onunhandledrejection. This API is a bit different than
everything else, because it's entered from the Isolate/Env. So there's a bit
more js -> webapi awareness baked into Env now to handle it.
Also touched up existing Events that have .Global data and changed it to .Temp
and cleaned it up in their deinit.
2026-02-10 16:50:11 +08:00
Karl Seguin
e43fc98c0d
Merge pull request #1511 from lightpanda-io/remove_unused_cache
...
Remove unused cache v8 bridge hint.
2026-02-10 16:11:07 +08:00
Karl Seguin
1efd13545e
apply similar fix to selectAllChildren
2026-02-10 12:23:41 +08:00
Karl Seguin
1193ee1ab9
Fixes extend-20.html and extend-00.html
2026-02-10 12:04:02 +08:00
Karl Seguin
a6ba801738
Fix double-free of XHR on double client abort
...
It's possible (in fact normal) for client.abort to be called twice on a schedule
navigation. We immediately abort any pending requests once a secondary
navigation is called (is that right?), and then again when the page shuts down.
The first abort will kill the transfer, so the XHR object has to null this value
so that, on context shutdown, when the finalizer is called, we don't try to
free it again.
2026-02-10 11:30:10 +08:00
Karl Seguin
e7958f2910
Fix schedule navigation
...
Previously, the Session depended on the page to return a .navigate state when
a secondary navigation should take place. There were a lot of places where the
page returned .done rather than .navigate.
To simplify the code, .navigate is no longer a WaitResult. The page now just has
to return .done, and the Session will check if there's a queued sub-navigation.
This will fix cases where sub-navigation is triggered by a script being executed
as the last step of page loading.
2026-02-10 10:36:18 +08:00
Karl Seguin
cbac9a7703
Remove unused cache v8 bridge hint.
...
Pre-zigdom, we could use the postAttach behavior to store commonly accessed and
never-changed accessors directly on the v8::object. I've tried to re-enable this
feature a couple times, and have failed.
Between the new Snapshot and the always-on unhandled property handler for Window
it never seems to work very well. Plus, Gemini continues to insist that changing
the shape of the Object is more like to hurt than help performance.
There's possibly an optimization here worth revisiting in the future, but for
the time being, this code does nothing except for possibly deceive a reader that
some optimization is going on when it isn't.
2026-02-10 09:57:28 +08:00
Karl Seguin
60d8f2323e
Merge pull request #1509 from lightpanda-io/atob-trim
...
window.atob must trim input
2026-02-10 09:54:31 +08:00
Karl Seguin
70ae6b8d72
Merge pull request #1407 from lightpanda-io/robots
...
Support for `robots.txt`
2026-02-10 09:51:32 +08:00
Muki Kiboigo
e1850440b0
shutdown queued req on robots shutdown
2026-02-09 15:24:35 -08:00
Pierre Tachoire
d5c2aaeea3
window.atob must trim input
2026-02-09 17:08:32 +01:00
Karl Seguin
a06b7acc85
Merge pull request #1501 from lightpanda-io/html_picture_element
...
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
e2e-test / browser fetch (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 / web platform tests json output (push) Has been cancelled
wpt / 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
Add HTMLPictureElement
2026-02-09 23:00:59 +08:00
Pierre Tachoire
615168423a
Merge pull request #1482 from lightpanda-io/nikneym/failing-document-element-test
...
Add failing `document.documentElement` `load` event test
2026-02-09 15:56:44 +01:00
Muki Kiboigo
73abf7d20e
add tests for selectionchange in HTML Elements
2026-02-09 06:51:26 -08:00
Muki Kiboigo
fcea42e91e
properly expose selection api in HTMLTextAreaElement
2026-02-09 06:51:17 -08:00
Pierre Tachoire
14f7574c41
ci: run test on any change into src/
2026-02-09 15:47:11 +01:00
Muki Kiboigo
8f15ded650
use anyerror for dispatchSelectionChangeEvent
2026-02-09 06:44:32 -08:00