Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nodejs-electron for openSUSE:Factory 
checked in at 2023-10-01 21:22:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
 and      /work/SRC/openSUSE:Factory/.nodejs-electron.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nodejs-electron"

Sun Oct  1 21:22:18 2023 rev:79 rq:1114318 version:25.8.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes  
2023-09-22 21:49:01.224359125 +0200
+++ 
/work/SRC/openSUSE:Factory/.nodejs-electron.new.28202/nodejs-electron.changes   
    2023-10-01 21:23:07.674429202 +0200
@@ -1,0 +2,26 @@
+Fri Sep 29 07:04:36 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com>
+
+- New upstream release 25.8.4
+  * Detect system dark theme preference via xdg settings portal on Linux.
+  * Fix heap buffer overflow in libvpx (CVE-2023-5217) (only Fedora 37 and 
Leap)
+- Do not build webextensions support which we do not use
+  * add backported build-without-extensions.patch
+
+-------------------------------------------------------------------
+Thu Sep 28 09:13:23 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com>
+
+- New upstream release 25.8.3
+  * Fixed a redundant permission popup while fetching screens and windows 
using desktopCapturer.getSources() on Wayland
+  * Fixed crash on shutdown in tls sockets with Node.js HTTP/2 connections.
+
+-------------------------------------------------------------------
+Mon Sep 25 16:53:17 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com>
+
+- Use icu 73 on Leap
+  * drop NumberFormat-icu71-incrementExact.patch
+  * drop intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch
+  * drop v8-regexp-parser-UCHAR_BASIC_EMOJI.patch
+  * drop v8-icu69-FormattedNumberRange-no-default-constructible.patch
+- Fix unresolvable build on Leap 15.6
+
+-------------------------------------------------------------------

Old:
----
  NumberFormat-icu71-incrementExact.patch
  electron-25.8.2.tar.zst
  intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch
  v8-icu69-FormattedNumberRange-no-default-constructible.patch
  v8-regexp-parser-UCHAR_BASIC_EMOJI.patch

New:
----
  build-without-extensions.patch
  electron-25.8.4.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.c56riK/_old  2023-10-01 21:23:16.526749513 +0200
+++ /var/tmp/diff_new_pack.c56riK/_new  2023-10-01 21:23:16.526749513 +0200
@@ -94,7 +94,7 @@
 %ifnarch %ix86 %arm aarch64
 # OBS does not have enough powerful machines to build with LTO on aarch64.
 
-%if (0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora})
+%if (0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora})
 %bcond_without lto
 %else
 %bcond_with lto
@@ -125,23 +125,21 @@
 %endif
 
 
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora}
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora}
 %bcond_without harfbuzz_5
 %bcond_without link_vulkan
 %bcond_without system_avif
-%bcond_without icu_71
 %bcond_without ffmpeg_5
 %bcond_without system_spirv
 %else
 %bcond_with harfbuzz_5
 %bcond_with link_vulkan
 %bcond_with system_avif
-%bcond_with icu_71
 %bcond_with ffmpeg_5
 %bcond_with system_spirv
 %endif
 
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora} >= 
38
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} >= 
38
 %bcond_without system_aom
 %bcond_without system_vpx
 %else
@@ -170,21 +168,16 @@
 
 # Abseil is broken in Leap
 # enable this when boo#1203378 and boo#1203379 get fixed
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora} >= 
37
-%if %{without clang}
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} >= 
37
 %bcond_without system_abseil
 
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora} >= 
39
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} >= 
39
 %bcond_without abseil_2023
 %else
 %bcond_with abseil_2023
 %endif
 
 %else
-# Clang has several problems with std::optional used by system abseil
-%bcond_with system_abseil
-%endif
-%else
 %bcond_with system_abseil
 %endif
 
@@ -204,7 +197,7 @@
 
 
 Name:           nodejs-electron
-Version:        25.8.2
+Version:        25.8.4
 Release:        0
 Summary:        Build cross platform desktop apps with JavaScript, HTML, and 
CSS
 License:        AFL-2.0 AND Apache-2.0 AND blessing AND BSD-2-Clause AND 
BSD-3-Clause AND BSD-Protection AND BSD-Source-Code AND bzip2-1.0.6 AND IJG AND 
ISC AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND MIT-CMU AND 
MIT-open-group AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND 
MPL-2.0 AND OpenSSL AND SGI-B-2.0 AND SUSE-Public-Domain AND X11
@@ -224,10 +217,6 @@
 # Reverse upstream changes to be able to build against ffmpeg-4
 Source400:      ffmpeg-new-channel-layout.patch
 Source401:      audio_file_reader-ffmpeg-AVFrame-duration.patch
