Commit Graph

3192 Commits

Author SHA1 Message Date
Muki Kiboigo
cb141c35b7 create proper navigate event 2025-11-11 21:01:27 -08:00
Muki Kiboigo
01c2f2c6ea wip navigate event 2025-11-11 20:20:39 -08:00
muki
43b210dcf5 Merge pull request #1200 from lightpanda-io/location-set-hash
add `set_hash` to Location
2025-11-11 20:13:40 -08:00
Muki Kiboigo
16e7c0841d handle empty hashes in Location 2025-11-10 06:52:14 -08:00
Pierre Tachoire
2f2870c066 Merge pull request #1201 from lightpanda-io/devtools
Some checks failed
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
update zig-v8
2025-11-10 14:51:21 +01:00
Pierre Tachoire
9c277ae26e add debugger placeholders 2025-11-10 09:47:58 +01:00
Muki Kiboigo
19b9ba8601 add hash support to URL stitch 2025-11-05 10:11:12 -08:00
Muki Kiboigo
92ddb5640d new NavigationEventTarget on new page 2025-11-05 10:08:37 -08:00
Muki Kiboigo
38c6a9bd9d changeLocation on nav 2025-11-05 10:08:37 -08:00
Muki Kiboigo
3cc53b579b add location set hash tests 2025-11-05 10:08:37 -08:00
Muki Kiboigo
c009669ec8 properly handle replace navigation case 2025-11-05 10:08:37 -08:00
Muki Kiboigo
0e3f18367a add set_hash to Location 2025-11-05 10:08:37 -08:00
Halil Durak
47ceabc43f Merge pull request #1195 from lightpanda-io/nikneym/blob-simd
Some checks failed
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
2025-11-04 19:42:20 +03:00
Karl Seguin
dc4927d49e Merge pull request #1191 from lightpanda-io/refactor_script_manager
Some checks failed
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
Refactor the ScriptManager
2025-11-04 22:35:43 +08:00
Pierre Tachoire
bc29fce41a Merge pull request #1198 from lightpanda-io/nikneym/url-trim
Trim CR and LF characters from both ends
2025-11-04 15:32:45 +01:00
Halil Durak
97c92d7873 replace trimmed_path with path 2025-11-04 17:24:45 +03:00
Karl Seguin
68fbe742eb Update src/browser/ScriptManager.zig
Co-authored-by: Pierre Tachoire <pierre@lightpanda.io>
2025-11-04 22:22:13 +08:00
Karl Seguin
5b08188b93 Merge pull request #1196 from lightpanda-io/nikneym/tiny-changes
Tiny changes
2025-11-04 21:46:14 +08:00
Halil Durak
aa884803e3 trim CR and LF characters from both ends 2025-11-04 16:42:37 +03:00
Karl Seguin
f9087d3840 ignore errorCallback on shutdown 2025-11-04 20:11:26 +08:00
Halil Durak
0fab9be5c2 queueMicrotask should not return a timer ID 2025-11-04 14:39:05 +03:00
Pierre Tachoire
53c73c5851 Merge pull request #1189 from lightpanda-io/cdp-browser-permissions
cdp: add browser permissions noop
2025-11-04 12:12:40 +01:00
Halil Durak
996837ab0c return an empty origin and protocol string if url not provided 2025-11-04 13:30:55 +03:00
Halil Durak
74a5438587 update Blob test 2025-11-04 13:07:23 +03:00
Halil Durak
1fd28cef40 add vectorized line endings scanner 2025-11-04 13:07:02 +03:00
Karl Seguin
7c825cbe82 fix segfault on http error callback 2025-11-04 10:40:53 +08:00
muki
40522d8720 Merge pull request #1192 from lightpanda-io/wpt-navigation
Some checks failed
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
Update wpt submodule for Navigation
2025-11-03 09:17:21 -08:00
Pierre Tachoire
2446580db9 update zig-v8 2025-11-03 17:47:35 +01:00
Karl Seguin
70e02dcfc7 Refactor the ScriptManager
This PR introduces two major changes to the ScriptManager.

