Commit Graph

20 Commits

Author SHA1 Message Date
Karl Seguin
75f66a6cb2 Accommodate zig-js-runtime loop changes 2025-03-31 14:59:40 +08:00
Karl Seguin
3fe28d5441 Optimize memory usage
The two bigger changes here are:

1- The http_client has been moved from the Session to the Browser, allowing
   its connection pool to be re-used across multiple sessions

2- The browser now has a page_arena which is used for all page-level allocation
   and which can be re-used between pages (currently retains 1MB of memory).
   Previously, pages uses an arena that was tied to the lifetime of the page,
   thus it could not be re-used.

Using the Bench allocator for zig-js-runtime, allocated bytes went from
1347037879 to 834932438 (in a RUNS=1000 of puppeteer demo).

Various other changes to try to simplify the API and remove the possibility
of invalid states. For example, session.newPage() now includes the logic for
page.start() so that there should now never be a page that wasn't started.
2025-03-12 13:38:22 +08:00
Pierre Tachoire
7b35bb4c0f dom: improve location impl 2025-01-27 12:33:06 +01:00
Pierre Tachoire
318e2bd1c6 dom: expose document.location 2025-01-27 12:33:05 +01:00
Pierre Tachoire
d7069df80d dom: first draft for location 2025-01-23 11:51:05 +01:00
Pierre Tachoire
11d28b0bc3 dom: add placeholder for history interface 2025-01-15 11:45:30 +01:00
Pierre Tachoire
b3f7fb7be3 dom: implement navigator.userAgent 2025-01-08 11:03:11 +01:00
Pierre Tachoire
aeaa745600 clearTimeout: ignore invalid timeout ids 2024-09-19 16:37:42 +02:00
Pierre Tachoire
be27359109 dom: implement clearTimeout 2024-09-19 16:37:42 +02:00
Pierre Tachoire
0559fb9365 dom: first draft for window setTimeout 2024-09-19 16:36:34 +02:00
Pierre Tachoire
f2a406d224 move netsurf and mimalloc into modules 2024-06-18 16:13:27 +02:00
Pierre Tachoire
2a3a243d1c add AGPL license header in zig files 2024-05-13 20:51:36 +02:00
Pierre Tachoire
3c5d601622 storage: first implementation of webstorage API 2024-04-24 11:54:41 +02:00
Pierre Tachoire
886c9daa47 window: inject DocumentHTML instead of Document 2024-03-08 12:24:24 +01:00
Pierre Tachoire
fec212ab94 window: use window as global object 2024-03-08 12:24:23 +01:00
Pierre Tachoire
25a971c440 window: remove useless import 2024-02-15 14:06:49 +01:00
Pierre Tachoire
9050f2586b events: add EventTargetBase
EventTargetBase implements event target vtable for pure zig struct
2024-02-05 16:41:11 +01:00
Pierre Tachoire
40dac207f9 window: add event target prototype 2024-01-17 18:22:01 +01:00
Pierre Tachoire
2bbaa77891 window: document is null by default 2024-01-17 18:22:00 +01:00
Pierre Tachoire
c2ade9061b move window from nav to html 2024-01-17 18:21:52 +01:00