mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
* chore: bump chromium in DEPS to 147.0.7727.2 * chore: bump chromium in DEPS to 148.0.7728.0 * chore: bump chromium in DEPS to 148.0.7729.0 * chore: bump chromium in DEPS to 148.0.7730.0 * chore: bump chromium in DEPS to 148.0.7732.0 * chore: update WrappablePointerTag patch Refs https://chromium-review.googlesource.com/c/chromium/src/+/7641766 * chore: update custom protocol patch for removed code Refs https://chromium-review.googlesource.com/c/chromium/src/+/7653454 * chore: update patches * fix: cleanup removed CHILD_PLUGIN code Refs https://chromium-review.googlesource.com/c/chromium/src/+/7653455 * fix: move from int to ChildProcessId Refs https://chromium-review.googlesource.com/c/chromium/src/+/7621912 * fix: update extensions CreateTab signature Refs https://chromium-review.googlesource.com/c/chromium/src/+/7644389 * fix: draggable hit region test interface update for mac windows Refs https://chromium-review.googlesource.com/c/chromium/src/+/7655245 * chore: bump chromium in DEPS to 148.0.7733.0 * feat: restore macos child plugin process Refs https://chromium-review.googlesource.com/c/chromium/src/+/7653455 * fixup! chore: merge main * chore: update patches * fix: replace clipboard IsFormatAvailable with async GetAllAvailableFormats Refs https://chromium-review.googlesource.com/c/chromium/src/+/7631097 Async API pending RFC https://github.com/electron/rfcs/pull/19 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Samuel Maddock <samuelmaddock@electronjs.org>
69 lines
3.0 KiB
Diff
69 lines
3.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Maddock <smaddock@slack-corp.com>
|
|
Date: Fri, 13 Mar 2026 15:35:48 -0400
|
|
Subject: feat: restore macos child plugin process
|
|
|
|
Chromium has removed upstream support for child plugin processes
|
|
without library validation; see https://crbug.com/461717105.
|
|
|
|
This patch partially reverts
|
|
https://chromium-review.googlesource.com/c/chromium/src/+/7653455
|
|
|
|
diff --git a/content/browser/child_process_host_impl.cc b/content/browser/child_process_host_impl.cc
|
|
index efd3d6686fa2b3ca121e63ac674fed2d57e82c0c..645434ac6a872bf3f67dd1edd987c19fbb4b0ef6 100644
|
|
--- a/content/browser/child_process_host_impl.cc
|
|
+++ b/content/browser/child_process_host_impl.cc
|
|
@@ -87,6 +87,8 @@ base::FilePath ChildProcessHost::GetChildPath(int flags) {
|
|
child_base_name += kMacHelperSuffix_renderer;
|
|
} else if (flags == CHILD_GPU) {
|
|
child_base_name += kMacHelperSuffix_gpu;
|
|
+ } else if (flags == CHILD_PLUGIN) {
|
|
+ child_base_name += kMacHelperSuffix_plugin;
|
|
} else if (flags > CHILD_EMBEDDER_FIRST) {
|
|
child_base_name +=
|
|
GetContentClient()->browser()->GetChildProcessSuffix(flags);
|
|
diff --git a/content/public/app/mac_helpers.gni b/content/public/app/mac_helpers.gni
|
|
index d9588d963684354e9564ccce5a8f8371c144a58e..027158994bb7207125ca819f9f226b9fb691037a 100644
|
|
--- a/content/public/app/mac_helpers.gni
|
|
+++ b/content/public/app/mac_helpers.gni
|
|
@@ -45,4 +45,16 @@ content_mac_helpers = [
|
|
"",
|
|
" (GPU)",
|
|
],
|
|
+
|
|
+ # A helper that does not perform library validation, allowing code not signed
|
|
+ # by either Apple or the signing identity to be loaded, and that can execute
|
|
+ # unsigned memory.
|
|
+ #
|
|
+ # This was removed upstream and is now maintained for Electron; see
|
|
+ # https://crbug.com/461717105.
|
|
+ [
|
|
+ "plugin",
|
|
+ ".plugin",
|
|
+ " (Plugin)",
|
|
+ ],
|
|
]
|
|
diff --git a/content/public/browser/child_process_host.h b/content/public/browser/child_process_host.h
|
|
index 2028deaf624bbfc75b2fa563298f3f4f65b1d65f..5ee19fbca0a73bb81273d162b2c304427b1b85cb 100644
|
|
--- a/content/public/browser/child_process_host.h
|
|
+++ b/content/public/browser/child_process_host.h
|
|
@@ -97,6 +97,18 @@ class CONTENT_EXPORT ChildProcessHost {
|
|
// allow-jit entitlement instead.
|
|
CHILD_GPU,
|
|
|
|
+ // Starts a child process with the macOS entitlement that ignores the
|
|
+ // library validation code signing enforcement.
|
|
+ //
|
|
+ // Library validation mandates that all executable pages be backed by a code
|
|
+ // signature of either 1) Apple, or 2) the same Team ID as the main
|
|
+ // executable. Third-party plug-ins are not signed by the same Team ID as
|
|
+ // the main binary, so this flag must be used when loading them.
|
|
+ //
|
|
+ // This was removed upstream and is now maintained for Electron; see
|
|
+ // https://crbug.com/461717105.
|
|
+ CHILD_PLUGIN,
|
|
+
|
|
// Marker for the start of embedder-specific helper child process types.
|
|
// Values greater than CHILD_EMBEDDER_FIRST are reserved to be used by the
|
|
// embedder to add custom process types and will be resolved via
|