From 524bccdf6aa20ee4ba76dc7291d77b4c98fa7e28 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Wed, 1 Feb 2023 06:41:04 -0800 Subject: fix(napi): return node globalThis from napi_get_global (#17613) Fixes https://github.com/denoland/deno/issues/17587 --- ext/napi/lib.rs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ext/napi/lib.rs') diff --git a/ext/napi/lib.rs b/ext/napi/lib.rs index 789aec5eb..59a07136d 100644 --- a/ext/napi/lib.rs +++ b/ext/napi/lib.rs @@ -418,6 +418,7 @@ pub struct Env { Rc>>, pub tsfn_ref_counters: Arc>, pub last_error: napi_extended_error_info, + pub global: NonNull, } unsafe impl Send for Env {} @@ -427,6 +428,7 @@ impl Env { pub fn new( isolate_ptr: *mut v8::OwnedIsolate, context: v8::Global, + global: v8::Global, sender: mpsc::UnboundedSender, threadsafe_function_sender: mpsc::UnboundedSender, cleanup_hooks: Rc< @@ -446,6 +448,7 @@ impl Env { Self { isolate_ptr, context: context.into_raw(), + global: global.into_raw(), shared: std::ptr::null_mut(), open_handle_scopes: 0, async_work_sender: sender, @@ -602,6 +605,7 @@ fn op_napi_open( scope: &mut v8::HandleScope<'scope>, op_state: &mut OpState, path: String, + global: serde_v8::Value, ) -> std::result::Result, AnyError> where NP: NapiPermissions + 'static, @@ -644,6 +648,7 @@ where let mut env = Env::new( isolate_ptr, v8::Global::new(scope, ctx), + v8::Global::new(scope, global.v8_value), async_work_sender, tsfn_sender, cleanup_hooks, -- cgit v1.2.3