Karl Seguin
e44e68f8fc
Move Session, Page and Renderer into their own respective files
2025-05-15 22:43:50 +08: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
sjorsdonkers
505ad0380e
typo
2025-05-06 12:52:08 +02:00
sjorsdonkers
2b7a7c0054
floor the pixels
2025-05-06 12:45:18 +02:00
sjorsdonkers
0dea4c51b7
Subpixel mouse events
2025-05-06 12:45:17 +02:00
Pierre Tachoire
7f2506d8a6
Merge pull request #598 from lightpanda-io/unused_imports
...
e2e-test / zig build release (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (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
wpt / 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
remove unused code, mostly imports
2025-05-05 12:07:29 +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
8eadccdee2
Merge pull request #587 from lightpanda-io/dom-setchildnodes
...
cdp: dispatch DOM.setChildNodes event for search results
2025-05-05 08:56:04 +02: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
9f72c98967
Error on null page/scope
2025-05-05 08:46:33 +02:00
sjorsdonkers
cddc55694a
load polyfills on creation
2025-05-05 08:46:32 +02:00
sjorsdonkers
8930e2f06e
isolated polyfill + create when needed
2025-05-05 08:46:32 +02:00
Karl Seguin
b8e5e130b9
remove unused code, mostly imports
2025-05-05 13:29:41 +08: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
7dde0be043
share sessionstate and underlying DOM global with the isolated
2025-04-29 23:17:39 +02:00
sjorsdonkers
4db80cb9e7
Adopt state into the isolated world
2025-04-29 18:10:55 +02:00
sjorsdonkers
fac46d9d0b
Redo resolveNode
2025-04-29 16:56:50 +02:00
Karl Seguin
7309fec51d
Fully fake contextCreated
...
emit contextCreated when it's needed, not when it actually happens.
I thought we could make this sync-up, but we'd need to create 3 contexts to
satisfy both puppeteer and chromedp. So rather than having it partially
driven by notifications from Browser, I rather just fake it all for now.
2025-04-29 13:29:42 +08:00
Karl Seguin
9044925f32
emit context created on createTarget event for chromedp
2025-04-29 10:58:23 +08: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
Pierre Tachoire
d8dd94c679
Merge pull request #569 from lightpanda-io/make_cdp_less_generic
...
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
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / 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
Make CDP less generic.
2025-04-25 09:50:17 +02:00
Pierre Tachoire
11c7f57745
cdp: dispatch Page.frameNavigated before DOM.documentUpdated
...
chromedp client expects to receive Page.frameNavigated before
DOM.documentUpdated.
2025-04-24 18:28:43 +02:00
Karl Seguin
1fca035cfe
Make CDP less generic.
...
It's still generic over the client - we need to assert messages written to and
be able to send specific commands, but it's no longer generic over Browser/
Session/Page/etc..
2025-04-24 18:06:55 +08:00
Pierre Tachoire
cfef22257e
Merge pull request #560 from lightpanda-io/remove_arena_frees
...
Remove unnecessary cleanup when we know we have an arena
2025-04-24 09:04:46 +02:00
sjorsdonkers
b2a975fe4a
remove executionContextCreated
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
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / 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
2025-04-23 17:00:22 +02:00
sjorsdonkers
e0bcb625c2
browsercontext arena
2025-04-23 17:00:22 +02:00
sjorsdonkers
9ae4d66194
page cleanup
2025-04-23 17:00:22 +02: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
Karl Seguin
2d1b9d64bd
Remove unnecessary cleanup when we know we have an arena
...
Change a few old alloc+memcpy to dupe
Some other smaller cleanups.
2025-04-23 17:52:13 +08: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
3134ff81f4
JS clicks and MouseInput clicks trigger page navigation
2025-04-18 16:24:04 +08:00
Karl Seguin
b8d7744563
replace zig-js-runtime
2025-04-15 15:18:04 +08:00
Karl Seguin
3fc7ffadbf
rename ts => timestamp, ctx => notify_ctx
2025-04-10 18:27:14 +08:00
Karl Seguin
30fd358286
improve playwright pafe lifecycle message compatibility
2025-04-10 16:07:31 +08:00
Karl Seguin
71c3d484a9
Communicate page navigation state via notifications
...
In order to support click handling on anchors from JavaScript, we need some hook
from the page/session to the CDP instance. This first phase adds notifications
in page.navigate, as well as a primitive notification hook to the session.
CDP's existing Page.navigate uses this new notifiation system.
2025-04-10 14:25:19 +08:00
Pierre Tachoire
66bac32e33
Merge pull request #519 from lightpanda-io/url
...
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
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / 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
Add URL struct
2025-04-09 16:43:44 +02:00
Pierre Tachoire
bc1a83d04a
Update src/cdp/domains/dom.zig
2025-04-09 14:46:53 +02:00
sjorsdonkers
32d9fc0d32
Pass objectGroup as groupName
2025-04-09 13:40:00 +02:00
Karl Seguin
be75b5b237
Add URL struct
...
Combine uri + rawuri into single struct.
Try to improve ownership around URIs and URI-like things.
- cookie & request can take *const std.Uri
(TODO: make them aware of the new URL struct?)
- Location (web api) should own its URL (web api URL)
- Window should own its Location
Most of these changes result in (a) a cleaner Page and (b) not having to carry
around 2 nullable objects (URI and rawuri).
2025-04-09 18:19:07 +08:00
sjorsdonkers
2f47e04de7
Use findOrAddValue for precise JsValue
2025-04-09 11:33:41 +02:00
sjorsdonkers
7dc3add5fd
reolveNode WIP
2025-04-09 11:32:23 +02:00