fix crashes on cached file from script manager

This commit is contained in:
Muki Kiboigo
2026-04-01 14:12:25 -07:00
parent 648af43f8a
commit d18acd5228

View File

@@ -273,23 +273,31 @@ pub fn addFromElement(self: *ScriptManager, comptime from_parser: bool, script_e
// Let the outer errdefer handle releasing the arena if client.request fails // Let the outer errdefer handle releasing the arena if client.request fails
} }
try self.client.request(.{ // If we return synchronously (like from cache), we would call evaluate() immediately.
.url = url, {
.ctx = script, const was_evaluating = self.is_evaluating;
.method = .GET, self.is_evaluating = true;
.frame_id = page._frame_id, defer self.is_evaluating = was_evaluating;
.headers = try self.getHeaders(),
.blocking = is_blocking, try self.client.request(.{
.cookie_jar = &page._session.cookie_jar, .url = url,
.cookie_origin = page.url, .ctx = script,
.resource_type = .script, .method = .GET,
.notification = page._session.notification, .frame_id = page._frame_id,
.start_callback = if (log.enabled(.http, .debug)) Script.startCallback else null, .headers = try self.getHeaders(),
.header_callback = Script.headerCallback, .blocking = is_blocking,
.data_callback = Script.dataCallback, .cookie_jar = &page._session.cookie_jar,
.done_callback = Script.doneCallback, .cookie_origin = page.url,
.error_callback = Script.errorCallback, .resource_type = .script,
}); .notification = page._session.notification,
.start_callback = if (log.enabled(.http, .debug)) Script.startCallback else null,
.header_callback = Script.headerCallback,
.data_callback = Script.dataCallback,
.done_callback = Script.doneCallback,
.error_callback = Script.errorCallback,
});
}
handover = true; handover = true;
if (comptime IS_DEBUG) { if (comptime IS_DEBUG) {