mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-30 07:31:47 +00:00
Introduce a "transfer_arena"
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.
This commit is contained in:
@@ -314,7 +314,7 @@ pub fn BrowserContext(comptime CDP_T: type) type {
|
||||
const allocator = cdp.allocator;
|
||||
|
||||
const session = try cdp.browser.newSession();
|
||||
const arena = session.arena.allocator();
|
||||
const arena = session.arena;
|
||||
|
||||
const inspector = try cdp.browser.env.newInspector(arena, self);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user