-# …and against icu-69
-Source410:      NumberFormat-icu71-incrementExact.patch
-Source411:      intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch
-Source412:      v8-regexp-parser-UCHAR_BASIC_EMOJI.patch
 # and against harfbuzz 4
 Source415:      harfbuzz-replace-chromium-scoped-type.patch
 Source416:      harfbuzz-replace-HbScopedPointer.patch
@@ -309,7 +298,6 @@
 # Fix electron patched code
 Patch2024:      electron-16-std-vector-non-const.patch
 Patch2029:      electron-16-webpack-fix-openssl-3.patch
-Patch2030:      v8-icu69-FormattedNumberRange-no-default-constructible.patch
 Patch2031:      partition_alloc-no-lto.patch
 Patch2032:      seccomp_bpf-no-lto.patch
 # adjust to llhttp 8 api changes
@@ -351,6 +339,8 @@
 Patch3208:      mojo_ukm_recorder-missing-WrapUnique.patch
 Patch3209:      electron_browser_context-missing-variant.patch
 Patch3210:      electron_api_app-GetPathConstant-non-constexpr.patch
+# https://github.com/electron/electron/pull/40032
+Patch3211:      build-without-extensions.patch
 
 %if %{with clang}
 BuildRequires:  clang
@@ -510,20 +500,7 @@
 %if %{with harfbuzz_5}
 BuildRequires:  pkgconfig(harfbuzz) >= 5
 %endif
-
-
-%if %{with icu_71}
 BuildRequires:  pkgconfig(icu-i18n) >= 71
-%else
-
-%if 0%{?fedora}
-BuildRequires:  libicu-devel < 70
-%else
-BuildRequires:  icu.691-devel
-%endif
-
-%endif
-
 BuildRequires:  pkgconfig(jsoncpp)
 BuildRequires:  pkgconfig(krb5)
 %if %{with ffmpeg_5}
@@ -584,6 +561,10 @@
 BuildRequires:  pkgconfig(Qt5Widgets)
 %endif
 BuildRequires:  pkgconfig(re2)
+%if %{without system_abseil}
+#re2-11 has abseil as a public dependency. The headers collide with the 
bundled ones, causing linker errors.
+BuildRequires:  cmake(re2) < 11
+%endif
 %if %{with system_spirv}
 %if 0%{?suse_version}
 BuildRequires:  spirv-headers
@@ -608,7 +589,7 @@
 BuildRequires:  pkgconfig(vpx) >= 1.13~
 %endif
 %if %{without clang}
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora}
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora}
 BuildRequires:  gcc >= 12
 BuildRequires:  gcc-c++ >= 12
 %else
@@ -649,14 +630,6 @@
 Requires:       nodejs-electron%{?_isa} = %{version}
 Requires:       pkgconfig(zlib)
 
-%if %{without icu_71}
-#SUSE patched code includes icu headers
-%if 0%{?fedora}
-Requires:       libicu-devel%{?_isa}
-%else
-Requires:       icu.691-devel%{?_isa}
-%endif
-%endif
 
 %description devel
 Development headers for Electron projects.
@@ -701,14 +674,6 @@
 patch -R -p1 < %SOURCE416
 %endif
 
-%if %{without icu_71}
-patch -R -p1 < %SOURCE410
-patch -R -p1 < %SOURCE411
-patch -R -p1 < %SOURCE412
-%else
-patch -R -p1 < %PATCH2030
-%endif
-
 
 %if %{without wayland_21}
 patch -R -p1 < %SOURCE418
@@ -843,7 +808,7 @@
 %endif #ifarch ix86 arm
 
 
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora}
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora}
 export CC=gcc
 export CXX=g++
 export AR=gcc-ar
@@ -1108,7 +1073,8 @@
 myconf_gn+=" enable_plugins=false"
 myconf_gn+=" enable_ppapi=false"
 
-
+#do not build webextensions support
+myconf_gn+=' enable_electron_extensions=false'
 
 # The option below get overriden by whatever is in CFLAGS/CXXFLAGS, so they 
affect only C++ code.
 # symbol_level=2 is full debug

