5b18cc46bc
* chore: bump chromium in DEPS to 129.0.6623.0
* chore: update mas_avoid_private_macos_api_usage.patch.patch
remove the changes to media/audio/mac/audio_manager_mac.cc,
since upstream has also made this change now.
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5738654
* chore: update fix_disable_scope_reuse_associated_dchecks.patch
We had been removing a couple of `DCHECK`. Upstream changed their
code to limit when these `DCHECK`s get called, so let's see if our
change is still needed.
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5739076
* chore: e patches all
* Bump the Chrome macOS deployment target to 11.0
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5734361
BREAKING CHANGE: Bump the Chrome macOS deployment target to 11.0
* src: stop using deprecated fields of `v8::FastApiCallbackOptions`
Xref: d0000b118d
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5741336
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5741199
* fixup! chore: update fix_disable_scope_reuse_associated_dchecks.patch
chore: re-disable DCHECKs
yep, it is still needed
* refactor use non-deprecated variant of openApplicationAtURL
old version is deprecated now in macOS 11
Xref: https://developer.apple.com/documentation/appkit/nsworkspace/1534810-launchapplicationaturl
Xref: https://developer.apple.com/documentation/appkit/nsworkspace/3172700-openapplicationaturl
* chore: bump chromium in DEPS to 129.0.6626.0
* chore: e patches all
* chore: disable NSUserNotification deprecation errors
* chore: disable NSWindowStyleMaskTexturedBackground deprecation errors
Xref: https://github.com/electron/electron/issues/43125
* chore: disable deprecation errors in platform_util_mac.mm
* chore: disable launchApplication deprecation errors
* chore: bump chromium in DEPS to 129.0.6630.0
* chore: update refactor_expose_file_system_access_blocklist.patch
apply patch manually due to context shear
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5745444
* chore: update deps_add_v8_object_setinternalfieldfornodecore.patch
no manual changes. patch applied with fuzz 1 (offset -5 lines)
* chore: e patches all
* fix: add clang_x64_v8_arm64/snapshot_blob.bin to the zip manifest
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5746173
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
85 lines
4.4 KiB
Diff
85 lines
4.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Cheng Zhao <zcbenz@gmail.com>
|
|
Date: Thu, 20 Sep 2018 17:47:12 -0700
|
|
Subject: worker_context_will_destroy.patch
|
|
|
|
This adds a hook for worker context destruction, which we use in Electron to
|
|
shutdown node integration in the worker if relevant.
|
|
|
|
An attempt to upstream this was made, but rejected:
|
|
https://chromium-review.googlesource.com/c/chromium/src/+/1954347
|
|
|
|
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
|
|
index dd8f6b9a87a0cc5d2b1ba4867a4cc35ab961a3a2..ef247e62733ebe5058803a4c2a8866af300ba16c 100644
|
|
--- a/content/public/renderer/content_renderer_client.h
|
|
+++ b/content/public/renderer/content_renderer_client.h
|
|
@@ -403,6 +403,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
|
virtual void DidInitializeWorkerContextOnWorkerThread(
|
|
v8::Local<v8::Context> context) {}
|
|
|
|
+ // Notifies that a worker context will be destroyed. This function is called
|
|
+ // from the worker thread.
|
|
+ virtual void WillDestroyWorkerContextOnWorkerThread(
|
|
+ v8::Local<v8::Context> context) {}
|
|
+
|
|
// Overwrites the given URL to use an HTML5 embed if possible.
|
|
// An empty URL is returned if the URL is not overriden.
|
|
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
|
|
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
|
index daa231edf4ce1890c0a229142504d860d4da443f..929fc1f3de07bdadb8231818e222f914c08a6d3c 100644
|
|
--- a/content/renderer/renderer_blink_platform_impl.cc
|
|
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
|
@@ -896,6 +896,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
|
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
|
|
}
|
|
|
|
+void RendererBlinkPlatformImpl::WorkerContextWillDestroy(
|
|
+ const v8::Local<v8::Context>& worker) {
|
|
+ GetContentClient()->renderer()->WillDestroyWorkerContextOnWorkerThread(
|
|
+ worker);
|
|
+}
|
|
+
|
|
void RendererBlinkPlatformImpl::WorkerContextCreated(
|
|
const v8::Local<v8::Context>& worker) {
|
|
GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
|
|
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
|
|
index c1db7661ae79709afcb7a686a792ba0bbafdc59b..1a2ef563c5393ba5e1e2f0ae49b152555587d324 100644
|
|
--- a/content/renderer/renderer_blink_platform_impl.h
|
|
+++ b/content/renderer/renderer_blink_platform_impl.h
|
|
@@ -195,6 +195,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
|
void DidStartWorkerThread() override;
|
|
void WillStopWorkerThread() override;
|
|
void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
|
|
+ void WorkerContextWillDestroy(const v8::Local<v8::Context>& worker) override;
|
|
bool AllowScriptExtensionForServiceWorker(
|
|
const blink::WebSecurityOrigin& script_origin) override;
|
|
blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel(
|
|
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
|
|
index 1131374e07a14bfb4297b2034b669c6b5afe27d1..0f6cf25c6203c4c2bf28b9f4536a153427841502 100644
|
|
--- a/third_party/blink/public/platform/platform.h
|
|
+++ b/third_party/blink/public/platform/platform.h
|
|
@@ -664,6 +664,7 @@ class BLINK_PLATFORM_EXPORT Platform {
|
|
virtual void DidStartWorkerThread() {}
|
|
virtual void WillStopWorkerThread() {}
|
|
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
|
|
+ virtual void WorkerContextWillDestroy(const v8::Local<v8::Context>& worker) {}
|
|
virtual bool AllowScriptExtensionForServiceWorker(
|
|
const WebSecurityOrigin& script_origin) {
|
|
return false;
|
|
diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
|
|
index 9866cc85f4d2c9d834538010f8b1ca64efc701b9..5af206ddc527f7d7cf44b6c363d2ede08a36ff55 100644
|
|
--- a/third_party/blink/renderer/core/workers/worker_thread.cc
|
|
+++ b/third_party/blink/renderer/core/workers/worker_thread.cc
|
|
@@ -764,6 +764,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
|
|
}
|
|
pause_handle_.reset();
|
|
|
|
+ {
|
|
+ v8::HandleScope handle_scope(GetIsolate());
|
|
+ Platform::Current()->WorkerContextWillDestroy(
|
|
+ GlobalScope()->ScriptController()->GetContext());
|
|
+ }
|
|
+
|
|
if (WorkerThreadDebugger* debugger = WorkerThreadDebugger::From(GetIsolate()))
|
|
debugger->WorkerThreadDestroyed(this);
|
|
|