Karl Seguin
97b17af056
fix leak in test
2025-06-03 10:49:52 +08:00
Karl Seguin
9c2e3e2c76
Merge pull request #740 from lightpanda-io/fix_anchor_href
...
Fix anchor href
2025-06-03 10:47:25 +08:00
Karl Seguin
4c8e2a1258
Setting anchor href should consider document.url
2025-06-03 09:58:26 +08:00
Karl Seguin
e5a76d737c
Increase default timeout from 3s to 10s.
...
The wait_for_network_idle demo often times out for me. I don't see any reason
to have the default so low. More likely to cause user scripts to unnecessarily
fail.
2025-06-03 09:57:51 +08:00
Karl Seguin
a482d5998d
Merge pull request #739 from lightpanda-io/url_constructor
...
Fix url constructor
2025-06-03 09:55:47 +08:00
Karl Seguin
b6a37f6fb8
Merge pull request #747 from lightpanda-io/fix_crash_on_error_exit
...
fix a silly log crash on exit error
2025-06-03 09:52:08 +08:00
Karl Seguin
e3099a16d4
fix a silly log crash on exit error
2025-06-02 23:34:09 +08:00
Karl Seguin
167fe5f758
Guard against null object when trying to fetch a function
2025-06-02 23:27:29 +08:00
Karl Seguin
a000dfe676
include stack trace in JS function call log errors
2025-06-02 21:43:24 +08:00
Karl Seguin
9e834e0db5
Revert "experiment with reducing retained arena size"
...
This reverts commit 2f6b4c04da3e4659a3ebe8bcb9195f4625feaa16.
2025-06-02 21:43:20 +08:00
Karl Seguin
021fc8fb59
experiment with reducing retained arena size
2025-06-02 21:41:53 +08:00
Karl Seguin
625fa03c22
fix tests
2025-06-02 21:38:57 +08:00
Karl Seguin
6e80b03faa
Improve script logging
...
1 - Add a custom console.lp function to make our debug logs stand out from
script logs.
2 - In some cases, significantly improve how JavaScript values are serialized
in debug logs and in console.log.
2025-06-02 21:38:57 +08:00
Karl Seguin
c3f3eea7fb
Improve logging
...
1 - Make log_level a runtime option (not a build-time)
2 - Make log_format a runtime option
3 - In Debug mode, allow for log scope filtering
Improve the general usability of scopes. Previously, the scope was more or less
based on the file that the log was in. Now they are more logically grouped.
Consider the case where you want to silence HTTP request information, previously
you'd have to filter out the `page`, `xhr` and `http_client` scopes, but that
would also elimiate other page, xhr and http_client logs. Now, you can just
filter out the `http` scope.
2025-06-02 21:38:56 +08:00
Karl Seguin
2ef7ea6512
change stitch alloc default to .always
2025-06-02 19:24:08 +08:00
Karl Seguin
bb465ed1ed
Allow any 2xx status code for scripts
...
DDG will sometimes return a 202 for its result javascript, meaning it isn't
ready and the rest of the JS will then handle that case. It's weird, but there's
no reason for us to abort on a 2xx code.
2025-06-02 17:20:28 +08:00
Karl Seguin
ac75f9bf57
Fix url constructor
...
url, base were being joined in the wrong order. Switch to using URL.stitch if
a base is given.
2025-06-02 16:43:01 +08:00
Karl Seguin
c80deeb5ec
Merge pull request #738 from lightpanda-io/buttons_submit_form
...
Submit input and button submits can now submit forms
2025-06-02 16:30:51 +08:00
sjorsdonkers
1b87f9690c
remove superflous text
2025-06-02 10:23:06 +02:00
sjorsdonkers
e799fcd48a
xmlserializer for doctype
2025-06-02 10:23:06 +02:00
Karl Seguin
4644e55883
Do not reset transfer_arena if page navigation results in delayed navigation
...
We normally expect a navigation event to happen at some point after the page
loads, like a puppeteer script clicking on a link. But, it's also possible for
the main navigation event to result in a delayed navigation. For example, an
html page with this JS:
<script>top.location = '/';</script>
Would result in a delayed navigation being called from the main navigate
function. In these cases, we cannot clear the transfer_arena when navigate is
completed, as its memory is needed by the new "sub" delayed navigation.
2025-06-02 14:16:36 +08:00
Karl Seguin
747a8ad09c
Submit input and button submits can now submit forms
2025-06-02 11:27:44 +08:00
Karl Seguin
527579aef4
Merge pull request #720 from lightpanda-io/clean_xhr_shutdown
...
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
Clean Http Request Shutdown
2025-05-31 07:51:11 +08:00
Karl Seguin
1869ef0c38
Merge pull request #734 from lightpanda-io/url_resolve_buffer_size
...
increase buffer size 1024->4096
2025-05-31 07:50:57 +08:00
Karl Seguin
e7007b4231
fix test
2025-05-31 07:31:05 +08:00
Karl Seguin
6ca57c1f8c
Merge pull request #723 from lightpanda-io/form_submit
...
Form submit
2025-05-31 07:23:49 +08:00
Karl Seguin
f2f7a349ce
Merge pull request #715 from lightpanda-io/location_change
...
Implement location.reload(), location.assign() and location setter
2025-05-31 07:23:36 +08:00
Karl Seguin
f696aa3748
Merge pull request #726 from lightpanda-io/fix_set_innerhtml_and_html_collection
...
Fix set_innerHTML, fix HTMLCollection fixed (postAttached) return type
2025-05-31 07:23:24 +08:00
Karl Seguin
e339ee3f0c
Clean Http Request Shutdown
...
The Request object now exists on the heap, allowing it to outlive whatever is
making the request (e.g. the XHR object). We can now wait until all inflight IO
events are completed before clearing the memory.
This change fixes the crash observed in:
https://github.com/lightpanda-io/browser/issues/667
2025-05-31 07:22:01 +08:00
Karl Seguin
c30b424f36
increase buffer size 1024->4096
2025-05-31 07:19:30 +08:00
Karl Seguin
ef64fa3794
Execute onload for dynamic script
...
Add support for onerror for static and dynamic scripts.
Make script type checking case insensitive.
2025-05-30 22:24:44 +08:00
Karl Seguin
6adb46abd5
Merge pull request #727 from lightpanda-io/named_node_map_named_index_and_iteartor
...
Implement named_get and iterator on NamedNodeMap
2025-05-30 22:22:06 +08:00
Karl Seguin
3ef1d8b0b9
Merge pull request #729 from lightpanda-io/fix_node_insert_before_null_reference
...
support null referene node to Node.insertBefore
2025-05-30 22:21:29 +08:00
Karl Seguin
71b5dc2f81
Merge pull request #731 from lightpanda-io/minor_chores
...
Update zig-v8-fork + zig fmt fix
2025-05-30 22:21:18 +08:00
Karl Seguin
5909ab7641
Merge pull request #730 from lightpanda-io/fix_html_image
...
Fix HTMLImageElement
2025-05-30 22:21:06 +08:00
Karl Seguin
9a2c0067f1
IntersectionObserver's threshold option should be an union
2025-05-30 20:48:10 +08:00
Karl Seguin
ab45b42382
Update zig-v8-fork + zig fmt fix
...
zig-v8-fork update simply removes a couple std.debug statements
2025-05-30 20:08:52 +08:00
Karl Seguin
4a6cee0611
Fix HTMLImageElement
...
HTMLImageElement is the correct class name. However, it has a "legacy factory":
Image (i.e. new Image()).
2025-05-30 20:05:51 +08:00
Karl Seguin
d39cada0c6
support null referene node to Node.insertBefore
2025-05-30 18:03:03 +08:00
Karl Seguin
cfdbd418c1
Implement named_get and iterator on NamedNodeMap
2025-05-30 14:42:54 +08:00
Karl Seguin
2a4feb7bee
Fix set_innerHTML, fix HTMLCollection fixed (postAttached) return type
2025-05-30 13:32:29 +08:00
Karl Seguin
7202d758a2
Merge pull request #714 from lightpanda-io/live_scripts
...
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
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
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
Load dynamically added <script> tags
2025-05-29 18:06:56 +08:00
Karl Seguin
dab59aded3
Merge pull request #707 from lightpanda-io/skip_large_headers
...
Skip large header lines that don't fit into the header buffer.
2025-05-29 18:06:40 +08:00
Karl Seguin
eed4fc7844
Load dynamically added <script> tags
...
Add a callback to libdom which triggers whenever a script tag is added. Page
registers the callback AFTER the HTML is parsed, but before any JS is processed
and loads the script tags.
2025-05-29 16:00:40 +08:00
Karl Seguin
74b36d6d32
support form.submit()
...
Only supports application/x-www-form-urlencoded
2025-05-29 14:10:07 +08:00
Karl Seguin
58215a470b
Implement location.reload(), location.assign() and location setter
...
I'm not sure that _any_ location instance should be able to change the page URL.
But you can't create a new location (i.e. new Location() isn't valid), and the
only two ways I know of are via `window.location` and `document.location` both
of which _should_ alter the location of the window/document.
2025-05-29 13:59:15 +08:00
Karl Seguin
608e0a0122
Skip long setTimeout/setInterval
...
I guess this should eventually become a configuration option - what time is too
long and should they be skipped or just be run sooner?
But for now, this unblocks from fetching a site like DDG which does a setTimeout
of 2 minutes.
2025-05-29 13:58:31 +08:00
Karl Seguin
dffbce1934
Merge pull request #712 from lightpanda-io/tweak_http_logs
...
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
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
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
Reduce info logs of HTTP event
2025-05-28 23:04:29 +08:00
sjorsdonkers
88df9f0134
missing t
2025-05-28 10:42:33 +02:00
Karl Seguin
79d1425530
Reduce info logs of HTTP event
...
In normal cases, only log a single info event HTTP request. In an error case or
when log-level=debug, more may be logged.
2025-05-28 11:18:38 +08:00