++++++ build-without-extensions.patch ++++++
>From 1e668a95cb15dd3b8c0a2ab5826e6c9e6e8c6c98 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.v...@gmail.com>
Date: Thu, 28 Sep 2023 12:06:13 +0200
Subject: [PATCH 1/3] fix: ENABLE_EXTENSIONS -> ENABLE_ELECTRON_EXTENSIONS

---
 shell/browser/electron_browser_client.cc      |  6 +++---
 shell/browser/hid/electron_hid_delegate.cc    |  9 +++++----
 shell/browser/plugins/plugin_utils.cc         |  6 +++---
 shell/browser/usb/electron_usb_delegate.cc    | 20 +++++++++----------
 .../print_render_frame_helper_delegate.cc     | 14 ++++++-------
 shell/renderer/renderer_client_base.cc        | 16 +++++++--------
 6 files changed, 36 insertions(+), 35 deletions(-)

diff --git a/shell/browser/electron_browser_client.cc 
b/shell/browser/electron_browser_client.cc
index 1428fdfad3b4e..7d89d513199ef 100644
--- a/electron/shell/browser/electron_browser_client.cc
+++ b/electron/shell/browser/electron_browser_client.cc
@@ -1220,12 +1220,12 @@ void ElectronBrowserClient::
   protocol_registry->RegisterURLLoaderFactories(factories,
                                                 false /* allow_file_access */);
 
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   factories->emplace(
       extensions::kExtensionScheme,
       extensions::CreateExtensionServiceWorkerScriptURLLoaderFactory(
           browser_context));
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 }
 
 bool ElectronBrowserClient::ShouldTreatURLSchemeAsFirstPartyWhenTopLevel(
@@ -1473,7 +1473,7 @@ void ElectronBrowserClient::
           },
           &render_frame_host));
 #endif
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   associated_registry.AddInterface<extensions::mojom::LocalFrameHost>(
       base::BindRepeating(
           [](content::RenderFrameHost* render_frame_host,
diff --git a/shell/browser/hid/electron_hid_delegate.cc 
b/shell/browser/hid/electron_hid_delegate.cc
index 0fef6977e96aa..5900b16412177 100644
--- a/electron/shell/browser/hid/electron_hid_delegate.cc
+++ b/electron/shell/browser/hid/electron_hid_delegate.cc
@@ -11,6 +11,7 @@
 #include "base/containers/contains.h"
 #include "chrome/common/chrome_features.h"
 #include "content/public/browser/web_contents.h"
+#include "electron/buildflags/buildflags.h"
 #include "services/device/public/cpp/hid/hid_switches.h"
 #include "shell/browser/electron_permission_manager.h"
 #include "shell/browser/hid/hid_chooser_context.h"
@@ -19,9 +20,9 @@
 #include "shell/browser/web_contents_permission_helper.h"
 #include "third_party/blink/public/common/permissions/permission_utils.h"
 
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 #include "extensions/common/constants.h"
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 
 namespace {
 
@@ -128,14 +129,14 @@ bool ElectronHidDelegate::IsFidoAllowedForOrigin(
 
 bool ElectronHidDelegate::IsServiceWorkerAllowedForOrigin(
     const url::Origin& origin) {
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   // WebHID is only available on extension service workers with feature flag
   // enabled for now.
   if (base::FeatureList::IsEnabled(
           features::kEnableWebHidOnExtensionServiceWorker) &&
       origin.scheme() == extensions::kExtensionScheme)
     return true;
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   return false;
 }
 
diff --git a/shell/browser/plugins/plugin_utils.cc 
b/shell/browser/plugins/plugin_utils.cc
index b3c7490e9d871..2b569d4ec419a 100644
--- a/electron/shell/browser/plugins/plugin_utils.cc
+++ b/electron/shell/browser/plugins/plugin_utils.cc
@@ -9,11 +9,11 @@
 #include "base/containers/contains.h"
 #include "base/values.h"
 #include "content/public/common/webplugininfo.h"
-#include "extensions/buildflags/buildflags.h"
+#include "electron/buildflags/buildflags.h"
 #include "url/gurl.h"
 #include "url/origin.h"
 
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 #include "extensions/browser/extension_registry.h"
 #include "extensions/browser/extension_util.h"
 #include "extensions/common/constants.h"
@@ -36,7 +36,7 @@ base::flat_map<std::string, std::string>
 PluginUtils::GetMimeTypeToExtensionIdMap(
     content::BrowserContext* browser_context) {
   base::flat_map<std::string, std::string> mime_type_to_extension_id_map;
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   std::vector<std::string> allowed_extension_ids =
       MimeTypesHandler::GetMIMETypeAllowlist();
   // Go through the white-listed extensions and try to use them to intercept
diff --git a/shell/browser/usb/electron_usb_delegate.cc 
b/shell/browser/usb/electron_usb_delegate.cc
index 8bb5726cf5fcd..72dc42486cc4e 100644
--- a/electron/shell/browser/usb/electron_usb_delegate.cc
+++ b/electron/shell/browser/usb/electron_usb_delegate.cc
@@ -13,7 +13,7 @@
 #include "base/scoped_observation.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
-#include "extensions/buildflags/buildflags.h"
+#include "electron/buildflags/buildflags.h"
 #include "services/device/public/mojom/usb_enumeration_options.mojom.h"
 #include "shell/browser/electron_permission_manager.h"
 #include "shell/browser/usb/usb_chooser_context.h"
@@ -21,7 +21,7 @@
 #include "shell/browser/usb/usb_chooser_controller.h"
 #include "shell/browser/web_contents_permission_helper.h"
 
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 #include "base/containers/fixed_flat_set.h"
 #include "chrome/common/chrome_features.h"
 #include "extensions/browser/extension_registry.h"
@@ -41,7 +41,7 @@ electron::UsbChooserContext* GetChooserContext(
       browser_context);
 }
 
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 // These extensions can claim the smart card USB class and automatically gain
 // permissions for devices that have an interface with this class.
 constexpr auto kSmartCardPrivilegedExtensionIds =
@@ -65,12 +65,12 @@ bool DeviceHasInterfaceWithClass(
   }
   return false;
 }
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 
 bool IsDevicePermissionAutoGranted(
     const url::Origin& origin,
     const device::mojom::UsbDeviceInfo& device_info) {
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   // Note: The `DeviceHasInterfaceWithClass()` call is made after checking the
   // origin, since that method call is expensive.
   if (origin.scheme() == extensions::kExtensionScheme &&
@@ -79,7 +79,7 @@ bool IsDevicePermissionAutoGranted(
                                   device::mojom::kUsbSmartCardClass)) {
     return true;
   }
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 
   return false;
 }
@@ -251,14 +251,14 @@ ElectronUsbDelegate::GetContextObserver(
 
 bool ElectronUsbDelegate::IsServiceWorkerAllowedForOrigin(
     const url::Origin& origin) {
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   // WebUSB is only available on extension service workers for now.
   if (base::FeatureList::IsEnabled(
           features::kEnableWebUsbOnExtensionServiceWorker) &&
       origin.scheme() == extensions::kExtensionScheme) {
     return true;
   }
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   return false;
 }
 
diff --git a/shell/renderer/printing/print_render_frame_helper_delegate.cc 
b/shell/renderer/printing/print_render_frame_helper_delegate.cc
index c104cb145d5fd..d857ea5f824fc 100644
--- a/electron/shell/renderer/printing/print_render_frame_helper_delegate.cc
+++ b/electron/shell/renderer/printing/print_render_frame_helper_delegate.cc
@@ -7,15 +7,15 @@
 #include <utility>
 
 #include "content/public/renderer/render_frame.h"
-#include "extensions/buildflags/buildflags.h"
+#include "electron/buildflags/buildflags.h"
 #include "third_party/blink/public/web/web_element.h"
 #include "third_party/blink/public/web/web_local_frame.h"
 
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 #include "chrome/common/pdf_util.h"
 #include "extensions/common/constants.h"
 #include 
"extensions/renderer/guest_view/mime_handler_view/post_message_support.h"
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 
 namespace electron {
 
@@ -26,14 +26,14 @@ 
PrintRenderFrameHelperDelegate::~PrintRenderFrameHelperDelegate() = default;
 // Return the PDF object element if |frame| is the out of process PDF 
extension.
 blink::WebElement PrintRenderFrameHelperDelegate::GetPdfElement(
     blink::WebLocalFrame* frame) {
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   if (frame->Parent() &&
       IsPdfInternalPluginAllowedOrigin(frame->Parent()->GetSecurityOrigin())) {
     auto plugin_element = frame->GetDocument().QuerySelector("embed");
     DCHECK(!plugin_element.IsNull());
     return plugin_element;
   }
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   return blink::WebElement();
 }
 
@@ -43,7 +43,7 @@ bool PrintRenderFrameHelperDelegate::IsPrintPreviewEnabled() {
 
 bool PrintRenderFrameHelperDelegate::OverridePrint(
     blink::WebLocalFrame* frame) {
-#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   auto* post_message_support =
       extensions::PostMessageSupport::FromWebLocalFrame(frame);
   if (post_message_support) {
@@ -56,7 +56,7 @@ bool PrintRenderFrameHelperDelegate::OverridePrint(
     
post_message_support->PostMessageFromValue(base::Value(std::move(message)));
     return true;
   }
-#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+#endif  // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   return false;
 }
 
diff --git a/shell/renderer/renderer_client_base.cc 
b/shell/renderer/renderer_client_base.cc
index b80ba7a487394..d456d414f1c29 100644
--- a/electron/shell/renderer/renderer_client_base.cc
+++ b/electron/shell/renderer/renderer_client_base.cc
@@ -235,14 +235,6 @@ void RendererClientBase::RenderThreadStarted() {
   extensions::ExtensionsRendererClient::Set(extensions_renderer_client_.get());
 
   thread->AddObserver(extensions_renderer_client_->GetDispatcher());
-#endif
-
-#if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
-  spellcheck_ = std::make_unique<SpellCheck>(this);
-#endif
-
-  blink::WebCustomElement::AddEmbedderCustomElementName("webview");
-  blink::WebCustomElement::AddEmbedderCustomElementName("browserplugin");
 
   WTF::String extension_scheme(extensions::kExtensionScheme);
   // Extension resources are HTTP-like and safe to expose to the fetch API. The
@@ -255,6 +247,14 @@ void RendererClientBase::RenderThreadStarted() {
       extension_scheme);
   blink::SchemeRegistry::RegisterURLSchemeAsBypassingContentSecurityPolicy(
       extension_scheme);
+#endif
+
+#if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
+  spellcheck_ = std::make_unique<SpellCheck>(this);
+#endif
+
+  blink::WebCustomElement::AddEmbedderCustomElementName("webview");
+  blink::WebCustomElement::AddEmbedderCustomElementName("browserplugin");
 
   std::vector<std::string> fetch_enabled_schemes =
       ParseSchemesCLISwitch(command_line, switches::kFetchSchemes);

>From 1b3f3a130397f7145271026f8e0fc720151d6d7c Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.v...@gmail.com>
Date: Thu, 28 Sep 2023 12:11:45 +0200
Subject: [PATCH 2/3] fix: extension guard fixes

---
 shell/browser/electron_browser_client.cc | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/shell/browser/electron_browser_client.cc 
b/shell/browser/electron_browser_client.cc
index 7d89d513199ef..9626d7a4270bf 100644
--- a/electron/shell/browser/electron_browser_client.cc
+++ b/electron/shell/browser/electron_browser_client.cc
@@ -57,7 +57,7 @@
 #include "crypto/crypto_buildflags.h"
 #include "electron/buildflags/buildflags.h"
 #include "electron/shell/common/api/api.mojom.h"
-#include "extensions/browser/api/messaging/messaging_api_message_filter.h"
+#include "extensions/browser/extension_navigation_ui_data.h"
 #include "mojo/public/cpp/bindings/binder_map.h"
 #include "net/ssl/ssl_cert_request_info.h"
 #include "ppapi/buildflags/buildflags.h"
@@ -114,6 +114,7 @@
 #include "shell/common/options_switches.h"
 #include "shell/common/platform_util.h"
 #include "shell/common/thread_restrictions.h"
+#include 
"third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
 #include "third_party/blink/public/common/loader/url_loader_throttle.h"
 #include "third_party/blink/public/common/tokens/tokens.h"
 #include "third_party/blink/public/common/web_preferences/web_preferences.h"
@@ -147,6 +148,7 @@
 #include "content/public/browser/child_process_security_policy.h"
 #include "content/public/browser/file_url_loader.h"
 #include "content/public/browser/web_ui_url_loader_factory.h"
+#include "extensions/browser/api/messaging/messaging_api_message_filter.h"
 #include "extensions/browser/api/mime_handler_private/mime_handler_private.h"
 #include "extensions/browser/api/web_request/web_request_api.h"
 #include "extensions/browser/browser_context_keyed_api_factory.h"
@@ -154,7 +156,6 @@
 #include "extensions/browser/extension_host.h"
 #include "extensions/browser/extension_message_filter.h"
 #include "extensions/browser/extension_navigation_throttle.h"
-#include "extensions/browser/extension_navigation_ui_data.h"
 #include "extensions/browser/extension_prefs.h"
 #include "extensions/browser/extension_protocols.h"
 #include "extensions/browser/extension_registry.h"
@@ -172,7 +173,6 @@
 #include "shell/browser/extensions/electron_extension_message_filter.h"
 #include "shell/browser/extensions/electron_extension_system.h"
 #include "shell/browser/extensions/electron_extension_web_contents_observer.h"
-#include 
"third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
 #endif
 
 #if BUILDFLAG(ENABLE_PLUGINS)
@@ -1413,9 +1413,10 @@ void 
ElectronBrowserClient::OverrideURLLoaderFactoryParams(
       factory_params->disable_web_security = true;
     }
   }
-
+#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
   extensions::URLLoaderFactoryManager::OverrideURLLoaderFactoryParams(
       browser_context, origin, is_for_isolated_world, factory_params);
+#endif
 }
 
 void ElectronBrowserClient::

>From 4986472bab8bd1caaa42ddb6a3501d64a467d01d Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.v...@gmail.com>
Date: Thu, 28 Sep 2023 14:05:24 +0200
Subject: [PATCH 3/3] chore: fix linker errors

---
 chromium_src/BUILD.gn | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/chromium_src/BUILD.gn b/chromium_src/BUILD.gn
index 24a0b75401807..de47d024a882a 100644
--- a/electron/chromium_src/BUILD.gn
+++ b/electron/chromium_src/BUILD.gn
@@ -338,6 +338,34 @@ static_library("chrome") {
         "//components/pdf/renderer",
       ]
     }
+  } else {
+    # These are required by the webRequest module.
+    sources += [
+      "//extensions/browser/api/declarative_net_request/request_action.cc",
+      "//extensions/browser/api/declarative_net_request/request_action.h",
+      "//extensions/browser/api/web_request/form_data_parser.cc",
+      "//extensions/browser/api/web_request/form_data_parser.h",
+      "//extensions/browser/api/web_request/upload_data_presenter.cc",
+      "//extensions/browser/api/web_request/upload_data_presenter.h",
+      "//extensions/browser/api/web_request/web_request_api_constants.cc",
+      "//extensions/browser/api/web_request/web_request_api_constants.h",
+      "//extensions/browser/api/web_request/web_request_info.cc",
+      "//extensions/browser/api/web_request/web_request_info.h",
+      "//extensions/browser/api/web_request/web_request_resource_type.cc",
+      "//extensions/browser/api/web_request/web_request_resource_type.h",
+      "//extensions/browser/extension_api_frame_id_map.cc",
+      "//extensions/browser/extension_api_frame_id_map.h",
+      "//extensions/browser/extension_navigation_ui_data.cc",
+      "//extensions/browser/extension_navigation_ui_data.h",
+      "//extensions/browser/extensions_browser_client.cc",
+      "//extensions/browser/extensions_browser_client.h",
+      "//extensions/browser/guest_view/web_view/web_view_renderer_state.cc",
+      "//extensions/browser/guest_view/web_view/web_view_renderer_state.h",
+    ]
+
+    public_deps += [
+      
"//extensions/browser/api/declarative_net_request/flat:extension_ruleset",
+    ]
   }
 
   if (!is_mas_build) {
--- src/extensions/browser/guest_view/web_view/web_view_guest.cc.old    
2023-09-28 10:14:03.660044621 +0200
+++ src/extensions/browser/guest_view/web_view/web_view_guest.cc        
2023-09-29 08:05:41.827245244 +0200
@@ -285,9 +285,6 @@ std::string WebViewGuest::GetPartitionID
 }
 
 // static
-const char WebViewGuest::Type[] = "webview";
-
-// static
 int WebViewGuest::GetOrGenerateRulesRegistryID(int embedder_process_id,
                                                int webview_instance_id) {
   bool is_web_view = embedder_process_id && webview_instance_id;
--- src/extensions/browser/guest_view/web_view/web_view_guest.h.old     
2023-09-28 10:14:03.660044621 +0200
+++ src/extensions/browser/guest_view/web_view/web_view_guest.h 2023-09-29 
08:06:13.200529820 +0200
@@ -49,7 +49,7 @@ class WebViewGuest : public guest_view::
                       int embedder_process_id,
                       int view_instance_id);
 
-  static const char Type[];
+  constexpr static const char Type[] = "webview";
 
   // Returns the WebView partition ID associated with the render process
   // represented by |render_process_host|, if any. Otherwise, an empty string 
is

Reply via email to