forked from pool/nodejs-electron
- New upstream release 30.2.0 * Node 20.15.0 * Enabled the Windows Control Overlay API on Linux. * Expose systemPreferences to utilityProcess. * Fixed a focus issue when calling BrowserWindow.setTopBrowserView. * Fixed an issue where fetch-dependent interfaces could be missing in Web Workers with nodeIntegrationInWorker enabled. * Fixed an issue where control could fail to return properly after saving a dialog using showOpenDialogSync on Linux. * Fixes an issue where the user-specified default path did not work in some circumstances when using Linux dialogs. * Fixes potentially incorrect exit code in UtilityProcess. * (Leap 15.5) Fix heap buffer overflow in libaom (CVE-2024-5493 bsc#1225690) * Security fixes for V8: CVE-2024-6100, CVE-2024-6101 (bsc#1226504) * Fix use after free in Swiftshader (CVE-2024-6291 bsc#1226933) - Update to 30.1.2 XXXFIXMEXXX * ABI break: NODE_MODULE_VERSION is now 123 * Chromium 124.0.6367.243 * Node 20.14.0 * V8 12.4 * Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. * cross-origin iframes now use Permission Policy to access features * Removed: The --disable-color-correct-rendering switch * The inputFieldType property in the context-menu params has been removed * Removed: process.getIOCounters() * see https://www.electronjs.org/blog/electron-30-0 and https://github.com/electron/electron/releases/tag/v30.0.0 for more - Fedora: use bundled simdutf as the system version is too old - Drop no longer needed patches * chromium-122-avoid-SFINAE-TypeConverter.patch * chromium-122-BookmarkNode-missing-operator.patch * chromium-98-EnumTable-crash.patch * chromium-gcc11.patch * CVE-2024-30260-undici-clear-proxy-authorization.patch * CVE-2024-30261-undici-fetch-integrity.patch * ElectronDesktopWindowTreeHostLinux-OnWindowTiledStateChanged-crash.patch * grid_sizing_tree-Wchanges-meaning.patch * hit_test_request-missing-optional.patch * InternalAllocator-too-many-initializers.patch * material_color_utilities-tones-missing-round.patch * nested-nested-nested-nested-nested-nested-regex-patterns.patch * perfetto-numeric_storage-double_t.patch * plus_address_types-missing-optional.patch * race_network_request_write_buffer_manager-missing-optional.patch * resolution_monitor-missing-bitset.patch * script_promise_resolver-explicit-specialization.patch * search_engine_choice_service-missing-optional.patch * text_break_iterator-icu74-breakAllLineBreakClassTable-should-be-consistent.patch * v8-instance-type-inl-constexpr-used-before-its-definition.patch - Drop no longer needed -Wno-error=narrowing from CXXFLAGS - Add patches to fix build * chromium-124-shims.patch * enable_stack_trace_line_numbers-symbol_level.patch * angle-FramebufferVk-powf.patch * licenses.py-FileNotFoundError.patch * span_reader-missing-optional.patch * bitset-missing-uint8_t-memcpy.patch * temporal_scalability_id_extractor-missing-bitset.patch * gpu_adapter_info-missing-optional.patch * first_party_sets_handler_database_helper-missing-optional.patch * async_iterable-forwarding.patch * preview_cancel_reason-missing-string.patch * script_streamer-atomic-include.patch - Add -Wno-packed-not-aligned -Wno-address to CXXFLAGS to suppress build logspam - Add libaom_av1_encoder-aom37-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch to build with old libaom - Add backported DesktopNativeWidgetAura-HandleActivationChanged-crash.patch - Revert upstream changes which introduce a use-after-free bug causing crashes (bsc#1224178 deb#1067886) * bad-font-gc0000.patch * bad-font-gc000.patch * bad-font-gc00.patch * bad-font-gc0.patch * bad-font-gc11.patch * bad-font-gc1.patch * bad-font-gc2.patch * bad-font-gc3.patch OBS-URL: https://build.opensuse.org/request/show/1187058 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=159
125 lines
6.8 KiB
Diff
125 lines
6.8 KiB
Diff
Index: electron-17.1.0/chrome/browser/process_singleton.h
|
|
===================================================================
|
|
--- electron-17.1.0.orig/chrome/browser/process_singleton.h 2022-03-07 17:39:06.993345117 +0100
|
|
+++ electron-17.1.0/chrome/browser/process_singleton.h 2022-03-09 08:29:01.682773127 +0100
|
|
@@ -102,7 +102,7 @@ class ProcessSingleton {
|
|
using NotificationCallback =
|
|
base::RepeatingCallback<bool(base::CommandLine command_line,
|
|
const base::FilePath& current_directory,
|
|
- const std::vector<const uint8_t> additional_data)>;
|
|
+ const std::vector<uint8_t> additional_data)>;
|
|
|
|
#if BUILDFLAG(IS_WIN)
|
|
ProcessSingleton(const std::string& program_name,
|
|
|
|
Index: electron-17.1.0/chrome/browser/process_singleton_posix.cc
|
|
===================================================================
|
|
--- electron-17.1.0.orig/chrome/browser/process_singleton_posix.cc 2022-03-07 17:39:06.993345117 +0100
|
|
+++ electron-17.1.0/chrome/browser/process_singleton_posix.cc 2022-03-09 08:29:01.682773127 +0100
|
|
@@ -627,7 +627,7 @@ class ProcessSingleton::LinuxWatcher
|
|
// |reader| is for sending back ACK message.
|
|
void HandleMessage(const std::string& current_dir,
|
|
const std::vector<std::string>& argv,
|
|
- const std::vector<const uint8_t> additional_data,
|
|
+ const std::vector<uint8_t> additional_data,
|
|
SocketReader* reader);
|
|
|
|
// Called when the ProcessSingleton that owns this class is about to be
|
|
@@ -684,7 +684,7 @@ void ProcessSingleton::LinuxWatcher::Sta
|
|
void ProcessSingleton::LinuxWatcher::HandleMessage(
|
|
const std::string& current_dir,
|
|
const std::vector<std::string>& argv,
|
|
- const std::vector<const uint8_t> additional_data,
|
|
+ const std::vector<uint8_t> additional_data,
|
|
SocketReader* reader) {
|
|
DCHECK(ui_task_runner_->BelongsToCurrentThread());
|
|
DCHECK(reader);
|
|
@@ -774,7 +774,7 @@ void ProcessSingleton::LinuxWatcher::Soc
|
|
base::StringToSizeT(tokens[0], &num_args);
|
|
std::vector<std::string> command_line(tokens.begin() + 1, tokens.begin() + 1 + num_args);
|
|
|
|
- std::vector<const uint8_t> additional_data;
|
|
+ std::vector<uint8_t> additional_data;
|
|
if (tokens.size() >= 3 + num_args) {
|
|
size_t additional_data_size;
|
|
base::StringToSizeT(tokens[1 + num_args], &additional_data_size);
|
|
@@ -783,7 +783,7 @@ void ProcessSingleton::LinuxWatcher::Soc
|
|
std::string(1, kTokenDelimiter));
|
|
const uint8_t* additional_data_bits =
|
|
reinterpret_cast<const uint8_t*>(remaining_args.c_str());
|
|
- additional_data = std::vector<const uint8_t>(
|
|
+ additional_data = std::vector<uint8_t>(
|
|
additional_data_bits, additional_data_bits + additional_data_size);
|
|
}
|
|
|
|
Index: electron-17.1.0/chrome/browser/process_singleton_win.cc
|
|
===================================================================
|
|
--- electron-17.1.0.orig/chrome/browser/process_singleton_win.cc 2022-03-07 17:39:06.993345117 +0100
|
|
+++ electron-17.1.0/chrome/browser/process_singleton_win.cc 2022-03-09 08:29:01.682773127 +0100
|
|
@@ -81,7 +81,7 @@ BOOL CALLBACK BrowserWindowEnumeration(H
|
|
bool ParseCommandLine(const COPYDATASTRUCT* cds,
|
|
base::CommandLine* parsed_command_line,
|
|
base::FilePath* current_directory,
|
|
- std::vector<const uint8_t>* parsed_additional_data) {
|
|
+ std::vector<uint8_t>* parsed_additional_data) {
|
|
// We should have enough room for the shortest command (min_message_size)
|
|
// and also be a multiple of wchar_t bytes. The shortest command
|
|
// possible is L"START\0\0" (empty command line, current directory,
|
|
@@ -163,7 +163,7 @@ bool ParseCommandLine(const COPYDATASTRU
|
|
msg.substr(fourth_null + 1, fifth_null - fourth_null);
|
|
const uint8_t* additional_data_bytes =
|
|
reinterpret_cast<const uint8_t*>(additional_data.c_str());
|
|
- *parsed_additional_data = std::vector<const uint8_t>(additional_data_bytes,
|
|
+ *parsed_additional_data = std::vector<uint8_t>(additional_data_bytes,
|
|
additional_data_bytes + additional_data_length);
|
|
|
|
return true;
|
|
@@ -187,7 +187,7 @@ bool ProcessLaunchNotification(
|
|
|
|
base::CommandLine parsed_command_line(base::CommandLine::NO_PROGRAM);
|
|
base::FilePath current_directory;
|
|
- std::vector<const uint8_t> additional_data;
|
|
+ std::vector<uint8_t> additional_data;
|
|
if (!ParseCommandLine(cds, &parsed_command_line, ¤t_directory, &additional_data)) {
|
|
*result = TRUE;
|
|
return true;
|
|
Index: electron-17.1.0/electron/shell/browser/api/electron_api_app.cc
|
|
===================================================================
|
|
--- electron-17.1.0.orig/electron/shell/browser/api/electron_api_app.cc 2022-03-07 16:07:24.343397858 +0100
|
|
+++ electron-17.1.0/electron/shell/browser/api/electron_api_app.cc 2022-03-09 08:29:01.682773127 +0100
|
|
@@ -517,10 +517,10 @@ bool NotificationCallbackWrapper(
|
|
const base::RepeatingCallback<
|
|
void(base::CommandLine command_line,
|
|
const base::FilePath& current_directory,
|
|
- const std::vector<const uint8_t> additional_data)>& callback,
|
|
+ const std::vector<uint8_t> additional_data)>& callback,
|
|
base::CommandLine cmd,
|
|
const base::FilePath& cwd,
|
|
- const std::vector<const uint8_t> additional_data) {
|
|
+ const std::vector<uint8_t> additional_data) {
|
|
// Make sure the callback is called after app gets ready.
|
|
if (Browser::Get()->is_ready()) {
|
|
callback.Run(std::move(cmd), cwd, std::move(additional_data));
|
|
@@ -1081,7 +1081,7 @@ std::string App::GetLocaleCountryCode()
|
|
|
|
void App::OnSecondInstance(base::CommandLine cmd,
|
|
const base::FilePath& cwd,
|
|
- const std::vector<const uint8_t> additional_data) {
|
|
+ const std::vector<uint8_t> additional_data) {
|
|
v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();
|
|
v8::HandleScope handle_scope(isolate);
|
|
v8::Local<v8::Value> data_value =
|
|
Index: electron-17.1.0/electron/shell/browser/api/electron_api_app.h
|
|
===================================================================
|
|
--- electron-17.1.0.orig/electron/shell/browser/api/electron_api_app.h 2022-03-07 16:07:24.343397858 +0100
|
|
+++ electron-17.1.0/electron/shell/browser/api/electron_api_app.h 2022-03-09 08:29:01.682773127 +0100
|
|
@@ -194,7 +194,7 @@ class App : public ElectronBrowserClient
|
|
std::string GetSystemLocale(gin_helper::ErrorThrower thrower) const;
|
|
void OnSecondInstance(base::CommandLine cmd,
|
|
const base::FilePath& cwd,
|
|
- const std::vector<const uint8_t> additional_data);
|
|
+ const std::vector<uint8_t> additional_data);
|
|
bool HasSingleInstanceLock() const;
|
|
bool RequestSingleInstanceLock(gin::Arguments* args);
|
|
void ReleaseSingleInstanceLock();
|