mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-27 10:53:28 -04:00
Some data has to exist specifically for the navigation of one page to another. For example, if a hyperlink is clicked, the URL begins its life with the original page, but is transferred to the new page. The page_arena cannot be used for such data. It's possible to use the session_arena, but it's lifetime is much longer and, given enough navigation, could accumulate a lot of memory. The new transfer_arena exists within the session, but only exists until the next navigation. While currently only used for the navigation URL, the main goal here is to have a place to put the request body on form submission, which has a lifetime similar to a click url. While I'm at it, I promoted the existing session arena and the new transfer arena to the browser, allowing better memory re-use between sessions.