Pierre Tachoire
ff8a847795
Merge pull request #957 from lightpanda-io/remove_header_callback
...
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
Remove the http/Client.zig header_callback.
2025-08-20 14:35:06 +02:00
Karl Seguin
5759c88932
Remove the http/Client.zig header_callback.
...
The callback which was called on a per-header basis is removed. Only XHR was
using this, and it was created before the HeaderIterator existed (because I
didn't know we could iterate through the response headers in curl after the fact).
The header_done_callback remains, but is now called header_callback (a bit
confusing in the short term).
The only difficulty was with fulfilled requests, which do not have an easy
handle for our HeaderIterator. The existing code would segfault if
transfer.responseHeaderIterator() was called on a fulfilled requests.
The HeaderIterator is now a tagged union that abstracts whether the source of
the response header is a curl easy, or just an injected list from the fulfilled
requests.
2025-08-20 17:49:37 +08:00
Karl Seguin
00c11d9bd4
Merge pull request #956 from lightpanda-io/typo-fix
...
typo fix
2025-08-20 17:06:16 +08:00
Pierre Tachoire
ed99acebfe
typo fix
2025-08-20 09:25:47 +02:00
Pierre Tachoire
bade412d30
Merge pull request #953 from lightpanda-io/is_navigation_and_arena
...
Use Transfer.arena in a few more places, correctly set is_navigation …
2025-08-20 08:59:32 +02:00
Pierre Tachoire
191e9ba073
Merge pull request #954 from lightpanda-io/remove_managed_arraylist
...
Replace all std.ArrayList with std.ArrayListUnmanaged
2025-08-20 08:55:03 +02:00
Karl Seguin
a4d4da4d96
Replace all std.ArrayList with std.ArrayListUnmanaged
...
Very minor, but the more we can do upfront to align the code for Zig 0.15, the
better.
2025-08-20 12:30:39 +08:00
Karl Seguin
16c85c5b8a
Use Transfer.arena in a few more places, correctly set is_navigation on redirect
...
Following up to Request Interception PR (1) and Cookie Redirect PR (2) which
both introduced features that were useful to the other. This PR closes that
loop.
(1) https://github.com/lightpanda-io/browser/pull/946
(2) https://github.com/lightpanda-io/browser/pull/948
2025-08-20 11:39:38 +08:00
Karl Seguin
2c7b39927a
Merge pull request #952 from lightpanda-io/fix_compilation_error
...
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
Fix compilation error
2025-08-20 10:28:54 +08:00
Karl Seguin
7f47692ad4
Fix compilation error
...
bad auto merge?
2025-08-20 10:04:15 +08:00
Karl Seguin
af4066da87
Merge pull request #946 from lightpanda-io/request_interception
...
Request Interception
2025-08-20 07:53:08 +08:00
Pierre Tachoire
4de4e7504d
Merge pull request #951 from lightpanda-io/wpt_range
...
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
Improve correctness of Node.compareDocumentPosition and Range api.
2025-08-19 17:23:39 +02:00
Karl Seguin
b46c181b07
zig fmt
2025-08-19 22:01:14 +08:00
Karl Seguin
e4f89092b3
add Range.intersectsNode and cover a few more edge-cases
2025-08-19 22:00:59 +08:00
Pierre Tachoire
4fbedf5b20
Merge pull request #948 from lightpanda-io/redirect-cookies
...
handle cookies on redirection manually
2025-08-19 14:48:37 +02:00
Karl Seguin
d51a03f1b6
Improve correctness of Node.compareDocumentPosition and Range api.
...
Should fix a good chunk (~20K I think) of the recently broken WPT tests.
2025-08-19 18:23:54 +08:00
Pierre Tachoire
f7eee0d461
http: add an arena to Transfer
2025-08-19 11:10:52 +02:00
Pierre Tachoire
39178d8d2b
http: remove uselesss Client.arena
2025-08-19 11:10:25 +02:00
Pierre Tachoire
7795916c08
apply review comments
2025-08-19 10:01:35 +02:00
Pierre Tachoire
0e2a3d8009
handle cookies on redirection manually
2025-08-19 10:01:11 +02:00
Karl Seguin
38a0b6905e
Merge pull request #949 from lightpanda-io/network_path_reference_stitch
...
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
Fix network-path reference stitching
2025-08-19 15:38:43 +08:00
Karl Seguin
8797549369
Fix network-path reference stitching
2025-08-18 23:05:11 +08:00
Karl Seguin
f5ec74252d
Add fulfillRequest and more complete continueRequest
2025-08-18 18:29:10 +08:00
Karl Seguin
211012d367
move intercept_state and extra_headers from CDP instance to BrowserContext
2025-08-18 13:23:17 +08:00
Karl Seguin
c1319d1f27
add proper resourceType
2025-08-18 12:42:18 +08:00
Pierre Tachoire
d4d8773fd1
Merge pull request #927 from lightpanda-io/window-frames
...
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
Partial window.frames implementation
2025-08-15 14:54:29 +02:00
Karl Seguin
01223601f2
Reduce allocations made during request interception
...
Stream (to json) the Transfer as a request and response object in the various
network interception-related events (e.g. Network.responseReceived).
Add a page.request_intercepted boolean flag for CDP to signal the page that
requests have been intercepted, allowing Page.wait to prioritize intercept
handling (or, at least, not block it).
2025-08-15 14:01:57 +08:00
Karl Seguin
d9ed4cfca8
Merge pull request #940 from lightpanda-io/redirect-cookies
...
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
enable curl cookie engine
2025-08-15 08:50:25 +08:00
Pierre Tachoire
7d0e4b6270
use CURLOPT_COOKIE to set cookies
2025-08-14 15:33:02 +02:00
Pierre Tachoire
b2f645a5ce
enable curl cookie engine
...
Enabling Curl cookie engine brings advantage:
* handle cookies during a redirection: when a srv redirects including
cookies, curl sends back the cookies correctly during the next request
2025-08-14 15:32:56 +02:00
Karl Seguin
6a29d6711c
Merge pull request #945 from lightpanda-io/remove_unecessary_content_type_parse
...
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
Remove unecessary content type parse
2025-08-14 19:07:41 +08:00
Karl Seguin
5b2806a784
expose response header amount
2025-08-14 18:57:57 +08:00
Karl Seguin
a2f15ce0b2
Remove unecessary content type parse
...
getResponseHeader takes header index
2025-08-14 18:26:01 +08:00
Karl Seguin
68400f3bcf
Merge pull request #944 from lightpanda-io/fix_memory_leak
...
fix memory leak
2025-08-14 18:20:53 +08:00
Karl Seguin
31f3c2771a
fix build error...sorry
2025-08-14 18:07:14 +08:00
Karl Seguin
f9352e26cb
same memory leak, different place
2025-08-14 18:00:56 +08:00
Karl Seguin
4fa542bc38
fix memory leak
2025-08-14 17:51:40 +08:00
Pierre Tachoire
a707e10af7
Merge pull request #922 from lightpanda-io/nonblocking_libcurl
...
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
Nonblocking libcurl
2025-08-14 11:43:19 +02:00
Pierre Tachoire
1e095fede5
zig fmt build.zig
2025-08-14 11:29:56 +02:00
Karl Seguin
96b10f4b85
Optimize Network.responseReceived
...
Add a header iterator to the transfer. This removes the need for NetworkState,
duping header name/values, and the http_header_received event.
2025-08-14 15:50:56 +08:00
Karl Seguin
5100e06f38
fix header done callback
2025-08-14 14:51:02 +08:00
Karl Seguin
35e2fa5058
Merge pull request #943 from lightpanda-io/integer-overflow
...
fix integer overflow for sleeping delay
2025-08-14 05:43:49 +08:00
Pierre Tachoire
8d2d4ffdd2
fix integer overflow for sleeping delay
2025-08-13 19:44:06 +02:00
sjorsdonkers
7d05712f40
setExtraHTTPHeaders
2025-08-13 14:54:59 +02:00
sjorsdonkers
c0106a238b
http_headers_done_receiving
2025-08-13 14:29:23 +02:00
Karl Seguin
f6c68e4580
fix release build (constness via telemetry, not seen in debug)
2025-08-13 20:16:14 +08:00
Karl Seguin
3c8065fdee
fix fmt
2025-08-13 20:12:39 +08:00
Karl Seguin
9bd8b2fc43
fix wpt runner
2025-08-13 19:39:49 +08:00
Karl Seguin
5a3d5f5512
improve elapsed display for larger numbers
2025-08-13 18:17:59 +08:00
Karl Seguin
ca9e850ac7
Create Client.Transfer earlier.
...
On client.request(req) we now immediately wrap the request into a Transfer. This
results in less copying of the Request object. It also makes the transfer.uri
available, so CDP no longer needs to std.Uri(request.url) anymore.
The main advantage is that it's easier to manage resources. There was a use-
after free before due to the sensitive nature of the tranfer's lifetime. There
were also corner cases where some resources might not be freed. This is
hopefully fixed with the lifetime of Transfer being extended.
2025-08-13 18:05:00 +08:00