mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 23:23:28 +00:00
cdp: use a polyfill loader per isolate
This commit is contained in:
@@ -30,6 +30,8 @@ const Inspector = @import("../browser/env.zig").Env.Inspector;
|
|||||||
const Incrementing = @import("../id.zig").Incrementing;
|
const Incrementing = @import("../id.zig").Incrementing;
|
||||||
const Notification = @import("../notification.zig").Notification;
|
const Notification = @import("../notification.zig").Notification;
|
||||||
|
|
||||||
|
const polyfill = @import("../browser/polyfill/polyfill.zig");
|
||||||
|
|
||||||
pub const URL_BASE = "chrome://newtab/";
|
pub const URL_BASE = "chrome://newtab/";
|
||||||
pub const LOADER_ID = "LOADERID24DD2FD56CF1EF33C965C79C";
|
pub const LOADER_ID = "LOADERID24DD2FD56CF1EF33C965C79C";
|
||||||
|
|
||||||
@@ -554,6 +556,10 @@ const IsolatedWorld = struct {
|
|||||||
executor: Env.ExecutionWorld,
|
executor: Env.ExecutionWorld,
|
||||||
grant_universal_access: bool,
|
grant_universal_access: bool,
|
||||||
|
|
||||||
|
// Polyfill loader for the isolated world.
|
||||||
|
// We want to load polyfill in the world's context.
|
||||||
|
polyfill_loader: polyfill.Loader = .{},
|
||||||
|
|
||||||
pub fn deinit(self: *IsolatedWorld) void {
|
pub fn deinit(self: *IsolatedWorld) void {
|
||||||
self.executor.deinit();
|
self.executor.deinit();
|
||||||
}
|
}
|
||||||
@@ -569,7 +575,13 @@ const IsolatedWorld = struct {
|
|||||||
// Currently we have only 1 page/frame and thus also only 1 state in the isolate world.
|
// Currently we have only 1 page/frame and thus also only 1 state in the isolate world.
|
||||||
pub fn createContext(self: *IsolatedWorld, page: *Page) !void {
|
pub fn createContext(self: *IsolatedWorld, page: *Page) !void {
|
||||||
if (self.executor.js_context != null) return error.Only1IsolatedContextSupported;
|
if (self.executor.js_context != null) return error.Only1IsolatedContextSupported;
|
||||||
_ = try self.executor.createJsContext(&page.window, page, {}, false, null);
|
_ = try self.executor.createJsContext(
|
||||||
|
&page.window,
|
||||||
|
page,
|
||||||
|
{},
|
||||||
|
false,
|
||||||
|
Env.GlobalMissingCallback.init(&self.polyfill_loader),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user