![electron-roller[bot]](/assets/img/avatar_default.png)
* chore: bump chromium in DEPS to 136.0.7076.0 * chore: bump chromium in DEPS to 136.0.7077.0 * 6368856: Migrate absl variant.h and utility.h in content (part 2/2) |6368856
* 6356528: Clean up LegacyRenderWidgetHostHWND code |6356528
* chore: export patches * 6339113: [Viewport Segments] Add CDP commands to override Viewport Segments without overriding other device properties. |6339113
* 6352169: [DevTools][MultiInstance] Support new tab in another window on Android |6352169
* 6368856: Migrate absl variant.h and utility.h in content (part 2/2) |6368856
* 6360858:Clickiness: Wire response from URLLoader to DB, add e2e tests|6360858
* chore: bump chromium in DEPS to 136.0.7079.0 * chore: export patches * chore: bump chromium in DEPS to 136.0.7081.0 * chore: export patches * chore: bump chromium in DEPS to 136.0.7083.0 * 6361987: Remove double-declaration with gfx::NativeView and gfx::NativeWindow |6361987
* chore: export patches * chore: bump chromium in DEPS to 136.0.7087.0 * chore: export patches * fix: include node patch for missing AtomicsWaitEvent6385540
* build: add depot_tools python to path * fix: cppgc init and unregistering v8 isolate6333562
CppGc is now initialized earlier so Node can skip reinitializing it. Additionally, gin::IsolateHandle was attempting to destruct an already destructed v8::Isolate upon electron::JavaScriptEnvironment destruction. By removing the call to NodePlatform::UnregisterIsolate, this fixes the crash on app shutdown. * fix: unregister isolate after destruction See code comment. * chore: bump chromium in DEPS to 136.0.7095.0 * chore: sync patches * fix: add script_parsing::ContentScriptType parameter6298395
* fix: migrate content::BrowserAccessibilityState methods6401437
6383275
* feat: enableHappyEyeballs option for host resolver6332599
* fix: add new cookie exclusion reason6343479
* fix: add new url loader method6337340
* fix: add new cppgc header file for electron_node headers6348644
* fix: disable CREL on Linux ARM64 https://chromium-review.googlesource.com/q/I3a62f02f564f07be63173b0773b4ecaffbe939b9 * fixup! fix: add new cppgc header file for electron_node headers6348644
* chore: update corner smoothing patch * fixup! chore: update corner smoothing patch * chore: disable NAN weak tests These two tests are incompatible with a V8 change that disallows running JS code from a weak finalizer callback. Ref:4733273
* test: fix task starvation in node test A V8 change makes these contexts get collected in a task that is posted and run asynchronously. The tests were synchronously GC'ing in an infinite loop, preventing the task loop from running the task that would GC these contexts. This change should be upstreamed in some way. Ref:4733273
--------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: alice <alice@makenotion.com> Co-authored-by: Samuel Maddock <smaddock@slack-corp.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: clavin <clavin@electronjs.org>
80 lines
4.1 KiB
Diff
80 lines
4.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Cheng Zhao <zcbenz@gmail.com>
|
|
Date: Thu, 20 Sep 2018 17:47:44 -0700
|
|
Subject: gin_enable_disable_v8_platform.patch
|
|
|
|
We don't use gin to create the V8 platform, because we need to inject Node
|
|
things.
|
|
|
|
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
|
index b3416c90c9071d8d32d30ecf257b64f133b2ae07..8632f1c18b407bb7832900bcebadacb3707224ac 100644
|
|
--- a/gin/isolate_holder.cc
|
|
+++ b/gin/isolate_holder.cc
|
|
@@ -162,11 +162,13 @@ void IsolateHolder::Initialize(ScriptMode mode,
|
|
std::string js_command_line_flags,
|
|
bool disallow_v8_feature_flag_overrides,
|
|
v8::FatalErrorCallback fatal_error_callback,
|
|
- v8::OOMErrorCallback oom_error_callback) {
|
|
+ v8::OOMErrorCallback oom_error_callback,
|
|
+ bool create_v8_platform) {
|
|
CHECK(allocator);
|
|
V8Initializer::Initialize(mode, js_command_line_flags,
|
|
disallow_v8_feature_flag_overrides,
|
|
- oom_error_callback);
|
|
+ oom_error_callback,
|
|
+ create_v8_platform);
|
|
g_array_buffer_allocator = allocator;
|
|
g_reference_table = reference_table;
|
|
g_fatal_error_callback = fatal_error_callback;
|
|
diff --git a/gin/public/isolate_holder.h b/gin/public/isolate_holder.h
|
|
index ff42cfbb6a228e902317c7e3ab035d8437d5dd62..e27f177ce27e177abf6cee84cd466e7a8a829ee7 100644
|
|
--- a/gin/public/isolate_holder.h
|
|
+++ b/gin/public/isolate_holder.h
|
|
@@ -119,7 +119,8 @@ class GIN_EXPORT IsolateHolder {
|
|
std::string js_command_line_flags = {},
|
|
bool disallow_v8_feature_flag_overrides = false,
|
|
v8::FatalErrorCallback fatal_error_callback = nullptr,
|
|
- v8::OOMErrorCallback oom_error_callback = nullptr);
|
|
+ v8::OOMErrorCallback oom_error_callback = nullptr,
|
|
+ bool create_v8_platform = true);
|
|
|
|
// Returns whether `Initialize` has already been invoked in the process.
|
|
// Initialization is a one-way operation (i.e., this method cannot return
|
|
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
|
|
index 69ab1ef4d2a386126009036d4517c69dcaf9a33a..11cafc3e1588cce52b76cc2f09f66b3e451fb087 100644
|
|
--- a/gin/v8_initializer.cc
|
|
+++ b/gin/v8_initializer.cc
|
|
@@ -543,7 +543,8 @@ void SetFeatureFlags() {
|
|
void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
|
|
const std::string& js_command_line_flags,
|
|
bool disallow_v8_feature_flag_overrides,
|
|
- v8::OOMErrorCallback oom_error_callback) {
|
|
+ v8::OOMErrorCallback oom_error_callback,
|
|
+ bool create_v8_platform) {
|
|
static bool v8_is_initialized = false;
|
|
if (v8_is_initialized)
|
|
return;
|
|
@@ -558,7 +559,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
|
|
}
|
|
SetFlags(mode, js_command_line_flags);
|
|
|
|
- v8::V8::InitializePlatform(V8Platform::Get());
|
|
+ if (create_v8_platform)
|
|
+ v8::V8::InitializePlatform(V8Platform::Get());
|
|
|
|
// Set this as early as possible in order to ensure OOM errors are reported
|
|
// correctly.
|
|
diff --git a/gin/v8_initializer.h b/gin/v8_initializer.h
|
|
index 1341b77198431e1c426bff043bdb2bbcf202c8ca..ec64afd9dd91b292604ca834a91b9cfbd52eb853 100644
|
|
--- a/gin/v8_initializer.h
|
|
+++ b/gin/v8_initializer.h
|
|
@@ -32,7 +32,8 @@ class GIN_EXPORT V8Initializer {
|
|
static void Initialize(IsolateHolder::ScriptMode mode,
|
|
const std::string& js_command_line_flags,
|
|
bool disallow_v8_feature_flag_overrides,
|
|
- v8::OOMErrorCallback oom_error_callback);
|
|
+ v8::OOMErrorCallback oom_error_callback,
|
|
+ bool create_v8_platform = true);
|
|
|
|
// Get address and size information for currently loaded snapshot.
|
|
// If no snapshot is loaded, the return values are null for addresses
|