Halil Durak
6d2ef9be5d
change hash generation of global event handlers
...
Small change inspired from #1475 .
2026-02-06 22:35:35 +03:00
Pierre Tachoire
57fb167a9c
add console test
2026-02-06 19:19:36 +01:00
Pierre Tachoire
0406bba384
fix Element.replaceWith crash when self replacing
...
Fix a crash with the WPT test dom/nodes/ChildNode-replaceWith.html
When we call `div.replaceWith(div);` we don't want to touch self at all.
2026-02-06 18:25:04 +01:00
Karl Seguin
7c4c80fe4a
Merge pull request #1478 from lightpanda-io/filter_jquery_unknown_object_property
...
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
Filter out jquery* unknown object property
2026-02-06 10:54:53 +08:00
Karl Seguin
bfb267e164
Filter out jquery* unknown object property
2026-02-06 07:55:41 +08:00
Karl Seguin
a0720948a1
Merge pull request #1417 from lightpanda-io/observer_arenas
...
Leverage finalizers and ArenaPool in Intersction and Mutation Observer
2026-02-06 07:42:38 +08:00
Karl Seguin
9f00159a84
Merge pull request #1475 from lightpanda-io/event_lookup_include_type
...
Change the listener lookup from element, to (element,type).
2026-02-06 07:41:43 +08:00
Muki Kiboigo
34067a1d70
only use eqlIgnoreCase for RobotStore
2026-02-05 08:02:35 -08:00
Halil Durak
3f6917fdcb
Merge pull request #1477 from lightpanda-io/nikneym/load-event-fix
...
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
Create distinct `Event` objects for each `load` event
2026-02-05 17:01:30 +03:00
Halil Durak
c04a6e501e
create distinct Event objects for each load event
2026-02-05 16:47:09 +03:00
Karl Seguin
661b564399
rename field element -> event_target
2026-02-05 20:26:43 +08:00
Halil Durak
761c103373
Merge pull request #1389 from lightpanda-io/nikneym/image-src-dispatch
...
`Image` & `Style`: Dispatch `load` event
2026-02-05 15:23:38 +03:00
Karl Seguin
f4bd9e3d24
Merge pull request #1476 from lightpanda-io/log_unknown_object_properties
...
Log unknown object properties in debug builds
2026-02-05 19:25:17 +08:00
Karl Seguin
b9ddac878c
Log unknown object properties in debug builds
...
We currently log any unknown property access on the global (window). This has
proven pretty useful when debugging, often letting us know a type we're
completely missing.
However, it isn't just about what types we have, it's also about the properties
those types expose. Inspired by the wasted time spent on
https://github.com/lightpanda-io/browser/pull/1473 , this commit adds the same
type of logging for unknown properties on objects. In debug mode only. This is
only done for objects which don't have their own NamedIndexer.
2026-02-05 17:35:15 +08:00
Karl Seguin
f304ce5ccf
Change the listener lookup from element, to (element,type).
...
Right now, to do anything with listeners, we need to (a) lookup the listeners
registered with the element and (b) walk the linked list to find listeners of
the correct type.
There's no operations that behave on all of an element's listeners, e.g. there's
no element.removeAllListeners(). So, we can optimize the code, and generally
make it simpler to read, by changing our key to include the type (along with
the element).
This is an optimization on its own (and makes the code simpler), but it also
makes it more palatable to do a pre-listener check to avoid creating events when
no listener even exists; if we decide to implement that.
2026-02-05 16:45:29 +08:00
Karl Seguin
828401f057
Merge pull request #1474 from lightpanda-io/zig_fmt
...
zig fmt
2026-02-05 16:39:29 +08:00
Karl Seguin
445d77a220
Merge pull request #1473 from lightpanda-io/script_text
...
Expose Script.text property
2026-02-05 16:38:51 +08:00
Karl Seguin
4d768bb5eb
zig fmt
2026-02-05 16:24:13 +08:00
Karl Seguin
4e3b87d338
remove extra newline
2026-02-05 16:22:50 +08:00
Karl Seguin
00740b6117
Expose Script.text property
...
This should fix a number of rendering issues, but was specifically added while
investigating issues rendering sites that used knockout.js
2026-02-05 16:21:03 +08:00
Karl Seguin
7775f203fc
Merge pull request #1471 from lightpanda-io/arraylistunmanaged_to_arraylist
...
Rename all ArrayListUnmanaged -> ArrayList
2026-02-05 15:49:06 +08:00
Karl Seguin
945af879ec
Merge pull request #1472 from lightpanda-io/wpt_memory_leak
...
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
free config on wpt test end
2026-02-05 14:40:34 +08:00
Karl Seguin
b2506f0afe
free config on wpt test end
2026-02-05 14:30:46 +08:00
Karl Seguin
2eab4b84c9
Rename all ArrayListUnmanaged -> ArrayList
...
ArrayListAlignedUnmanaged has been deprecated for a while, and I occasionally
replace them, but doing one complete pass gets it done once and for all.
2026-02-05 11:49:15 +08:00
Karl Seguin
7746d9968d
Merge pull request #1470 from lightpanda-io/fix_bsd_test_server_shutdown
...
use close, not shutdown on BSD/Mac
2026-02-05 11:25:37 +08:00
Karl Seguin
da49d918d6
use close, not shutdown on BSD/Mac
2026-02-05 10:58:10 +08:00
Karl Seguin
804ed758c9
Leverage finalizers and ArenaPool in Intersction and Mutation Observer
...
Both of these become self-contained with their own arena, which can be cleaned
up when (a) we don't need it anymore and (b) v8 doens't need it. The "we don't
need it anymore" is true when there's nothing being observed.
The underlying records also get their own arena and are handed off to v8 to
finalize whenever they fall out of scope.
2026-02-05 08:05:34 +08:00
Karl Seguin
17aac58e08
Merge pull request #1468 from lightpanda-io/context_safety
...
Fixes a few context issues.
2026-02-05 07:51:46 +08:00
Muki Kiboigo
a7095d7dec
pass robot store into Http init
2026-02-04 12:23:42 -08:00
Halil Durak
3afbb6fcc2
load event dispatching for Style
2026-02-04 23:22:07 +03:00
Halil Durak
8ecbd8e71c
add Page._to_load and implement load even dispatching for Image
2026-02-04 23:22:07 +03:00
Halil Durak
988f499723
EventManager: add hasListener
...
Not sure if this should be in `EventTarget` or `EventManager`, here goes nothing.
`Image`: dispatch `load` event when `src` set
add load event test
remove `hasListener`
let `Scheduler` dispatch `load` event
Simulates async nature.
update test
free `args` when done
implement `load` event dispatch for `<img>` tags
This dispatches `load` events tied to `EventManager` but not the `onload` for some reason...
`"load"` event must be dispatched even if `onload` not set
Resolves the bug that cause event listeners added through `EventTarget` not executing if `onload` not set.
add `onload` getter/setter for `Image`
prefer `attributeChange` to run side-effects
This should give more consistent results than using `setSrc`.
add inline `<img src="..." />` test
`Image`: prefer `inline_lookup` for `onload`
remove incorrect URL check + prefer 0ms in `Scheduler`
change after rebase
2026-02-04 23:22:06 +03:00
Muki Kiboigo
50aeb9ff21
add comment explaining rule choice in robots
2026-02-04 12:19:18 -08:00
Muki Kiboigo
e620c28a1c
stop leaking robots_url when in robot queue
2026-02-04 12:19:18 -08:00
Muki Kiboigo
29ee7d41f5
queue requests to run after robots is fetched
2026-02-04 12:19:17 -08:00
Muki Kiboigo
f9104c71f6
log instead of returning error on unexpected rule
2026-02-04 12:16:36 -08:00
Muki Kiboigo
b6af5884b1
use RobotsRequestContext deinit
2026-02-04 12:16:36 -08:00
Muki Kiboigo
e4f250435d
include robots url in debug log
2026-02-04 12:16:36 -08:00
Muki Kiboigo
1a246f2e38
robots in the actual http client
2026-02-04 12:15:49 -08:00
Muki Kiboigo
48ebc46c5f
add getRobotsUrl to URL
2026-02-04 12:09:05 -08:00
Muki Kiboigo
e27803038c
initial implementation of Robots
2026-02-04 12:09:05 -08:00
Pierre Tachoire
babf8ba3e7
Merge pull request #1469 from lightpanda-io/ci-v8-debug
...
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
ci: use v8 debug mode
2026-02-04 15:20:23 +01:00
Nikolay Govorov
6ccd3f277b
Fix race condition
2026-02-04 13:48:07 +00:00
Halil Durak
9d6f9aae9a
Merge pull request #1440 from lightpanda-io/nikneym/lazy-eval-handlers
...
Lazily evaluate inline event listeners
2026-02-04 16:45:09 +03:00
Halil Durak
95a000c279
getOnSubmit can return errors
2026-02-04 16:15:02 +03:00
Halil Durak
b19debff14
move everything to global_event_handlers.zig
2026-02-04 16:11:02 +03:00
Halil Durak
39c9024747
!?js.Function.Global
...
Also more clear warning in `stringToPersistedFunction` failure.
2026-02-04 16:11:02 +03:00
Halil Durak
3c660f2cb0
remove unnecessary comptime
2026-02-04 16:11:02 +03:00
Halil Durak
13dbdc7dc7
import order
2026-02-04 16:11:02 +03:00
Halil Durak
f903e4b2de
bunch of renaming
2026-02-04 16:11:01 +03:00