chore: bump chromium to 128.0.6558.0 (32-x-y) (#42746)
* chore: bump chromium to 128.0.6558.0 32-x-y * chore: bump chromium in DEPS to 127.0.6526.0 * chore: update network_service_allow_remote_certificate_verification_logic.patch manually apply patch due to minor upstream shear Xref:5598454
* chore: update fix_move_autopipsettingshelper_behind_branding_buildflag.patch No manual changes; patch applied with fuzz 1 * chore: update refactor_expose_file_system_access_blocklist.patch No manual changes; patch applied with fuzz 2 * chore: update revert_heap_add_checks_position_info.patch No manual changes; patch applied with fuzz 1 * chore: e patches all * chore: bump chromium in DEPS to 127.0.6527.0 * chore: update patches * chore: bump chromium in DEPS to 127.0.6529.0 * chore: bump chromium in DEPS to 127.0.6531.0 * chore: update patches * 5596349: Remove PDF OCR toggle from settings.5596349
* 5585932: [video-pip] Add minimize button to video picture-in-picture window5585932
* 5604487: Reland "[api] Deprecate v8::FunctionCallbackInfo::Holder() for real"5604487
* 5581721: [DEPS] Update clang-format location5581721
* 5597904: [Windows] Remove ConvertToLongPath from Sandbox Utilities.5597904
ResolveNTFunctionPtr was removed in this CL. * fix: visibility state specs on macOS Refs5605407
* Revert "fix: visibility state specs on macOS" This reverts commit 1eee30a33dfafeec86cdd09526a07b01abca2ed6. * temp: disable occlusion checker on macOS * chore: bump chromium in DEPS to 128.0.6535.0 * chore: update patches * [Extensions] Move some scriptings files out of the API directory. Refs5606682
* fix[node]: do not use soon-to-be-deprecated V8 API * fix: update api_remove_allcan_read_write.patch * chore: update patches * chore: update patches * chore: fix lf mismatch in api_remove_allcan_read_write.patch * chore: update patches * chore: bump chromium in DEPS to 128.0.6538.0 * chore: update v8 patches * chore: update patches * ui/gl/features.gni: Set use_egl=true unconditionally. Refs5569748
Refs https://issues.chromium.org/issues/344606399 * chore: bump chromium in DEPS to 128.0.6540.0 * chore: bump chromium in DEPS to 128.0.6541.0 * chore: update patches * chore: fix nan read/write patch * chore: bump chromium in DEPS to 128.0.6543.0 * 5626254: Use sandbox_type instead of process_type |5626254
* chore: update patches * rework nan patches * 5621488: Apply consistent naming conventions to zoom values |5621488
* chore: bump chromium in DEPS to 128.0.6544.0 * 5605693: Remove files from third_party/ninja |5605693
* chore: update patches * chore: maybe fix nan patch, part 3 * chore: delete nan patch * chore: re-add nan patch (attempt 2) * chore: add test patch * fixup! add test patch * chore: bump chromium in DEPS to 128.0.6549.0 * chore: bump chromium in DEPS to 128.0.6551.0 * 5637699: Add command line to ASAN Additional Info section |5637699
* chore: update patches * chore: bump chromium in DEPS to 128.0.6553.0 * chore: bump chromium in DEPS to 128.0.6555.0 * fix: add property query interceptors * chore: bump chromium in DEPS to 128.0.6557.0 * 5583182: Automatic Fullscreen: Prototype Permissions API query support |5583182
* 5613297: Move render input router and related dependencies to //components/input |5613297
* chore: update patches * test: skip methodswithdata-test.js nan test * chore: bump chromium in DEPS to 128.0.6558.0 * chore: update patches * build: reference correct ninja cipd ref Ref:5605693
* update libcxx filenames * refactor: CursorManager moved to //components/input Ref:5613297
* refactor: spanify mojo Read/WriteData methods Ref:5619291
* refactor: remove constexpr from KeyboardCodeFromKeyIdentifier Ref: unknown Added TODO to investigate after * chore: update patches * refactor: improve type safety of a11y ids Ref:5614590
* chore: disable tls node tests that don't apply given boringssl tls configuration Ref: https://boringssl-review.googlesource.com/c/boringssl/+/68487 * chore: add patch to fix nan v8 incompat with NamedPropertyHandlerConfiguration and IndexedPropertyHandlerConfiguration Ref:5630388
* fix: limit subspan length per feedback * Fix incorrect CalculateInsetsInDIP check * 5645742: Reland "Reland "Add toolchains without PartitionAlloc-Everywhere for dump_syms et al""5645742
* chore: more Windows logging * 5617471: Add NPU blocking to chromium blocklist5617471
--------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: Alice Zhao <alice@makenotion.com> Co-authored-by: Samuel Attard <marshallofsound@electronjs.org> Co-authored-by: VerteDinde <vertedinde@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> * chore: cleanup .patches after trop --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
parent
37fc8346aa
commit
c2939ef9af
122 changed files with 1602 additions and 1178 deletions
|
@ -1,5 +1,6 @@
|
|||
use_new_constructor_for_scriptorigin_when_17_x.patch
|
||||
api_remove_allcan_read_write.patch
|
||||
fix_define_nan_copyablepersistenttraits_for_v8_12_5.patch
|
||||
remove_deprecated_v8_isolate_idlenotificationdeadline.patch
|
||||
remove_several_apis_deprecated_in_version_12_6.patch
|
||||
apply_allcan_read_write.patch
|
||||
fix_support_new_variant_of_namedpropertyhandlerconfiguration_and.patch
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: deepak1556 <hop2deep@gmail.com>
|
||||
Date: Fri, 10 Nov 2023 22:51:53 +0900
|
||||
Subject: Remove AllCan Read/Write
|
||||
From: Keeley Hammond <khammond@slack-corp.com>
|
||||
Date: Thu, 20 Jun 2024 14:42:08 -0700
|
||||
Subject: Check for NODE_21_0_MODULE_VERSION
|
||||
|
||||
Refs https://chromium-review.googlesource.com/c/v8/v8/+/5006387
|
||||
Should be upstreamed.
|
||||
|
@ -17,7 +17,7 @@ Steps for upstreaming this patch:
|
|||
- Upstream patch to nodejs/nan before Electron 29 is branched
|
||||
|
||||
diff --git a/nan.h b/nan.h
|
||||
index 2a68349448c163fa29af327a03b11678e61f5789..2be1b4f573948024f5777fc6801126b3e799ef11 100644
|
||||
index 9a9112afe0cc94ce58ed3cce9763ace7c160a932..f4865a77e60d5105ed2426037984ddcbfa58bbca 100644
|
||||
--- a/nan.h
|
||||
+++ b/nan.h
|
||||
@@ -47,6 +47,7 @@
|
||||
|
@ -28,7 +28,7 @@ index 2a68349448c163fa29af327a03b11678e61f5789..2be1b4f573948024f5777fc6801126b3
|
|||
|
||||
#ifdef _MSC_VER
|
||||
# define NAN_HAS_CPLUSPLUS_11 (_MSC_VER >= 1800)
|
||||
@@ -2517,7 +2518,9 @@ NAN_DEPRECATED inline void SetAccessor(
|
||||
@@ -2525,7 +2526,9 @@ NAN_DEPRECATED inline void SetAccessor(
|
||||
, GetterCallback getter
|
||||
, SetterCallback setter
|
||||
, v8::Local<v8::Value> data
|
||||
|
@ -38,7 +38,20 @@ index 2a68349448c163fa29af327a03b11678e61f5789..2be1b4f573948024f5777fc6801126b3
|
|||
, v8::PropertyAttribute attribute
|
||||
, imp::Sig signature) {
|
||||
HandleScope scope;
|
||||
@@ -2550,7 +2553,9 @@ NAN_DEPRECATED inline void SetAccessor(
|
||||
@@ -2553,17 +2556,28 @@ NAN_DEPRECATED inline void SetAccessor(
|
||||
obj->SetInternalField(imp::kDataIndex, data);
|
||||
}
|
||||
|
||||
+#if (NODE_MODULE_VERSION >= NODE_21_0_MODULE_VERSION)
|
||||
+ tpl->SetNativeDataProperty(
|
||||
+ name
|
||||
+ , getter_
|
||||
+ , setter_
|
||||
+ , obj
|
||||
+ , attribute);
|
||||
+#else
|
||||
tpl->SetAccessor(
|
||||
name
|
||||
, getter_
|
||||
, setter_
|
||||
, obj
|
||||
|
@ -48,7 +61,13 @@ index 2a68349448c163fa29af327a03b11678e61f5789..2be1b4f573948024f5777fc6801126b3
|
|||
, attribute
|
||||
#if (NODE_MODULE_VERSION < NODE_16_0_MODULE_VERSION)
|
||||
, signature
|
||||
@@ -2564,7 +2569,9 @@ inline void SetAccessor(
|
||||
#endif
|
||||
);
|
||||
+#endif
|
||||
}
|
||||
|
||||
inline void SetAccessor(
|
||||
@@ -2572,7 +2586,9 @@ inline void SetAccessor(
|
||||
, GetterCallback getter
|
||||
, SetterCallback setter = 0
|
||||
, v8::Local<v8::Value> data = v8::Local<v8::Value>()
|
||||
|
@ -58,7 +77,20 @@ index 2a68349448c163fa29af327a03b11678e61f5789..2be1b4f573948024f5777fc6801126b3
|
|||
, v8::PropertyAttribute attribute = v8::None) {
|
||||
HandleScope scope;
|
||||
|
||||
@@ -2596,7 +2603,9 @@ inline void SetAccessor(
|
||||
@@ -2599,14 +2615,25 @@ inline void SetAccessor(
|
||||
obj->SetInternalField(imp::kDataIndex, data);
|
||||
}
|
||||
|
||||
+#if (NODE_MODULE_VERSION >= NODE_21_0_MODULE_VERSION)
|
||||
+ tpl->SetNativeDataProperty(
|
||||
+ name
|
||||
+ , getter_
|
||||
+ , setter_
|
||||
+ , obj
|
||||
+ , attribute);
|
||||
+#else
|
||||
tpl->SetAccessor(
|
||||
name
|
||||
, getter_
|
||||
, setter_
|
||||
, obj
|
||||
|
@ -67,8 +99,11 @@ index 2a68349448c163fa29af327a03b11678e61f5789..2be1b4f573948024f5777fc6801126b3
|
|||
+#endif
|
||||
, attribute
|
||||
);
|
||||
+#endif
|
||||
}
|
||||
@@ -2634,7 +2643,15 @@ inline bool SetAccessor(
|
||||
|
||||
inline bool SetAccessor(
|
||||
@@ -2642,7 +2669,15 @@ inline bool SetAccessor(
|
||||
, New<v8::External>(reinterpret_cast<void *>(setter)));
|
||||
}
|
||||
|
||||
|
@ -85,3 +120,22 @@ index 2a68349448c163fa29af327a03b11678e61f5789..2be1b4f573948024f5777fc6801126b3
|
|||
return obj->SetAccessor(
|
||||
GetCurrentContext()
|
||||
, name
|
||||
diff --git a/test/js/accessors-test.js b/test/js/accessors-test.js
|
||||
index e6ad45737e2ac18da3fa936b1de618e7389933bc..025f5b66774c2f5fe0ccb98c91fc714dd916fcb1 100644
|
||||
--- a/test/js/accessors-test.js
|
||||
+++ b/test/js/accessors-test.js
|
||||
@@ -11,7 +11,7 @@ const test = require('tap').test
|
||||
, bindings = require('bindings')({ module_root: testRoot, bindings: 'accessors' });
|
||||
|
||||
test('accessors', function (t) {
|
||||
- t.plan(7)
|
||||
+ t.plan(6)
|
||||
var settergetter = bindings.create()
|
||||
t.equal(settergetter.prop1, 'this is property 1')
|
||||
t.ok(settergetter.prop2 === '')
|
||||
@@ -28,5 +28,4 @@ test('accessors', function (t) {
|
||||
t.equal(derived.prop1, 'this is property 1')
|
||||
derived.prop2 = 'setting a new value'
|
||||
t.equal(derived.prop2, 'setting a new value')
|
||||
- t.equal(settergetter.prop2, 'setting a new value')
|
||||
})
|
|
@ -7,10 +7,10 @@ Refs https://chromium-review.googlesource.com/c/v8/v8/+/5403708
|
|||
Should be upstreamed.
|
||||
|
||||
diff --git a/nan.h b/nan.h
|
||||
index 2be1b4f573948024f5777fc6801126b3e799ef11..64f857c93818712ea3557f53ab4f3cad6813c43c 100644
|
||||
index 2a68349448c163fa29af327a03b11678e61f5789..42285328055ddb7c76548258f3c4847d2c278ad6 100644
|
||||
--- a/nan.h
|
||||
+++ b/nan.h
|
||||
@@ -204,9 +204,11 @@ typedef v8::String::ExternalOneByteStringResource
|
||||
@@ -203,9 +203,11 @@ typedef v8::String::ExternalOneByteStringResource
|
||||
template<typename T>
|
||||
class NonCopyablePersistentTraits :
|
||||
public v8::NonCopyablePersistentTraits<T> {};
|
||||
|
|
|
@ -0,0 +1,220 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Attard <marshallofsound@electronjs.org>
|
||||
Date: Fri, 28 Jun 2024 11:45:44 -0700
|
||||
Subject: fix: support new variant of NamedPropertyHandlerConfiguration and
|
||||
IndexedPropertyHandlerConfiguration
|
||||
|
||||
Ref: https://chromium-review.googlesource.com/c/v8/v8/+/5630388
|
||||
|
||||
This should be upstreamed, the reinterpret_cast is funky but works, but require more review when upstreaming.
|
||||
|
||||
diff --git a/nan_callbacks_12_inl.h b/nan_callbacks_12_inl.h
|
||||
index bbcde4d65dec73139fee53339f154babd8f83b28..1af2459efcf54fa97ff24aaa221892eede6eb0d3 100644
|
||||
--- a/nan_callbacks_12_inl.h
|
||||
+++ b/nan_callbacks_12_inl.h
|
||||
@@ -255,7 +255,98 @@ typedef void (*NativeSetter)(
|
||||
, const v8::PropertyCallbackInfo<void> &);
|
||||
#endif
|
||||
|
||||
-#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION
|
||||
+#if NODE_MODULE_VERSION > NODE_21_0_MODULE_VERSION
|
||||
+static
|
||||
+v8::Intercepted PropertyGetterCallbackWrapper(
|
||||
+ v8::Local<v8::Name> property
|
||||
+ , const v8::PropertyCallbackInfo<v8::Value> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<v8::Value>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ PropertyGetterCallback callback = reinterpret_cast<PropertyGetterCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kPropertyGetterIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(property.As<v8::String>(), cbinfo);
|
||||
+ return v8::Intercepted::kYes;
|
||||
+}
|
||||
+
|
||||
+typedef v8::Intercepted (*NativePropertyGetter)
|
||||
+ (v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &);
|
||||
+
|
||||
+static
|
||||
+v8::Intercepted PropertySetterCallbackWrapper(
|
||||
+ v8::Local<v8::Name> property
|
||||
+ , v8::Local<v8::Value> value
|
||||
+ , const v8::PropertyCallbackInfo<void> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<void>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ PropertySetterCallback callback = reinterpret_cast<PropertySetterCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kPropertySetterIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(property.As<v8::String>(), value, *reinterpret_cast<PropertyCallbackInfo<v8::Value>*>(&cbinfo));
|
||||
+ return v8::Intercepted::kYes;
|
||||
+}
|
||||
+
|
||||
+typedef v8::Intercepted (*NativePropertySetter)(
|
||||
+ v8::Local<v8::Name>
|
||||
+ , v8::Local<v8::Value>
|
||||
+ , const v8::PropertyCallbackInfo<void> &);
|
||||
+
|
||||
+static
|
||||
+void PropertyEnumeratorCallbackWrapper(
|
||||
+ const v8::PropertyCallbackInfo<v8::Array> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<v8::Array>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ PropertyEnumeratorCallback callback =
|
||||
+ reinterpret_cast<PropertyEnumeratorCallback>(reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kPropertyEnumeratorIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(cbinfo);
|
||||
+}
|
||||
+
|
||||
+typedef void (*NativePropertyEnumerator)
|
||||
+ (const v8::PropertyCallbackInfo<v8::Array> &);
|
||||
+
|
||||
+static
|
||||
+v8::Intercepted PropertyDeleterCallbackWrapper(
|
||||
+ v8::Local<v8::Name> property
|
||||
+ , const v8::PropertyCallbackInfo<v8::Boolean> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<v8::Boolean>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ PropertyDeleterCallback callback = reinterpret_cast<PropertyDeleterCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kPropertyDeleterIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(property.As<v8::String>(), cbinfo);
|
||||
+ return v8::Intercepted::kYes;
|
||||
+}
|
||||
+
|
||||
+typedef v8::Intercepted (NativePropertyDeleter)
|
||||
+ (v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Boolean> &);
|
||||
+
|
||||
+static
|
||||
+v8::Intercepted PropertyQueryCallbackWrapper(
|
||||
+ v8::Local<v8::Name> property
|
||||
+ , const v8::PropertyCallbackInfo<v8::Integer> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<v8::Integer>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ PropertyQueryCallback callback = reinterpret_cast<PropertyQueryCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kPropertyQueryIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(property.As<v8::String>(), cbinfo);
|
||||
+ return v8::Intercepted::kYes;
|
||||
+}
|
||||
+
|
||||
+typedef v8::Intercepted (*NativePropertyQuery)
|
||||
+ (v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Integer> &);
|
||||
+#elif NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION
|
||||
static
|
||||
void PropertyGetterCallbackWrapper(
|
||||
v8::Local<v8::Name> property
|
||||
@@ -431,6 +522,96 @@ typedef void (*NativePropertyQuery)
|
||||
(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Integer> &);
|
||||
#endif
|
||||
|
||||
+#if NODE_MODULE_VERSION > NODE_21_0_MODULE_VERSION
|
||||
+static
|
||||
+v8::Intercepted IndexGetterCallbackWrapper(
|
||||
+ uint32_t index, const v8::PropertyCallbackInfo<v8::Value> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<v8::Value>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ IndexGetterCallback callback = reinterpret_cast<IndexGetterCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kIndexPropertyGetterIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(index, cbinfo);
|
||||
+ return v8::Intercepted::kYes;
|
||||
+}
|
||||
+
|
||||
+typedef v8::Intercepted (*NativeIndexGetter)
|
||||
+ (uint32_t, const v8::PropertyCallbackInfo<v8::Value> &);
|
||||
+
|
||||
+static
|
||||
+v8::Intercepted IndexSetterCallbackWrapper(
|
||||
+ uint32_t index
|
||||
+ , v8::Local<v8::Value> value
|
||||
+ , const v8::PropertyCallbackInfo<void> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<void>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ IndexSetterCallback callback = reinterpret_cast<IndexSetterCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kIndexPropertySetterIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(index, value, *reinterpret_cast<PropertyCallbackInfo<v8::Value>*>(&cbinfo));
|
||||
+ return v8::Intercepted::kYes;
|
||||
+}
|
||||
+
|
||||
+typedef v8::Intercepted (*NativeIndexSetter)(
|
||||
+ uint32_t
|
||||
+ , v8::Local<v8::Value>
|
||||
+ , const v8::PropertyCallbackInfo<void> &);
|
||||
+
|
||||
+static
|
||||
+void IndexEnumeratorCallbackWrapper(
|
||||
+ const v8::PropertyCallbackInfo<v8::Array> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<v8::Array>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ IndexEnumeratorCallback callback = reinterpret_cast<IndexEnumeratorCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(
|
||||
+ kIndexPropertyEnumeratorIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(cbinfo);
|
||||
+}
|
||||
+
|
||||
+typedef void (*NativeIndexEnumerator)
|
||||
+ (const v8::PropertyCallbackInfo<v8::Array> &);
|
||||
+
|
||||
+static
|
||||
+v8::Intercepted IndexDeleterCallbackWrapper(
|
||||
+ uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<v8::Boolean>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ IndexDeleterCallback callback = reinterpret_cast<IndexDeleterCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kIndexPropertyDeleterIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(index, cbinfo);
|
||||
+ return v8::Intercepted::kYes;
|
||||
+}
|
||||
+
|
||||
+typedef v8::Intercepted (*NativeIndexDeleter)
|
||||
+ (uint32_t, const v8::PropertyCallbackInfo<v8::Boolean> &);
|
||||
+
|
||||
+static
|
||||
+v8::Intercepted IndexQueryCallbackWrapper(
|
||||
+ uint32_t index, const v8::PropertyCallbackInfo<v8::Integer> &info) {
|
||||
+ v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
|
||||
+ PropertyCallbackInfo<v8::Integer>
|
||||
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
+ IndexQueryCallback callback = reinterpret_cast<IndexQueryCallback>(
|
||||
+ reinterpret_cast<intptr_t>(
|
||||
+ obj->GetInternalField(kIndexPropertyQueryIndex)
|
||||
+ .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ callback(index, cbinfo);
|
||||
+ return v8::Intercepted::kYes;
|
||||
+}
|
||||
+
|
||||
+typedef v8::Intercepted (*NativeIndexQuery)
|
||||
+ (uint32_t, const v8::PropertyCallbackInfo<v8::Integer> &);
|
||||
+#else
|
||||
static
|
||||
void IndexGetterCallbackWrapper(
|
||||
uint32_t index, const v8::PropertyCallbackInfo<v8::Value> &info) {
|
||||
@@ -515,6 +696,8 @@ void IndexQueryCallbackWrapper(
|
||||
|
||||
typedef void (*NativeIndexQuery)
|
||||
(uint32_t, const v8::PropertyCallbackInfo<v8::Integer> &);
|
||||
+#endif
|
||||
+
|
||||
} // end of namespace imp
|
||||
|
||||
#endif // NAN_CALLBACKS_12_INL_H_
|
|
@ -8,10 +8,10 @@ See https://chromium-review.googlesource.com/c/v8/v8/+/5539852
|
|||
Also https://github.com/nodejs/nan/issues/953#issuecomment-1791163429
|
||||
|
||||
diff --git a/nan.h b/nan.h
|
||||
index 64f857c93818712ea3557f53ab4f3cad6813c43c..6a405a6fb6f89dcb2140de48dac4ce743e9f10fa 100644
|
||||
index 42285328055ddb7c76548258f3c4847d2c278ad6..9a9112afe0cc94ce58ed3cce9763ace7c160a932 100644
|
||||
--- a/nan.h
|
||||
+++ b/nan.h
|
||||
@@ -685,7 +685,13 @@ inline uv_loop_t* GetCurrentEventLoop() {
|
||||
@@ -684,7 +684,13 @@ inline uv_loop_t* GetCurrentEventLoop() {
|
||||
v8::Isolate::GetCurrent()->SetAddHistogramSampleFunction(cb);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue