sjorsdonkers
e658b27947
trusted types
2025-05-26 16:29:06 +02:00
Karl Seguin
eae9f9ceee
Merge pull request #664 from lightpanda-io/treewalker
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (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 TreeWalker
2025-05-26 11:06:56 +08:00
Karl Seguin
d2c13ed32b
Merge pull request #680 from lightpanda-io/css_style_declaration
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (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
CSSStyleDeclaration implementation
2025-05-25 19:34:20 +08:00
Karl Seguin
bed394db80
Prefix tests (easier to filter, i.e. make test F="CSSValue")
...
Don't dupe value if it doesn't need to be quoted.
2025-05-24 11:45:42 +08:00
Karl Seguin
1fe2bf5dd5
Use fetchRemove and getOrPut to streamline map manipulation
2025-05-24 10:24:32 +08:00
Karl Seguin
7cc332a96e
Merge pull request #675 from lightpanda-io/http_request_notifications
...
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 / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (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
HTTP request notification
2025-05-24 10:10:16 +08:00
Karl Seguin
6ce24b3443
Rename allocator to arena to make the intent more clear
...
Use expectEqual where possible
deduplicate finalize and finishDeclaration
2025-05-24 10:08:26 +08:00
Karl Seguin
1dc6e91ec4
increase max memory threshold
2025-05-24 09:53:45 +08:00
Karl Seguin
f59e3cd4da
Maybe retry on TlsAlertCloseNotify error
...
This might not be specific to network notification, but the issue happens all
the time testing scenarios that rely on network notification, so it's hard
to ignore.
2025-05-24 09:01:13 +08:00
Karl Seguin
94a30b2167
HTTP request notification
...
- Add 2 internal notifications
1 - http_request_start
2 - http_request_complete
- When Network.enable CDP message is received, browser context registers for
these 2 events (when Network.disable is called, it unregisters)
- On http_request_start, CDP will emit a Network.requestWillBeSent message.
This _does not_ include all the fields, but what we have appears to be enough
for puppeteer.waitForNetworkIdle.
- On http_request_complete, CDP will emit a Network.responseReceived message.
This _does not_ include all the fields, bu what we have appears to be enough
for puppeteer.waitForNetworkIdle.
We currently don't emit any other new events, including any network-specific
lifecycleEvent (i.e. Chrome will emit an networkIdle and networkAlmostIdle).
To support this, the following other things were done:
- CDP now has a `notification_arena` which is re-used between browser contexts.
Normally, CDP code runs based on a "cmd" which has its own message_arena, but
these notifications happen out-of-band, so we needed a new arena which is
valid for handling 1 notification.
- HTTP Client is notification-aware. The SessionState no longer includes the
*http.Client directly. It instead includes an http.RequestFactory which is
the combination fo the client + a specific configuration (i.e. *Notification).
This ensures that all requests made from that factory have the same settings.
- However, despite the above, _some_ requests do not appear to emit CDP events,
such as loading a <script src="X">. So the page still deals directly with the
*http.Client.
- Playwright and Puppeteer (but Playwright in particular) are very sensitive to
event ordering. These new events have introduced additional sensitivity.
The result sent to Page.navigate had to be moved to inside the navigate event
handler, which meant passing some cdp-specific data (the input.id) into the
NavigateOpts. This is the only way I found to keep both happy - the sequence
of events is closer (but still pretty far) from what Chrome does.
2025-05-24 09:01:12 +08:00
Raph
bd0fa1487f
Merge branch 'main' into css_style_declaration
2025-05-24 03:00:18 +02:00
Karl Seguin
d262f017c5
Merge pull request #689 from lightpanda-io/image
...
new Image constructor
2025-05-24 08:51:08 +08:00
Karl Seguin
a98c08c06c
Merge pull request #688 from lightpanda-io/connection_cleanup
...
Fix connection memory leak
2025-05-24 08:38:44 +08:00
Raph
a2e0fd28e0
added basic style test to HTMLElement
2025-05-24 02:20:15 +02:00
Raph
5dbdf8321a
removed unnecessary call to free
2025-05-24 02:13:08 +02:00
Raph
9d122bd181
Merge branch 'main' into css_style_declaration
2025-05-24 02:00:33 +02:00
Raph
09727101c1
various fixes according to PR review
2025-05-24 01:59:28 +02:00
sjorsdonkers
5fc9cd7d48
non deprecated netsurf image properties
2025-05-23 15:25:41 +02:00
sjorsdonkers
7adaa53f42
image constructor
2025-05-23 11:37:46 +02:00
Karl Seguin
cc82b1ae25
Fix connection memory leak
...
When the idle pool is full and the oldest connection is freed, free the
connection instance.
2025-05-23 17:11:14 +08:00
Karl Seguin
0df531a646
Merge pull request #687 from lightpanda-io/always_gc_hints
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (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
Remove --gc_hints option, apply the --gc_hints behavior by default
2025-05-23 14:47:03 +08:00
Karl Seguin
b1d0368479
Remove --gc_hints option, apply the --gc_hints behavior by default
2025-05-23 14:15:55 +08:00
Karl Seguin
46c6a0b4ff
Merge pull request #683 from lightpanda-io/libc_v8_out_path_include_os
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (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
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
include OS in libc_v8 lib path
2025-05-23 08:40:44 +08:00
Muki Kiboigo
97d414aa00
Fixing TreeWalker Filtering
2025-05-22 12:23:00 -07:00
Pierre Tachoire
ab8da3965b
Merge pull request #685 from lightpanda-io/rsync-v8
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (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
README: rsync is used to get v8 sources
2025-05-22 14:45:44 +02:00
Pierre Tachoire
589fa4c9de
README: rsync is used to get v8 sources
2025-05-22 14:45:10 +02:00
Karl Seguin
f4a27af37e
zig fmt build.zig
2025-05-22 16:58:29 +08:00
Karl Seguin
ca0f407b7b
include OS in libc_v8 lib path
2025-05-22 16:45:06 +08:00
Karl Seguin
4810a5643e
Merge pull request #682 from lightpanda-io/make_debug_and_formdata_wpt
...
Add debug log level to make build-dev and add new make run-debug
2025-05-22 15:56:22 +08:00
Karl Seguin
72a983f6d8
Apply suggestions from code review
...
Co-authored-by: Pierre Tachoire <pierre@lightpanda.io >
2025-05-22 15:36:55 +08:00
Karl Seguin
a720333c0f
Add debug log level to make build-dev and add new make run-debug
...
Update WPT submodule, now includes xhr/formdata tests.
2025-05-22 15:28:07 +08:00
Karl Seguin
38c6fa9c76
Don't error when failing to convert type to function.
...
Because jsValueToStruct is now used in union probing, it shouldn't fail on a
mismatch, but rather return null. It's up to the caller to decide whether that's
an error or not.
2025-05-22 13:02:08 +08:00
Karl Seguin
eed3d27665
Merge pull request #678 from lightpanda-io/ExecutionWorld
...
Rename to ExecutionWorld
2025-05-22 08:56:06 +08:00
Raph
450e345b28
fixed self fetching for HTMLElement
2025-05-22 02:01:11 +02:00
Raph
913568aba2
Added support for CSSStyleDeclaration API
2025-05-22 01:51:03 +02:00
Muki Kiboigo
3c3de9d325
use Env.Function instead of Env.Callback
2025-05-21 16:29:48 -07:00
Muki Kiboigo
fada732b33
add NodeFilter
2025-05-21 09:46:43 -07:00
Muki Kiboigo
152d0fdda7
add TreeWalker
2025-05-21 09:46:43 -07:00
Pierre Tachoire
6506fa792d
Merge pull request #679 from lightpanda-io/increase-MAX_MESSAGE_SIZE
...
Increase MAX_MESSAGE_SIZE
2025-05-21 18:03:16 +02:00
Pierre Tachoire
867c72ba90
fix comment
2025-05-21 18:02:33 +02:00
sjorsdonkers
3f6b095da4
Increase MAX_MESSAGE_SIZE
2025-05-21 17:51:25 +02:00
Karl Seguin
f1d6d386c5
Merge pull request #669 from lightpanda-io/form_data_from_form
...
FormData constructor form & submitter parameter
2025-05-21 23:36:12 +08:00
Karl Seguin
72944a4e5e
Support submit button submitters and check for disabled option on select
2025-05-21 21:47:33 +08:00
sjorsdonkers
193e012aa6
Rename to ExecutionWorlds
2025-05-21 14:34:23 +02:00
Karl Seguin
3ee17e01e1
Merge pull request #677 from lightpanda-io/move_jsValueToZig
...
Move jsValueToZig from Caller to the Scope
2025-05-21 20:21:48 +08:00
sjorsdonkers
7421fa0a33
dom.getBoxModel
2025-05-21 13:28:31 +02:00
sjorsdonkers
2cdfc3f4c3
setChildNodes checks
2025-05-21 12:36:31 +02:00
sjorsdonkers
4322d8e494
dom.querySelector
2025-05-21 12:36:31 +02:00
Karl Seguin
73a59dcd7d
Move jsValueToZig from Caller to the Scope
...
Caller is a transient object that exists only for calling Zig functions from
JS. But jsValueToZig is more generally useful and can be used outside of an
explicit JS call. The scope is a better place for these as it's generally
referenced already by any code that would need to map values (i.e. a Callback).
2025-05-21 18:32:50 +08:00
Karl Seguin
3a15790847
Merge pull request #671 from lightpanda-io/webapi_destructor
...
Allow webapis to register a destructor to do cleanup on scope (page) end
2025-05-21 18:09:42 +08:00