Pierre Tachoire
ea757407f5
cdp: implement DOM.requestNode
2025-12-08 15:27:34 +01:00
Pierre Tachoire
263dab0bdf
cdp: add DOM.getOuterHTML
2025-11-13 18:29:13 +01:00
Pierre Tachoire
2422c8718c
renderer: set a default box size of 5 pixels
2025-10-22 15:54:43 +02: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
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
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
82e5698f1d
cdp: accept neg depth in describeNode
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
Pierre Tachoire
a40590b4bf
cdp: add DOM.getFrameOwner
2025-09-17 14:42:00 +02:00
Karl Seguin
58acb2b821
Convert more DOM_NO_ERR cases to assertions
...
There is some risk to this change. The first is that I made a mistake. The
other is that one of the APIs that doesn't currently return an error changes
in the future.
2025-09-17 13:37:48 +08:00
Karl Seguin
1443f38e5f
Zig 0.15.1
...
Depends on https://github.com/lightpanda-io/zig-v8-fork/pull/89
2025-08-29 10:42:06 +08:00
Karl Seguin
f5ec74252d
Add fulfillRequest and more complete continueRequest
2025-08-18 18:29:10 +08:00
Karl Seguin
eef5f3fec2
support null params to CDP DOM.getDocument
2025-07-17 19:05:17 +08:00
Karl Seguin
f199816fcd
support depth parameter for DOM.getDocument
2025-07-17 14:17:33 +08:00
Karl Seguin
98b041e84a
requestChildNode cannot have a depth of 0
2025-07-17 10:36:20 +08:00
Karl Seguin
09ca0e6ef0
Add support for CDP's DOM.requestChildNodes
...
https://github.com/lightpanda-io/browser/issues/866
2025-07-14 15:13:01 +08:00
sjorsdonkers
0c0ddc10ee
rename scope jscontext
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
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
2025-06-13 10:30:50 +02:00
sjorsdonkers
d9ce89ab31
import html_element
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
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
2025-06-10 11:28:28 +02:00
Karl Seguin
7d9951aa3c
Replace SessionState directly with the Page.
2025-05-27 20:31:34 +08:00
sjorsdonkers
193e012aa6
Rename to ExecutionWorlds
2025-05-21 14:34:23 +02: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
sjorsdonkers
967ab18d53
default:blank as default document
2025-05-21 09:43:15 +02:00
sjorsdonkers
216f6cc8e8
handle detached elements
2025-05-19 16:53:59 +02:00
sjorsdonkers
f74647ccfc
Allign error detection
2025-05-14 17:13:56 +02:00
sjorsdonkers
b92a85f0a9
Cleanup and inner dimensions
2025-05-14 17:13:55 +02:00
sjorsdonkers
853965e7a9
scollifneeded and contentQuads wip
2025-05-14 17:13:55 +02:00
Karl Seguin
d4c8e8c50e
Merge pull request #592 from lightpanda-io/isolated-polyfill-+-create-when-needed
...
Isolated polyfill & create world when needed
2025-05-05 15:03:05 +08:00
Pierre Tachoire
2402443dcc
cdp: add comments on setChildNodes event
...
Co-authored-by: Karl Seguin <karlseguin@users.noreply.github.com >
2025-05-05 08:48:04 +02:00
sjorsdonkers
8930e2f06e
isolated polyfill + create when needed
2025-05-05 08:46:32 +02:00
Pierre Tachoire
f884627927
cdp: sent setchildnodes once per node
2025-05-02 22:10:26 +02:00
Pierre Tachoire
9373cf9cf6
cdp: refacto sendChildNodes
2025-05-02 21:55:14 +02:00
Pierre Tachoire
f04030904e
cdp: fix tests for setchildnodes
2025-05-02 15:55:49 +02:00
Pierre Tachoire
8b9084cb73
cdp: dispatch the correct dom hierarchy wit setChildNodes
2025-05-01 19:42:04 +02:00
Pierre Tachoire
1146453dc2
cdp: add session to setChildNodes event
2025-05-01 16:51:02 +02:00
Pierre Tachoire
88f7687646
cdp: dispatch DOM.setChildNodes on performSearch
2025-04-30 09:19:59 +02:00
sjorsdonkers
fac46d9d0b
Redo resolveNode
2025-04-29 16:56:50 +02:00
Karl Seguin
2d5ff8252c
Reorganize v8 contexts and scope
...
- Pages within the same session have proper isolation
- they have their own window
- they have their own SessionState
- they have their own v8.Context
- Move inspector to CDP browser context
- Browser now knows nothing about the inspector
- Use notification to emit a context-created message
- This is still a bit hacky, but again, it decouples browser from CDP
2025-04-29 10:22:08 +08:00
sjorsdonkers
09850d7500
Fix executor used in resolveNode
2025-04-23 17:00:22 +02:00
sjorsdonkers
8897d9179c
isolated world
2025-04-23 17:00:22 +02:00
sjorsdonkers
a698ff8309
describeNode feedback
2025-04-22 13:49:01 +02:00
sjorsdonkers
2ac63b6985
describeNode
2025-04-22 13:49:00 +02:00
Karl Seguin
b8d7744563
replace zig-js-runtime
2025-04-15 15:18:04 +08:00