Merge pull request #1654 from lightpanda-io/dynamic_import_undefined_resource

Handle dynamicModuleCallback being called with undefined/null resourc…
This commit is contained in:
Pierre Tachoire
2026-02-25 11:22:53 +01:00
committed by GitHub

View File

@@ -600,9 +600,18 @@ pub fn dynamicModuleCallback(
.isolate = self.isolate,
};
const resource = js.String.toSliceZ(.{ .local = &local, .handle = resource_name.? }) catch |err| {
log.err(.app, "OOM", .{ .err = err, .src = "dynamicModuleCallback1" });
return @constCast((local.rejectPromise("Out of memory") catch return null).handle);
const resource = blk: {
const resource_value = js.Value{ .handle = resource_name.?, .local = &local };
if (resource_value.isNullOrUndefined()) {
// will only be null / undefined in extreme cases (e.g. WPT tests)
// where you're
break :blk self.page.base();
}
break :blk js.String.toSliceZ(.{ .local = &local, .handle = resource_name.? }) catch |err| {
log.err(.app, "OOM", .{ .err = err, .src = "dynamicModuleCallback1" });
return @constCast((local.rejectPromise("Out of memory") catch return null).handle);
};
};
const specifier = js.String.toSliceZ(.{ .local = &local, .handle = v8_specifier.? }) catch |err| {