cfc0826b65
* chore: bump chromium in DEPS to 117.0.5899.0 * 4686653: webui: Filter out non-chrome scheme URLs in WebUIConfigMap https://chromium-review.googlesource.com/c/chromium/src/+/4686653 * 4696355: Remove deprecated version of base::CommandLine::CopySwitchesFrom() https://chromium-review.googlesource.com/c/chromium/src/+/4696355 * chore: fixup patch indices * 4603888: Reland "Enable raw_ref check on linux" https://chromium-review.googlesource.com/c/chromium/src/+/4603888 * chore: bump chromium in DEPS to 117.0.5901.0 * chore: update patches * chore: bump chromium in DEPS to 117.0.5903.0 * chore: bump chromium in DEPS to 117.0.5903.2 * chore: bump chromium in DEPS to 117.0.5905.0 * 4706792: Printing: Add debug code for a DispatchBeforePrintEvent() failure https://chromium-review.googlesource.com/c/chromium/src/+/4706792 * 4704786: Refactor libunwind build rules/flags https://chromium-review.googlesource.com/c/chromium/src/+/4704786 * 4701710: [Linux Ui] Set toolkit dark preference based on FDO dark preference https://chromium-review.googlesource.com/c/chromium/src/+/4701710 * chore: fixup patch indices * chore: bump chromium in DEPS to 117.0.5907.0 * chore: bump chromium in DEPS to 117.0.5909.2 * chore: update patches * chore: bump chromium in DEPS to 117.0.5911.0 * chore: update patches * chore: build-what-we-include * fix: set allowFileAccess on devtools extensions correctly Ref: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4714725 * 4670615: Reland "[iterator-helpers] Shipping iterator helpers" https://chromium-review.googlesource.com/c/v8/v8/+/4670615 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Samuel Attard <marshallofsound@electronjs.org>
80 lines
3.8 KiB
Diff
80 lines
3.8 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 6268851494a0bbc0b3e693782dae6171f6347657..87ae3db7aec96577856804aa3718e53e3ccf66d3 100644
|
|
--- a/gin/isolate_holder.cc
|
|
+++ b/gin/isolate_holder.cc
|
|
@@ -72,7 +72,8 @@ IsolateHolder::IsolateHolder(
|
|
IsolateType isolate_type,
|
|
IsolateCreationMode isolate_creation_mode,
|
|
v8::CreateHistogramCallback create_histogram_callback,
|
|
- v8::AddHistogramSampleCallback add_histogram_sample_callback)
|
|
+ v8::AddHistogramSampleCallback add_histogram_sample_callback,
|
|
+ v8::Isolate* isolate)
|
|
: IsolateHolder(task_runner,
|
|
access_mode,
|
|
isolate_type,
|
|
@@ -80,14 +81,16 @@ IsolateHolder::IsolateHolder(
|
|
atomics_wait_mode,
|
|
create_histogram_callback,
|
|
add_histogram_sample_callback),
|
|
- isolate_creation_mode) {}
|
|
+ isolate_creation_mode,
|
|
+ isolate) {}
|
|
|
|
IsolateHolder::IsolateHolder(
|
|
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
|
AccessMode access_mode,
|
|
IsolateType isolate_type,
|
|
std::unique_ptr<v8::Isolate::CreateParams> params,
|
|
- IsolateCreationMode isolate_creation_mode)
|
|
+ IsolateCreationMode isolate_creation_mode,
|
|
+ v8::Isolate* isolate)
|
|
: access_mode_(access_mode), isolate_type_(isolate_type) {
|
|
CHECK(Initialized())
|
|
<< "You need to invoke gin::IsolateHolder::Initialize first";
|
|
@@ -98,7 +101,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);
|
|
// TODO(https://crbug.com/1347092): Refactor such that caller need not
|
|
diff --git a/gin/public/isolate_holder.h b/gin/public/isolate_holder.h
|
|
index 12ddcc30397a02df78727f16a02b8e81fd1d9c8e..6629c29328354c911679fc6bb2af982611ecce10 100644
|
|
--- a/gin/public/isolate_holder.h
|
|
+++ b/gin/public/isolate_holder.h
|
|
@@ -83,13 +83,15 @@ class GIN_EXPORT IsolateHolder {
|
|
IsolateType isolate_type,
|
|
IsolateCreationMode isolate_creation_mode = IsolateCreationMode::kNormal,
|
|
v8::CreateHistogramCallback create_histogram_callback = nullptr,
|
|
- v8::AddHistogramSampleCallback add_histogram_sample_callback = nullptr);
|
|
+ v8::AddHistogramSampleCallback add_histogram_sample_callback = nullptr,
|
|
+ v8::Isolate* isolate = nullptr);
|
|
IsolateHolder(
|
|
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
|
AccessMode access_mode,
|
|
IsolateType isolate_type,
|
|
std::unique_ptr<v8::Isolate::CreateParams> params,
|
|
- IsolateCreationMode isolate_creation_mode = IsolateCreationMode::kNormal);
|
|
+ IsolateCreationMode isolate_creation_mode = IsolateCreationMode::kNormal,
|
|
+ v8::Isolate* isolate = nullptr);
|
|
IsolateHolder(const IsolateHolder&) = delete;
|
|
IsolateHolder& operator=(const IsolateHolder&) = delete;
|
|
~IsolateHolder();
|