mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-02-04 06:23:45 +00:00
Make Global Function explicit.
This is the first in a series of changes to make globals explicit. The ultimate goal of having explicit Globals is to move away from the global HandleScope and to explicit HandleScopes. Currently, we treat globals and locals interchangeably. In fact, for Global -> Local, we just ptrCast. This works because we have 1 global HandleScope, which effectively disables V8's GC and thus nothing ever gets moved. If we're going to introduce explicit HandleScopes, then we need to first have correct Globals. Specifically, when we want to act on the global, we need to get the local value, and that will eventually mean making sure there's a HandleScope. While adding explicit globals, we're keeping the global HandleScope so that we can minimize the change. So, given that we still have the global HandleScope the change is largely two things: 1 - js.Function.persit() returns a js.Function.Global. Types that persist global functions must be updated to js.Function.Global. 2 - To turn js.Function.Global -> js.Function, we need to call .local() on it. The bridge has been updated to support js.Function.Global for both input and output parameters. Thus, window.setOnLoad can now directly take a js.Function.Global, and window.getOnLoad can directly return that js.Function.Global.
This commit is contained in:
@@ -5,11 +5,11 @@
|
||||
.fingerprint = 0xda130f3af836cea0, // Changing this has security and trust implications.
|
||||
.minimum_zig_version = "0.15.2",
|
||||
.dependencies = .{
|
||||
.v8 = .{
|
||||
.url = "https://github.com/lightpanda-io/zig-v8-fork/archive/5b0555e6b6154f957f9d7002ecb8005cc5a41b7a.tar.gz",
|
||||
.hash = "v8-0.0.0-xddH6xUqBABofwwIBsof3cD3c2FstBvm7_VzoughX1Km",
|
||||
},
|
||||
//.v8 = .{ .path = "../zig-v8-fork" },
|
||||
//.v8 = .{
|
||||
// .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/5b0555e6b6154f957f9d7002ecb8005cc5a41b7a.tar.gz",
|
||||
// .hash = "v8-0.0.0-xddH6xUqBABofwwIBsof3cD3c2FstBvm7_VzoughX1Km",
|
||||
//},
|
||||
.v8 = .{ .path = "../zig-v8-fork" },
|
||||
.@"boringssl-zig" = .{
|
||||
.url = "git+https://github.com/Syndica/boringssl-zig.git#c53df00d06b02b755ad88bbf4d1202ed9687b096",
|
||||
.hash = "boringssl-0.1.0-VtJeWehMAAA4RNnwRnzEvKcS9rjsR1QVRw1uJrwXxmVK",
|
||||
|
||||
Reference in New Issue
Block a user