Pierre Tachoire
e97c9959fa
cdp: add page.Close
2025-12-18 10:46:54 +01:00
Pierre Tachoire
42440f1503
fix mime.charsetString()
2025-12-12 18:00:20 +01:00
Pierre Tachoire
26827efe34
cdp: use same value for requestId and loaderId
...
For all events regarding an HTTP request, the values of requestId
and loaderId must be the same.
2025-12-12 17:04:18 +01:00
Pierre Tachoire
e2682ab9fe
cdp: dispatch Page.navigate response after navigation
2025-12-11 17:51:17 +01:00
Pierre Tachoire
34518dfa98
cdp: add missing fields to Network.requestWillBeSent
2025-12-10 18:22:44 +01:00
Pierre Tachoire
9579f727b3
cdp: add mimeType and charset to Network.Response
2025-12-10 18:21:32 +01:00
Pierre Tachoire
ea757407f5
cdp: implement DOM.requestNode
2025-12-08 15:27:34 +01:00
Karl Seguin
f058cf0697
Merge pull request #1221 from lightpanda-io/cdp-get-targets
...
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
cdp: add Target.getTargets
2025-11-20 19:50:17 +08:00
Karl Seguin
346ae14bcd
Merge pull request #1222 from lightpanda-io/cdp-multi-attachtotarget
...
cdp: accept multiple attachToTarget calls
2025-11-20 19:49:18 +08:00
Karl Seguin
c30de2bb32
Merge pull request #1224 from lightpanda-io/accessibility-domain
...
cdp: add accessibility domain
2025-11-20 19:47:58 +08:00
Pierre Tachoire
cf7bddd887
cdp: add accessibility domain
2025-11-19 16:13:35 +01:00
Pierre Tachoire
455fe5d2ba
cdp: use default value for grantUniveralAccess
...
In createIsolatedWorld, we set a default value to false for optional
grantUniveralAccess parameter.
2025-11-19 16:12:18 +01:00
Pierre Tachoire
b764a7a0dc
cdp: return valid url and title for getTargets
2025-11-19 15:58:52 +01:00
Pierre Tachoire
b776cf1647
cdp: add getTargets
2025-11-19 15:39:44 +01:00
Pierre Tachoire
4c37a8e766
cdp: accept multiple attachToTarget calls
2025-11-19 15:26:09 +01:00
Pierre Tachoire
4f236d0b30
cdp: return document's title on targetinfo
2025-11-19 09:11:48 +01:00
Pierre Tachoire
0e3f8c9e42
cdp: don't navigate for about:blank
...
If the create target url is `about:blank`, don't navigate.
Indeed, Chrome doesn't navigate if the url is blank.
2025-11-18 18:11:57 +01:00
Pierre Tachoire
c2827a0f16
cdp: add browser.Close but ignore it
2025-11-13 18:29:38 +01:00
Pierre Tachoire
263dab0bdf
cdp: add DOM.getOuterHTML
2025-11-13 18:29:13 +01:00
Pierre Tachoire
1d91d24b12
cdp: add browser permissions noop
2025-10-28 15:02:24 +01:00
Pierre Tachoire
d0b83c674c
Merge pull request #1138 from lightpanda-io/navigation
...
add `Navigation` WebAPI
2025-10-24 09:30:09 +02:00
Pierre Tachoire
b58ff2c869
Merge pull request #1171 from lightpanda-io/cdp-lifecycle
...
support url on createTarget and send lifecycle events
2025-10-24 08:33:11 +02:00
Pierre Tachoire
2422c8718c
renderer: set a default box size of 5 pixels
2025-10-22 15:54:43 +02:00
Pierre Tachoire
b5ef8418a6
cdp: fix double createTarget response
2025-10-22 14:18:53 +02:00
Muki Kiboigo
e9b08f19cf
fix navigation and related tests
2025-10-21 18:29:28 -07:00
Pierre Tachoire
2d8a95946a
cdp: dispatch lifecycle events when enable
2025-10-21 17:48:51 +02:00
Pierre Tachoire
a7c3bad9ad
cdp: implement url parameter on createTarget
2025-10-21 17:45:19 +02:00
Pierre Tachoire
510c61cc20
cdp: add test for setIgnoreCertificateErrors
2025-10-21 14:08:26 +02:00
Pierre Tachoire
d2065f713f
cdp: implement Security.setIgnoreCertificateErrors
2025-10-21 13:44:29 +02:00
Pierre Tachoire
0aaed08c1e
cdp: add input.insertText
2025-10-15 13:52:21 +02:00
Karl Seguin
76e8506022
Remove potential processing blocking with CDP
...
When using CDP, we poll the HTTP clients along with the CDP socket. Because this
polling can be long, we first process any pending message. This can end up
processing _all_ messages, in which case the poll will block for a long time.
This change makes it so that when the initial processing processes 1+ message,
we do not poll, but rather return. This allows the page lifecycle to be
processed normally (and not just blocking on poll, waiting for the CDP client
to send data).
2025-10-09 13:18:47 +08:00
Karl Seguin
2ba6737c41
Merge pull request #1119 from lightpanda-io/cdp_log_entry
...
Emit Log.addEntry
2025-10-06 16:45:48 +08:00
Karl Seguin
fe9a10c617
Emit Log.addEntry
...
Currently, this hooks a single log.Interceptor into the logging framework, but
changing it to take a list shouldn't be too hard. Biggest issue is who will own
it, as we'd need an allocator to maintain a list / lookup (which log doesn't
currently have).
Uses logFmt format, and, for now, always filters out debug messages and a few
particularly verbose scopes.
2025-10-03 17:29:01 +08:00
Karl Seguin
2e734fae57
This is the last of the big changes to the js code
...
This Pr largely tightens up a lot of the code. 'v8' is no longer imported
outside of js. A number of helper functions have been moved to the js.Context.
For example, js.Function.getName used to call:
```zig
return js.valueToString(allocator, name, self.context.isolate, self.context.v8_context);
```
It now calls:
```zig
return self.context.valueToString(name, .{ .allocator = allocator });
```
Page.main_context has been renamed to `Page.js`. This, in combination with new
promise helpers, turns:
```zig
const resolver = page.main_context.createPromiseResolver();
try resolver.resolve({});
return resolver.promise();
```
into:
```zig
return page.js.resolvePromise({});
```
2025-10-03 15:06:16 +08:00
Karl Seguin
dab8012b6a
Start extract JS structs into their own files
...
Renames JsContext -> js.Context, JsObject -> js.Object and JsThis -> js.This
which is more consistent with the other types. The JsObject -> js.Object is
the reason so many files were touched.
This is still a [messy] transition, with more refactoring planned to clean it
up.
2025-10-02 12:48:50 +08:00
Muki Kiboigo
05e7079178
functional history WebAPI
2025-09-24 00:21:16 -07:00
Pierre Tachoire
283a9af406
cdp: start nodeId from 1 instead of 0
...
chromedp expects the nodeId starts to 1.
A start to 0 make it enter in infinite loop b/c it expects the Go's
default int, ie 0, to be nil from a map to stop the loop.
If the 0 index is set, it will loop...
2025-09-19 17:58:37 +02:00
Karl Seguin
024f7ad9ef
Merge pull request #1056 from lightpanda-io/DOM_NO_ERR
...
Convert more DOM_NO_ERR cases to assertions
2025-09-18 19:06:32 +08:00
Pierre Tachoire
2d24e3c7f7
Merge pull request #972 from lightpanda-io/fetch
...
Fetch + ReadableStream
2025-09-18 09:29:05 +02:00
Muki Kiboigo
1b3707ad33
add fetch to cdp domain
2025-09-17 08:42:20 -07:00
Muki Kiboigo
a133a71eb9
proper fetch method and body setting
2025-09-17 08:41:22 -07:00
Pierre Tachoire
5d1e17c598
cdp: use for...else instead of found bool
2025-09-17 14:42:08 +02:00
Pierre Tachoire
94fe34bd10
cdp: multiple isolated worlds
2025-09-17 14:42:08 +02:00
Pierre Tachoire
e68ff62723
cdp: use depth param on DOM.describeNode
2025-09-17 14:42:08 +02:00
Pierre Tachoire
49a27a67bc
cdp: send a warning for pierce parameter
2025-09-17 14:42:07 +02:00
Pierre Tachoire
745de2ede2
cdp: add Runtime.getProperties
2025-09-17 14:42:07 +02:00
Pierre Tachoire
82e5698f1d
cdp: accept neg depth in describeNode
2025-09-17 14:42:06 +02:00
Pierre Tachoire
9cb4431e89
cdp: add initiator on request will be send
2025-09-17 14:42:06 +02:00
Pierre Tachoire
2221d0cb6f
cdp: send the chrome's error on missing node
2025-09-17 14:42:05 +02:00
Pierre Tachoire
5ea97c4910
cdp: add send error options with session id by default
2025-09-17 14:42:05 +02:00