![electron-roller[bot]](/assets/img/avatar_default.png)
* chore: bump chromium in DEPS to 141.0.7352.0 * chore: update patches * 6830573: Revert 'Migrate WrappableWithNamedPropertyInterceptor to gin::Wrappable' | https://chromium-review.googlesource.com/c/chromium/src/+/6830573 * chore: bump chromium in DEPS to 141.0.7354.0 * chore: bump chromium in DEPS to 141.0.7356.0 * chore: bump chromium in DEPS to 141.0.7357.0 * chore: bump chromium in DEPS to 141.0.7359.0 * chore: bump chromium in DEPS to 141.0.7361.0 * 6838518: [Mac] Correctly deallocate sandbox error buffers and prevent crash resulting from nullptr assignment | https://chromium-review.googlesource.com/c/chromium/src/+/6838518 * 6850973: Reland "Use base::ByteCount in base::SysInfo." | https://chromium-review.googlesource.com/c/chromium/src/+/6850973 * 6506565: [FPF-CI] Create initial NoiseHash in the browser. | https://chromium-review.googlesource.com/c/chromium/src/+/6506565 * chore: update patches * fixup! 6850973: Reland "Use base::ByteCount in base::SysInfo." | https://chromium-review.googlesource.com/c/chromium/src/+/6850973 * fixup! 6506565: [FPF-CI] Create initial NoiseHash in the browser. | https://chromium-review.googlesource.com/c/chromium/src/+/6506565 * fix: unsafe buffer warning in fix_properly_honor_printing_page_ranges.patch * fix: FTBFS in src_remove_dependency_on_wrapper-descriptor-based_cppheap.patch This change should be upstreamed. Fixes this error: ../../third_party/electron_node/src/env.cc:606:3: error: no matching function for call to 'Wrap' 606 | v8::Object::Wrap<v8::CppHeapPointerTag::kDefaultTag>( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../v8/include/v8-object.h:1076:14: note: candidate function template not viable: cannot convert argument of incomplete type 'void *' to 'v8::Object::Wrappable *' for 3rd argument 1076 | void Object::Wrap(v8::Isolate* isolate, const v8::Local<v8::Object>& wrapper, | ^ 1077 | v8::Object::Wrappable* wrappable) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../v8/include/v8-object.h:1084:14: note: candidate function template not viable: no known conversion from 'Local<Object>' to 'const PersistentBase<Object>' for 2nd argument 1084 | void Object::Wrap(v8::Isolate* isolate, const PersistentBase<Object>& wrapper, | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../v8/include/v8-object.h:1093:14: note: candidate function template not viable: no known conversion from 'Local<Object>' to 'const BasicTracedReference<Object>' for 2nd argument 1093 | void Object::Wrap(v8::Isolate* isolate, | ^ 1094 | const BasicTracedReference<Object>& wrapper, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. * [v8-init] Access crash key only from main thread | https://chromium-review.googlesource.com/c/chromium/src/+/6827167 * chore: e patches all * chore: remove chore_restore_some_deprecated_wrapper_utility_in_gin.patch from patches this remove line got re-added when rebasing roller/chromium/main * chore: e patches all * fix: include base/time/time.h when using base::Time * chore: update patches * Make --host-rules an alias for --host-resolver-rules. Refs https://chromium-review.googlesource.com/c/chromium/src/+/4867872 * ci: update BUILD_TOOLS_SHA Refs https://github.com/electron/build-tools/pull/746 * [Fontations] Remove Fontations suffix from font names Refs https://chromium-review.googlesource.com/c/chromium/src/+/6835930 * temp: debug macOS addon build failure * Revert "temp: debug macOS addon build failure" This reverts commit 40bc8abab65dc83e17c4ab97cb6e7522a193fb44. * test: run tests with Xcode 16.4 * ci: fix tccdb update for macOS 15 * spec: disable opening external application for loadURL on macOS opening unknown external application will bring up dialog to choose apps from application store which will break our other test suites that want to capture screen for pixel matching. The loadURL spec that tests bad-scheme://foo is sufficient that we hit the permission handler for openExternal since at that point we already know the runtime gave up on handling the scheme. * chore: rebase patches * chore: disable codesiging tests * ci: update ScreenCaptureApprovals.plist for /bin/bash * ci: try updating tcc permissions * ci: update TCC permissions Refs https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive * chore: test with 1st quadrant of the window * chore: adjust for macOS 15 menubar height --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: Keeley Hammond <vertedinde@electronjs.org> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
83 lines
3.9 KiB
Diff
83 lines
3.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Attard <samuel.r.attard@gmail.com>
|
|
Date: Thu, 18 Oct 2018 17:07:27 -0700
|
|
Subject: isolate_holder.patch
|
|
|
|
Pass pre allocated isolate for initialization, node platform
|
|
needs to register on an isolate so that it can be used later
|
|
down in the initialization process of an isolate.
|
|
|
|
Specifically, v8::Isolate::Initialize ends up calling
|
|
NodePlatform::GetForegroundTaskRunner, which requires that the
|
|
isolate has previously been registered with NodePlatform::RegisterIsolate.
|
|
However, if we let gin allocate the isolate, there's no opportunity
|
|
for us to register the isolate in between Isolate::Allocate and
|
|
Isolate::Initialize.
|
|
|
|
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
|
index ab574fd81bc08e109123f07f095d26e19504baa0..656267caef2d515f8c3f77535b308108a0b30be1 100644
|
|
--- a/gin/isolate_holder.cc
|
|
+++ b/gin/isolate_holder.cc
|
|
@@ -81,7 +81,8 @@ IsolateHolder::IsolateHolder(
|
|
v8::AddHistogramSampleCallback add_histogram_sample_callback,
|
|
scoped_refptr<base::SingleThreadTaskRunner> user_visible_task_runner,
|
|
scoped_refptr<base::SingleThreadTaskRunner> best_effort_task_runner,
|
|
- std::unique_ptr<v8::CppHeap> cpp_heap)
|
|
+ std::unique_ptr<v8::CppHeap> cpp_heap,
|
|
+ v8::Isolate* isolate)
|
|
: IsolateHolder(std::move(task_runner),
|
|
access_mode,
|
|
isolate_type,
|
|
@@ -92,7 +93,8 @@ IsolateHolder::IsolateHolder(
|
|
std::move(cpp_heap)),
|
|
isolate_creation_mode,
|
|
std::move(user_visible_task_runner),
|
|
- std::move(best_effort_task_runner)) {}
|
|
+ std::move(best_effort_task_runner),
|
|
+ isolate) {}
|
|
|
|
IsolateHolder::IsolateHolder(
|
|
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
|
@@ -101,7 +103,8 @@ IsolateHolder::IsolateHolder(
|
|
std::unique_ptr<v8::Isolate::CreateParams> params,
|
|
IsolateCreationMode isolate_creation_mode,
|
|
scoped_refptr<base::SingleThreadTaskRunner> user_visible_task_runner,
|
|
- scoped_refptr<base::SingleThreadTaskRunner> best_effort_task_runner)
|
|
+ scoped_refptr<base::SingleThreadTaskRunner> best_effort_task_runner,
|
|
+ v8::Isolate* isolate)
|
|
: access_mode_(access_mode), isolate_type_(isolate_type) {
|
|
CHECK(Initialized())
|
|
<< "You need to invoke gin::IsolateHolder::Initialize first";
|
|
@@ -112,7 +115,7 @@ IsolateHolder::IsolateHolder(
|
|
v8::ArrayBuffer::Allocator* allocator = params->array_buffer_allocator;
|
|
DCHECK(allocator);
|
|
|
|
- isolate_ = v8::Isolate::Allocate();
|
|
+ isolate_ = isolate ? isolate : v8::Isolate::Allocate();
|
|
isolate_data_ = std::make_unique<PerIsolateData>(
|
|
isolate_, allocator, access_mode_, task_runner,
|
|
std::move(user_visible_task_runner), std::move(best_effort_task_runner));
|
|
diff --git a/gin/public/isolate_holder.h b/gin/public/isolate_holder.h
|
|
index e27f177ce27e177abf6cee84cd466e7a8a829ee7..dc3a5b0678b9c686e241b492e2c3b5ac833611a3 100644
|
|
--- a/gin/public/isolate_holder.h
|
|
+++ b/gin/public/isolate_holder.h
|
|
@@ -88,7 +88,8 @@ class GIN_EXPORT IsolateHolder {
|
|
nullptr,
|
|
scoped_refptr<base::SingleThreadTaskRunner> best_effort_task_runner =
|
|
nullptr,
|
|
- std::unique_ptr<v8::CppHeap> cpp_heap = {});
|
|
+ std::unique_ptr<v8::CppHeap> cpp_heap = {},
|
|
+ v8::Isolate* isolate = nullptr);
|
|
IsolateHolder(
|
|
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
|
AccessMode access_mode,
|
|
@@ -98,7 +99,8 @@ class GIN_EXPORT IsolateHolder {
|
|
scoped_refptr<base::SingleThreadTaskRunner> user_visible_task_runner =
|
|
nullptr,
|
|
scoped_refptr<base::SingleThreadTaskRunner> best_effort_task_runner =
|
|
- nullptr);
|
|
+ nullptr,
|
|
+ v8::Isolate* isolate = nullptr);
|
|
IsolateHolder(const IsolateHolder&) = delete;
|
|
IsolateHolder& operator=(const IsolateHolder&) = delete;
|
|
~IsolateHolder();
|