Pierre Tachoire
d1bd358785
Merge pull request #698 from lightpanda-io/bench-runner
...
ci: refacto e2e http start/stop
2025-05-26 18:53:53 +02:00
Pierre Tachoire
f63ea62f2d
ci: refacto e2e http start/stop
2025-05-26 18:30:51 +02:00
Pierre Tachoire
3fd5ed4feb
Merge pull request #697 from lightpanda-io/bench-runner
...
ci:fix deps
2025-05-26 18:22:25 +02:00
Pierre Tachoire
ba7df8b9cf
ci:fix deps
2025-05-26 18:21:59 +02:00
Pierre Tachoire
18b97df619
Merge pull request #693 from lightpanda-io/bench-runner
...
ci: add cdp-bench
2025-05-26 18:20:30 +02:00
Pierre Tachoire
087d23269b
ci: add hyperfine test
2025-05-26 18:07:05 +02:00
Pierre Tachoire
8c1f38f74d
ci: e2e: build release w/ -Dcpu=x86_64 option
2025-05-26 13:16:36 +02:00
Pierre Tachoire
13091e0de4
ci: add cdp-bench
...
The cdp bench is run on self host machine.
2025-05-26 13:16:36 +02:00
Karl Seguin
1a72bf5962
Merge pull request #692 from lightpanda-io/get_computed_style
...
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
make getComptedStyle return an empty CSSStyleDeclaration
2025-05-26 17:24:31 +08:00
Karl Seguin
b8cd0c1a77
remove debug statement
2025-05-26 15:43:21 +08:00
Karl Seguin
ecd593fb53
Add dummy Element.checkVisibility
...
`checkVisibility` currently always return true. Also, when the visibility CSS
property is checked, always return 'visible'. This allows the playwright click
test to pass with a working getComputedStyle. It's also probably more accurate -
by default, most elements are probably visible. But it still isn't great.
Add named_get to CSSStyleDeclaration (allowing things like `style.display`).
2025-05-26 15:08:25 +08:00
Karl Seguin
b17f20e2c5
make getComptedStyle return an empty CSSStyleDeclaration
2025-05-26 11:16:51 +08: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