1 - Simplification.
Rather than having a `Script`, `PendingScript`, `AsyncModule` and `SyncModule`,
there is only a `Script`, with an added `mode` union. All of the previous
objects had the same behavior (collect the response in a buffer), up to the
point of execution, which is where the mode comes in.

2 - Correctness
Whether or not the previous version was "incorrect", it was difficult to use
correctly. Specifically, the previous version would execute async scripts and
async modules as soon as they're done. That seems allowed, but it caused issues
with module loading in Context.js. Specifically, between compiling and
instantiating a module, or between instantiation and evaluation, an async script
or module could be evaluated. It isn't clear whether v8 allows that, but if it
does, it introduces a lot of new potential states (specifically, unexpected
changes to the v8.Module's status) that we have to handle.

This version only evaluate scripts in the `evaluate`, which doesn't allow
recursive calls (so a waitForImport, which continues to pump the HTTP loop, can
never result in `evaluate` being called again).

This undoes the change made in https://github.com/lightpanda-io/browser/pull/1158
because I do not think it's possible to have multiple waiters waiting for the
same (or even different) modules. The linked issue points to a crash in
https://www.nytimes.com which doesn't crash with this version.
2025-11-03 20:21:46 +08:00
Muki Kiboigo
235337d1c9 update wpt submodule for Navigation 2025-11-02 20:00:46 -08:00
Karl Seguin
8a867bc9c2 Merge pull request #1190 from lightpanda-io/nikneym/blob
Some checks failed
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
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
`Blob` support
2025-11-01 19:58:18 +08:00
Halil Durak
7aafab9c0a prefer js.resolvePromise helper for promise returns 2025-11-01 13:29:24 +03:00
Halil Durak
10c2d7dc87 remove unnecessary import and declaration 2025-11-01 13:28:27 +03:00
Halil Durak
9b990da7fa update Blob test 2025-10-31 17:18:33 +03:00
Halil Durak
93542c9756 support Blob.slice 2025-10-31 17:18:22 +03:00
Halil Durak
4be7fa178c support Blob.arrayBuffer
Also adds support for `ArrayBuffer` to js.zig.
2025-10-31 17:18:03 +03:00
Halil Durak
5785c147da support Blob type 2025-10-31 17:17:02 +03:00
Halil Durak
b68675bb94 update Blob test 2025-10-30 22:36:07 +03:00
Halil Durak
3307a664c4 prefer writeVec instead of writeAll + writeByte 2025-10-30 22:35:58 +03:00
Halil Durak
dd43be4818 remove method added for testing
This was only required while testing things, not an actual API.
2025-10-30 22:35:37 +03:00
Halil Durak
c491648941 implement various Blob methods
Support for `stream`, `text` and `bytes`.
2025-10-30 22:34:58 +03:00
Halil Durak
1085950b88 initial Blob support 2025-10-30 16:08:03 +03:00
Pierre Tachoire
1d91d24b12 cdp: add browser permissions noop 2025-10-28 15:02:24 +01:00
Pierre Tachoire
cc83d85542 Merge pull request #1188 from lightpanda-io/script-load-order
Some checks failed
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
add a test for script load order
2025-10-28 14:12:31 +01:00
Pierre Tachoire
706a87a458 keep consistent queue for inline 2025-10-28 13:12:18 +01:00
Pierre Tachoire
3ec15ad1f7 add a test for script load order 2025-10-28 13:12:18 +01:00
Karl Seguin
07e603ecda Merge pull request #1186 from lightpanda-io/defer-module
module scripts are deferred by default
2025-10-28 18:36:54 +08:00
Pierre Tachoire
52fc2c365f use getList() to pick the right queue w/ inline scripts 2025-10-28 11:23:29 +01:00
Pierre Tachoire
8f3620adf0 modules are deferred by default 2025-10-28 09:17:57 +01:00
Karl Seguin
f7abf0956f Merge pull request #1184 from lightpanda-io/usage-fix
Some checks failed
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
add --log_filter_scopes usage
2025-10-28 10:07:34 +08:00