Halil Durak
c459325a5f
update CanvasRenderingContext2D test
...
Adds the missing RGBA and long digit hex format tests.
2025-11-13 14:55:12 +03:00
Halil Durak
37ac465695
add WebGLRenderingContext test
2025-11-13 14:36:07 +03:00
Halil Durak
a8298a0fda
support getSupportedExtensions
2025-11-13 14:35:53 +03:00
Halil Durak
7404b20228
initial effort for WebGLRenderingContext
2025-11-13 12:56:18 +03:00
Pierre Tachoire
b782cc6389
Merge pull request #1199 from lightpanda-io/nikneym/dummy-canvas
...
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
Dummy canvas
2025-11-13 08:28:24 +01:00
Pierre Tachoire
4538464df4
Merge pull request #1205 from lightpanda-io/template-content
...
handle template's original content
2025-11-13 08:27:46 +01:00
Pierre Tachoire
9081a813e7
Merge pull request #1207 from lightpanda-io/pagetransitionevent
...
add PageTransitionEvent
2025-11-13 08:27:36 +01:00
muki
0dfd5ce940
Merge pull request #1206 from lightpanda-io/microtask-before-load
...
Run microtasks before `onload`
2025-11-12 09:06:26 -08:00
Muki Kiboigo
2bbbb4662e
fire pageshow after load
2025-11-12 09:04:26 -08:00
Muki Kiboigo
a651c0a2d1
add PageTransitionEvent
2025-11-12 09:04:24 -08:00
Muki Kiboigo
5174212183
run microtasks before firing onload
2025-11-12 08:35:31 -08:00
Halil Durak
d48a6619a3
fix failing isHexColor test
2025-11-12 19:00:33 +03:00
Halil Durak
dd079f0c0e
update canvas test
2025-11-12 18:49:13 +03:00
Halil Durak
d193ab6dc0
implement basic support for fillStyle
2025-11-12 18:49:06 +03:00
Halil Durak
4872aabc87
make 6 a valid length for hex colors
...
Also marks `isHexColor` as public function.
2025-11-12 18:47:39 +03:00
Pierre Tachoire
c4380b91f4
handle template's original content
...
When the document fragment is called via the content method on a
templat, it must contain the original template's HTML nodes.
2025-11-12 11:02:22 +01:00
Pierre Tachoire
3f2f56d603
Merge pull request #1197 from lightpanda-io/module_loading
...
Module loading
2025-11-12 07:52:15 +01: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
Halil Durak
0a705b15ce
add color representation by RGBA
...
It seems we can represent most things with RGBA (at least this is what other browsers do) so a universal color API based on RGBA is nice to have, especially for CSS and Canvas.
2025-11-10 16:57:35 +03:00
Pierre Tachoire
2f2870c066
Merge pull request #1201 from lightpanda-io/devtools
...
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
4cf61d101c
initial dummy canvas
2025-11-05 11:50:57 +03:00
Halil Durak
47ceabc43f
Merge pull request #1195 from lightpanda-io/nikneym/blob-simd
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
...
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
d0d2850458
Improve module loading
...
This does two changes to module loading. First, for normal imports, it only
instantiates and evaluates the top-level module. This ensures that circular
dependencies can be resolved. This bug was introduced when I tried to
deduplicate code between dynamic and normal modules - but it turns out that
non-top-level normal modules do have a simpler flow (they just need to be
compiled, and we let v8 deal with the rest).
The other change is to handle more edge cases. Code like this should now be ok:
```
<script type=module>
var a = await import('a.js');
</script>
<script type=module>
import a from a.js
</script>
```
Previously, the dynamic import of a.js (first block) could interact badly with
the normal import of a.js in the 2nd block.
This change is built on top of https://github.com/lightpanda-io/browser/pull/1191
which also helps reduce the number of cases by ensure that a script isn't
evaluated while we're trying to evaluate a script.
2025-11-04 20:26:12 +08: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
...
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
...
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