From 5111b5eefd1be2d8d1f6a56a9233c55980082cec Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Wed, 2 Apr 2025 18:53:40 +1000 Subject: [PATCH] iceweasel: bump version --- ...-136.0.4.recipe => iceweasel-137.0.recipe} | 7 +- ....0.4.patchset => iceweasel-137.0.patchset} | 412 +++++++++--------- 2 files changed, 213 insertions(+), 206 deletions(-) rename www-client/iceweasel/{iceweasel-136.0.4.recipe => iceweasel-137.0.recipe} (91%) rename www-client/iceweasel/patches/{iceweasel-136.0.4.patchset => iceweasel-137.0.patchset} (95%) diff --git a/www-client/iceweasel/iceweasel-136.0.4.recipe b/www-client/iceweasel/iceweasel-137.0.recipe similarity index 91% rename from www-client/iceweasel/iceweasel-136.0.4.recipe rename to www-client/iceweasel/iceweasel-137.0.recipe index ad7b6972e..40e8023a4 100644 --- a/www-client/iceweasel/iceweasel-136.0.4.recipe +++ b/www-client/iceweasel/iceweasel-137.0.recipe @@ -7,7 +7,7 @@ COPYRIGHT="1995-2025 Mozilla Developers and Contributors" LICENSE="MPL v2.0" REVISION="1" SOURCE_URI="https://ftp.mozilla.org/pub/firefox/releases/$portVersion/source/firefox-$portVersion.source.tar.xz" -CHECKSUM_SHA256="4a28b9e1c2b8f2f1d434745ebb87fcba8ae116a202878f0fb1e83da63cf7c242" +CHECKSUM_SHA256="1ec47e2f83ccb80c0133f171091b5669c7ffdf7b86051fc85c0f915b7bcba91d" SOURCE_DIR="firefox-$portVersion" PATCHES="iceweasel-$portVersion.patchset" @@ -107,7 +107,7 @@ BUILD() --application-choice="Firefox for Desktop" \ --exclude=sysroot-wasm32-wasi - ./mach python python/mozbuild/mozbuild/gn_processor.py dom/media/webrtc/third_party_build/gn-configs/webrtc.json + ./mach python build/gn_processor.py dom/media/webrtc/third_party_build/gn-configs/webrtc.json ./mach build } @@ -130,7 +130,6 @@ INSTALL() cd $appsDir/Iceweasel mv \ libgkcodecs.so \ - libipcclientcerts.so \ liblgpllibs.so \ libmozavcodec.so \ libmozavutil.so \ @@ -143,7 +142,7 @@ INSTALL() local APP_SIGNATURE="application/x-vnd.iceweasel" local MAJOR="`echo "$portVersion" | cut -d. -f1`" local MIDDLE="`echo "$portVersion" | cut -d. -f2`" - local MINOR="`echo "$portVersion" | cut -d. -f3`" + local MINOR="0" local LONG_INFO="$SUMMARY" sed \ -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ diff --git a/www-client/iceweasel/patches/iceweasel-136.0.4.patchset b/www-client/iceweasel/patches/iceweasel-137.0.patchset similarity index 95% rename from www-client/iceweasel/patches/iceweasel-136.0.4.patchset rename to www-client/iceweasel/patches/iceweasel-137.0.patchset index 80e9da1ea..ad0c8af97 100644 --- a/www-client/iceweasel/patches/iceweasel-136.0.4.patchset +++ b/www-client/iceweasel/patches/iceweasel-137.0.patchset @@ -1,6 +1,6 @@ -From 9a4138f5662892112a65d2d1fab4cdc3bd11f156 Mon Sep 17 00:00:00 2001 +From b2a49fc722d2d35d563cdcc0c18ca90e82c4f054 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 30 Mar 2025 21:46:06 +1000 +Date: Wed, 2 Apr 2025 15:27:57 +1000 Subject: Add Haiku build support Based on patches sourced from https://github.com/kenz-gelsoft/gecko-dev/ @@ -12,11 +12,12 @@ Based on patches sourced from https://github.com/kenz-gelsoft/gecko-dev/ - Implemented WebRTC modules for desktop capture and video capture. - Made additional modifications for Haiku compatibility. + diff --git a/Cargo.lock b/Cargo.lock -index da2fbe8..ebb325b 100644 +index c91f39b..1afc921 100644 --- a/Cargo.lock +++ b/Cargo.lock -@@ -3655,7 +3655,6 @@ dependencies = [ +@@ -3576,7 +3576,6 @@ dependencies = [ name = "lmdb-rkv-sys" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -25,7 +26,7 @@ index da2fbe8..ebb325b 100644 "cc", "libc", diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js -index b0ea784..0850260 100644 +index 97acbf8..1a83004 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -15,7 +15,9 @@ @@ -48,7 +49,7 @@ index b0ea784..0850260 100644 pref("general.autoScroll", false); #else pref("general.autoScroll", true); -@@ -1078,7 +1080,7 @@ pref("security.allow_parent_unrestricted_js_loads", false); +@@ -1090,7 +1092,7 @@ pref("security.allow_parent_unrestricted_js_loads", false); pref("browser.tabs.min_inactive_duration_before_unload", 600000); // Does middleclick paste of clipboard to new tab button @@ -125,8 +126,49 @@ index 11b51ae..7c04ddf 100644 elif mozglue == "library": LIBRARY_DEFINES["MOZ_HAS_MOZGLUE"] = True if not CONFIG["MOZ_GLUE_IN_PROGRAM"]: +diff --git a/build/gn_processor.py b/build/gn_processor.py +index 2ba8b92..843a60e 100644 +--- a/build/gn_processor.py ++++ b/build/gn_processor.py +@@ -185,6 +185,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target): + "loong64": "loongarch64", + } + oses = { ++ "haiku": "Haiku", + "android": "Android", + "linux": "Linux", + "mac": "Darwin", +@@ -780,7 +781,7 @@ def main(): + + vars_set = [] + for is_debug in (True, False): +- for target_os in ("android", "linux", "mac", "openbsd", "win"): ++ for target_os in ("android", "linux", "mac", "openbsd", "haiku", "win"): + target_cpus = ["x64"] + if target_os in ("android", "linux", "mac", "win", "openbsd"): + target_cpus.append("arm64") +@@ -797,7 +798,7 @@ def main(): + "host_cpu": "x64", + "is_debug": is_debug, + "target_cpu": target_cpu, +- "target_os": target_os, ++ "target_os": "haiku", + } + if target_os == "linux": + for use_x11 in (True, False): +@@ -806,6 +807,10 @@ def main(): + else: + if target_os == "openbsd": + vars["use_x11"] = True ++ else: ++ if target_os == "haiku": ++ vars["use_x11"] = False ++ + vars_set.append(vars) + + preprocessor = load_preprocessor(config.get("preprocessing_script", None)) diff --git a/build/moz.configure/bindgen.configure b/build/moz.configure/bindgen.configure -index 72f4d41..4c682da 100644 +index 53f0e6e..ecd20e7 100644 --- a/build/moz.configure/bindgen.configure +++ b/build/moz.configure/bindgen.configure @@ -203,7 +203,7 @@ def bindgen_libclang_path(libclang_path, clang, library_name_info, host): @@ -138,6 +180,19 @@ index 72f4d41..4c682da 100644 libclang_choices.append("libclang.so.*") if host.os == "OpenBSD": +diff --git a/build/moz.configure/flags.configure b/build/moz.configure/flags.configure +index 99260f7..21792f6 100644 +--- a/build/moz.configure/flags.configure ++++ b/build/moz.configure/flags.configure +@@ -520,7 +520,7 @@ set_config("EXPAND_LIBS_LIST_STYLE", expand_libs_list_style) + # --------------------------------- + @depends(building_with_gnu_compatible_cc, target) + def moz_program_ldflags(building_with_gnu_compatible_cc, target): +- if building_with_gnu_compatible_cc and target.kernel not in ("Darwin", "WASI"): ++ if building_with_gnu_compatible_cc and target.kernel not in ("Darwin", "WASI", "Haiku"): + return ["-pie"] + + diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure index 9bf4bb2..4c911a3 100644 --- a/build/moz.configure/init.configure @@ -167,24 +222,11 @@ index 9bf4bb2..4c911a3 100644 @depends(target) def target_is_solaris(target): if target.kernel == "SunOS": -diff --git a/build/moz.configure/nss.configure b/build/moz.configure/nss.configure -index c6ce518..0b72eba 100644 ---- a/build/moz.configure/nss.configure -+++ b/build/moz.configure/nss.configure -@@ -13,7 +13,7 @@ system_lib_option( - imply_option("--with-system-nspr", True, when="--with-system-nss") - - nss_pkg = pkg_check_modules( -- "NSS", "nss >= 3.108", when="--with-system-nss", config=False -+ "NSS", "nss >= 3.107", when="--with-system-nss", config=False - ) - - set_config("MOZ_SYSTEM_NSS", True, when="--with-system-nss") diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure -index 319deff..1b32de2 100644 +index cbaf3b4..84fd8e0 100644 --- a/build/moz.configure/toolchain.configure +++ b/build/moz.configure/toolchain.configure -@@ -2941,7 +2941,7 @@ def security_hardening_cflags( +@@ -2937,7 +2937,7 @@ def security_hardening_cflags( if ( c_compiler.type == "clang" and c_compiler.version >= "11.0.1" @@ -193,6 +235,21 @@ index 319deff..1b32de2 100644 and target.cpu in ("x86", "x86_64", "ppc64", "s390x") ): flags.append("-fstack-clash-protection") +diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk +index 29f5a8a..5551187 100644 +--- a/config/makefiles/rust.mk ++++ b/config/makefiles/rust.mk +@@ -134,6 +134,10 @@ ifdef DEVELOPER_OPTIONS + rustflags_override += -Clto=off + endif + ++ifeq ($(OS_ARCH), Haiku) ++rustflags_override += -Clto=off ++endif ++ + ifdef MOZ_USING_SCCACHE + export RUSTC_WRAPPER=$(CCACHE) + endif diff --git a/dom/events/ShortcutKeyDefinitions.cpp b/dom/events/ShortcutKeyDefinitions.cpp index 3f34f45..97b7c98 100644 --- a/dom/events/ShortcutKeyDefinitions.cpp @@ -647,7 +704,7 @@ index 9b4a9d8..5b8f34f 100644 } } diff --git a/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc b/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc -index f01ee6e..19ebdfe 100644 +index 1ff12f6..b49b16a 100644 --- a/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc +++ b/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc @@ -36,7 +36,7 @@ @@ -660,10 +717,10 @@ index f01ee6e..19ebdfe 100644 # define HAVE_PIPE2 1 #endif diff --git a/js/src/moz.build b/js/src/moz.build -index 3a520d6..b8ddb64 100644 +index 1ad7d71..6459242 100644 --- a/js/src/moz.build +++ b/js/src/moz.build -@@ -518,6 +518,11 @@ elif CONFIG["OS_ARCH"] == "WASI": +@@ -508,6 +508,11 @@ elif CONFIG["OS_ARCH"] == "WASI": "threading/noop/NoopThread.cpp", ] else: @@ -777,10 +834,10 @@ index b0db033..efe0927 100644 #endif diff --git a/media/libcubeb/src/cubeb_haiku.cpp b/media/libcubeb/src/cubeb_haiku.cpp new file mode 100644 -index 0000000..4b2c540 +index 0000000..db30a02 --- /dev/null +++ b/media/libcubeb/src/cubeb_haiku.cpp -@@ -0,0 +1,966 @@ +@@ -0,0 +1,952 @@ +/* + * Copyright © 2024-2025 Troeglazov Gerasim + * @@ -1132,21 +1189,7 @@ index 0000000..4b2c540 + if (!params || params->rate == 0 || params->channels == 0) + return 2048; + -+ // Expecting float -+ size_t bytes_per_frame = params->channels * sizeof(float); -+ size_t requested_buffer_size = latency_frames * bytes_per_frame; -+ -+ // Align to reasonable boundaries -+ size_t min_buffer_bytes = 512 * bytes_per_frame; -+ size_t max_buffer_bytes = 8192 * bytes_per_frame; -+ -+ if (requested_buffer_size < min_buffer_bytes) -+ return min_buffer_bytes; -+ -+ if (requested_buffer_size > max_buffer_bytes) -+ return max_buffer_bytes; -+ -+ return requested_buffer_size; ++ return 1024 * params->channels; +} + + @@ -1784,10 +1827,10 @@ index fd6c684..92f7eb2 100644 # We allow warnings for third-party code that can be updated from upstream. diff --git a/mfbt/Assertions.h b/mfbt/Assertions.h -index d05a301..627e2d2 100644 +index 611c2b4..bfe08ba 100644 --- a/mfbt/Assertions.h +++ b/mfbt/Assertions.h -@@ -227,7 +227,7 @@ MOZ_NoReturn(int aLine) { +@@ -231,7 +231,7 @@ MOZ_NoReturn(int aLine) { MOZ_NoReturn(line); \ } while (false) @@ -1797,10 +1840,10 @@ index d05a301..627e2d2 100644 # define MOZ_REALLY_CRASH(line) __builtin_trap() diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml -index ef8e302..b3de4f7 100644 +index 8597446..9e51ece 100644 --- a/modules/libpref/init/StaticPrefList.yaml +++ b/modules/libpref/init/StaticPrefList.yaml -@@ -10984,6 +10984,8 @@ +@@ -11069,6 +11069,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1809,7 +1852,7 @@ index ef8e302..b3de4f7 100644 #else value: false #endif -@@ -11028,6 +11030,8 @@ +@@ -11113,6 +11115,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1818,7 +1861,7 @@ index ef8e302..b3de4f7 100644 #else value: false #endif -@@ -11061,6 +11065,8 @@ +@@ -11146,6 +11150,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1827,7 +1870,7 @@ index ef8e302..b3de4f7 100644 #else value: false #endif -@@ -11080,6 +11086,8 @@ +@@ -11165,6 +11171,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1836,7 +1879,7 @@ index ef8e302..b3de4f7 100644 #else value: false #endif -@@ -11099,6 +11107,8 @@ +@@ -11184,6 +11192,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1845,7 +1888,7 @@ index ef8e302..b3de4f7 100644 #else value: false #endif -@@ -11118,6 +11128,8 @@ +@@ -11203,6 +11213,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1854,7 +1897,7 @@ index ef8e302..b3de4f7 100644 #else value: false #endif -@@ -11149,6 +11161,8 @@ +@@ -11234,6 +11246,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1863,7 +1906,7 @@ index ef8e302..b3de4f7 100644 #else value: false #endif -@@ -12141,6 +12155,8 @@ +@@ -12215,6 +12229,8 @@ type: bool #if defined(MOZ_WIDGET_ANDROID) value: true @@ -1873,10 +1916,10 @@ index ef8e302..b3de4f7 100644 value: false #endif diff --git a/moz.configure b/moz.configure -index beffb5a..2c9e48a 100755 +index 1c81efe..9ce1db9 100755 --- a/moz.configure +++ b/moz.configure -@@ -832,6 +832,8 @@ def strip_flags(flags, profiling, target): +@@ -855,6 +855,8 @@ def strip_flags(flags, profiling, target): # On Darwin, it tries to strip things it can't, so we need to limit its scope. elif target.kernel == "Darwin": return ["-x", "-S"] @@ -1989,7 +2032,7 @@ index 6f87118..d26267d 100644 #include #include diff --git a/netwerk/base/nsStandardURL.cpp b/netwerk/base/nsStandardURL.cpp -index b1fc0db..a57eeae 100644 +index ff93236..60c7976 100644 --- a/netwerk/base/nsStandardURL.cpp +++ b/netwerk/base/nsStandardURL.cpp @@ -320,7 +320,7 @@ struct DumpLeakedURLs { @@ -2312,52 +2355,11 @@ index 25f43bb..967aee7 100644 "kFreeBSD": "__FreeBSD_kernel__", "Linux": "__linux__", "NetBSD": "__NetBSD__", -diff --git a/python/mozbuild/mozbuild/gn_processor.py b/python/mozbuild/mozbuild/gn_processor.py -index e0b2ca4..a6d7a0f 100644 ---- a/python/mozbuild/mozbuild/gn_processor.py -+++ b/python/mozbuild/mozbuild/gn_processor.py -@@ -185,6 +185,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target): - "mips64el": "mips64", - } - oses = { -+ "haiku": "Haiku", - "android": "Android", - "linux": "Linux", - "mac": "Darwin", -@@ -780,7 +781,7 @@ def main(): - - vars_set = [] - for is_debug in (True, False): -- for target_os in ("android", "linux", "mac", "openbsd", "win"): -+ for target_os in ("android", "linux", "mac", "openbsd", "haiku", "win"): - target_cpus = ["x64"] - if target_os in ("android", "linux", "mac", "win", "openbsd"): - target_cpus.append("arm64") -@@ -797,7 +798,7 @@ def main(): - "host_cpu": "x64", - "is_debug": is_debug, - "target_cpu": target_cpu, -- "target_os": target_os, -+ "target_os": "haiku", - } - if target_os == "linux": - for use_x11 in (True, False): -@@ -806,6 +807,10 @@ def main(): - else: - if target_os == "openbsd": - vars["use_x11"] = True -+ else: -+ if target_os == "haiku": -+ vars["use_x11"] = False -+ - vars_set.append(vars) - - preprocessor = load_preprocessor(config.get("preprocessing_script", None)) diff --git a/security/certverifier/ExtendedValidation.cpp b/security/certverifier/ExtendedValidation.cpp -index 8c1e0ac..382ac9c 100644 +index 63f3018..f717d4c 100644 --- a/security/certverifier/ExtendedValidation.cpp +++ b/security/certverifier/ExtendedValidation.cpp -@@ -1381,7 +1381,9 @@ nsresult LoadExtendedValidationInfo() { +@@ -1392,7 +1392,9 @@ nsresult LoadExtendedValidationInfo() { // The entries for the debug EV roots are at indices 0 through // NUM_TEST_EV_ROOTS - 1. Since they're not built-in, they probably // haven't been loaded yet. @@ -2367,65 +2369,11 @@ index 8c1e0ac..382ac9c 100644 } else { unsigned char certFingerprint[SHA256_LENGTH]; srv = PK11_HashBuf(SEC_OID_SHA256, certFingerprint, cert->derCert.data, -diff --git a/security/certverifier/NSSCertDBTrustDomain.cpp b/security/certverifier/NSSCertDBTrustDomain.cpp -index 7997cff..2bc7aa1 100644 ---- a/security/certverifier/NSSCertDBTrustDomain.cpp -+++ b/security/certverifier/NSSCertDBTrustDomain.cpp -@@ -47,6 +47,7 @@ - #include "nsThreadUtils.h" - #include "nss.h" - #include "pk11pub.h" -+#include "secmod.h" - #include "prerror.h" - #include "secder.h" - #include "secerr.h" -@@ -1789,6 +1790,9 @@ bool LoadUserModuleAt(const char* moduleName, const char* libraryName, - return true; - } - -+extern SECMODModule *SECMOD_LoadUserModuleWithFunction(const char *moduleName, -+ CK_C_GetFunctionList fentry); -+ - bool LoadUserModuleFromXul(const char* moduleName, - CK_C_GetFunctionList fentry) { - // If a module exists with the same name, make a best effort attempt to delete -diff --git a/security/manager/ssl/builtins/dynamic-library/moz.build b/security/manager/ssl/builtins/dynamic-library/moz.build -index cf06de7..edc675d 100644 ---- a/security/manager/ssl/builtins/dynamic-library/moz.build -+++ b/security/manager/ssl/builtins/dynamic-library/moz.build -@@ -20,6 +20,11 @@ else: - if CONFIG["OS_TARGET"] == "Android": - OS_LIBS += ["m"] - -+if CONFIG["OS_ARCH"] == "Haiku": -+ OS_LIBS += [ -+ "network", -+ ] -+ - if CONFIG["OS_ARCH"] == "WINNT": - OS_LIBS += [ - "advapi32", -diff --git a/security/manager/ssl/ipcclientcerts/dynamic-library/moz.build b/security/manager/ssl/ipcclientcerts/dynamic-library/moz.build -index 3db25ac..3d87cd4 100644 ---- a/security/manager/ssl/ipcclientcerts/dynamic-library/moz.build -+++ b/security/manager/ssl/ipcclientcerts/dynamic-library/moz.build -@@ -24,6 +24,11 @@ OS_LIBS += CONFIG["DL_LIBS"] - if CONFIG["OS_TARGET"] == "Android": - OS_LIBS += ["m"] - -+if CONFIG["OS_ARCH"] == "Haiku": -+ OS_LIBS += [ -+ "network", -+ ] -+ - if CONFIG["OS_ARCH"] == "WINNT": - OS_LIBS += [ - "advapi32", diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml -index 5564fc9..3178af8 100644 +index ed1dce3..41dfaf7 100644 --- a/supply-chain/audits.toml +++ b/supply-chain/audits.toml -@@ -2405,6 +2405,12 @@ criteria = "safe-to-deploy" +@@ -2445,6 +2445,12 @@ criteria = "safe-to-deploy" delta = "6.0.1 -> 6.0.2" notes = "I'm the author of the changes in this version of the crate." @@ -2438,7 +2386,7 @@ index 5564fc9..3178af8 100644 [[audits.goblin]] who = "Jan-Erik Rediger " criteria = "safe-to-deploy" -@@ -3034,6 +3040,12 @@ criteria = "safe-to-deploy" +@@ -3100,6 +3106,12 @@ criteria = "safe-to-deploy" version = "0.14.0" notes = "Victor and Myk developed this crate at Mozilla." @@ -2452,7 +2400,7 @@ index 5564fc9..3178af8 100644 who = "Mike Hommey " criteria = "safe-to-deploy" diff --git a/supply-chain/config.toml b/supply-chain/config.toml -index ebd5a8b..dfe3d95 100644 +index 97d3b52..afa2a07 100644 --- a/supply-chain/config.toml +++ b/supply-chain/config.toml @@ -68,6 +68,10 @@ notes = "Used for testing." @@ -2466,9 +2414,9 @@ index ebd5a8b..dfe3d95 100644 [policy.gluesmith] criteria = "safe-to-run" notes = "Used for fuzzing." -@@ -95,6 +99,10 @@ notes = "This override is an api-compatible fork with an orthogonal implementati - [policy."libz-rs-sys:0.2.1@git:4aa430ccb77537d0d60dab8db993ca51bb1194c5"] - audit-as-crates-io = true +@@ -92,6 +96,10 @@ notes = "This crate has two testing-only dependencies which are specified as reg + audit-as-crates-io = false + notes = "This override is an api-compatible fork with an orthogonal implementation." +[policy.lmdb-rkv-sys] +audit-as-crates-io = true @@ -2517,7 +2465,7 @@ index 1937db3..08fdd1d 100644 // Fallback implementation of `GetTID` using `pthread_self`. diff --git a/third_party/abseil-cpp/absl/log/internal/log_message.cc b/third_party/abseil-cpp/absl/log/internal/log_message.cc -index 4e9b08a..e5dab60 100644 +index 402883a..2113df0 100644 --- a/third_party/abseil-cpp/absl/log/internal/log_message.cc +++ b/third_party/abseil-cpp/absl/log/internal/log_message.cc @@ -222,7 +222,7 @@ void LogMessage::LogMessageData::InitializeEncodingAndFormat() { @@ -2559,6 +2507,19 @@ index 889bdb9..9400541 100644 is_ios = current_os == "ios" is_linux = current_os == "linux" is_bsd = current_os == "openbsd" +diff --git a/third_party/chromium/build/config/gcc/BUILD.gn b/third_party/chromium/build/config/gcc/BUILD.gn +index ebfa332..fbc53fe 100644 +--- a/third_party/chromium/build/config/gcc/BUILD.gn ++++ b/third_party/chromium/build/config/gcc/BUILD.gn +@@ -91,7 +91,7 @@ if (is_component_build && !is_android) { + # Settings for executables. + config("executable_config") { + configs = executable_and_shared_library_configs_ +- ldflags = [ "-pie" ] ++ ldflags = [ "-fPIC" ] + if (is_android) { + ldflags += [ + "-Bdynamic", diff --git a/third_party/dav1d/src/thread.h b/third_party/dav1d/src/thread.h index 459aace..b2989da 100644 --- a/third_party/dav1d/src/thread.h @@ -2587,7 +2548,7 @@ index 459aace..b2989da 100644 #define dav1d_set_thread_name(name) do {} while (0) diff --git a/third_party/libepoxy/libepoxy/src/dispatch_common.c b/third_party/libepoxy/libepoxy/src/dispatch_common.c -index 153eb7c..f59c4db 100644 +index 9f3dac4..e5ef5a8 100644 --- a/third_party/libepoxy/libepoxy/src/dispatch_common.c +++ b/third_party/libepoxy/libepoxy/src/dispatch_common.c @@ -306,8 +306,10 @@ get_dlopen_handle(void **handle, const char *lib_name, bool exit_on_fail, bool l @@ -2602,7 +2563,7 @@ index 153eb7c..f59c4db 100644 *handle = dlopen(lib_name, flags); if (!*handle) { diff --git a/third_party/libwebrtc/BUILD.gn b/third_party/libwebrtc/BUILD.gn -index 6f75ecb..43c9f86 100644 +index 14c47ef..9919577 100644 --- a/third_party/libwebrtc/BUILD.gn +++ b/third_party/libwebrtc/BUILD.gn @@ -210,7 +210,7 @@ config("common_inherited_config") { @@ -3588,11 +3549,11 @@ index 0000000..fe33782 + +#endif // MODULES_VIDEO_CAPTURE_MAIN_SOURCE_HAIKU_VIDEO_CAPTURE_HAIKU_H_ diff --git a/third_party/libwebrtc/modules/video_capture/video_capture_factory.cc b/third_party/libwebrtc/modules/video_capture/video_capture_factory.cc -index 2790fbb..16f4d58 100644 +index 0d12966..1fef378 100644 --- a/third_party/libwebrtc/modules/video_capture/video_capture_factory.cc +++ b/third_party/libwebrtc/modules/video_capture/video_capture_factory.cc @@ -24,7 +24,7 @@ rtc::scoped_refptr VideoCaptureFactory::Create( - const char* deviceUniqueIdUTF8) { + [[maybe_unused]] const char* deviceUniqueIdUTF8) { // This is only implemented on pure Linux and WEBRTC_LINUX is defined for // Android as well -#if (!defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)) || defined(WEBRTC_ANDROID) @@ -3601,7 +3562,7 @@ index 2790fbb..16f4d58 100644 #else return videocapturemodule::VideoCaptureImpl::Create(options, @@ -40,7 +40,7 @@ VideoCaptureModule::DeviceInfo* VideoCaptureFactory::CreateDeviceInfo( - VideoCaptureOptions* options) { + [[maybe_unused]] VideoCaptureOptions* options) { // This is only implemented on pure Linux and WEBRTC_LINUX is defined for // Android as well -#if (!defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)) || defined(WEBRTC_ANDROID) @@ -3610,10 +3571,10 @@ index 2790fbb..16f4d58 100644 #else return videocapturemodule::VideoCaptureImpl::CreateDeviceInfo(options); diff --git a/third_party/libwebrtc/rtc_base/BUILD.gn b/third_party/libwebrtc/rtc_base/BUILD.gn -index c12590e..56ed347 100644 +index 50c0526..420e84a 100644 --- a/third_party/libwebrtc/rtc_base/BUILD.gn +++ b/third_party/libwebrtc/rtc_base/BUILD.gn -@@ -1171,6 +1171,10 @@ rtc_library("ifaddrs_converter") { +@@ -1139,6 +1139,10 @@ rtc_library("ifaddrs_converter") { "ifaddrs_converter.h", ] } @@ -3781,7 +3742,7 @@ index c3c6955..5449ead 100644 zx_status_t status = zx_object_set_property(zx_thread_self(), ZX_PROP_NAME, name, strlen(name)); diff --git a/third_party/libwebrtc/system_wrappers/BUILD.gn b/third_party/libwebrtc/system_wrappers/BUILD.gn -index 802f016..e243790 100644 +index 62e1694..70186bb 100644 --- a/third_party/libwebrtc/system_wrappers/BUILD.gn +++ b/third_party/libwebrtc/system_wrappers/BUILD.gn @@ -63,7 +63,9 @@ rtc_library("system_wrappers") { @@ -3796,7 +3757,7 @@ index 802f016..e243790 100644 if (is_win) { diff --git a/third_party/libwebrtc/webrtc.gni b/third_party/libwebrtc/webrtc.gni -index 6e86706..e8ec8cd 100644 +index 7155b1d..4b76d92 100644 --- a/third_party/libwebrtc/webrtc.gni +++ b/third_party/libwebrtc/webrtc.gni @@ -145,7 +145,7 @@ declare_args() { @@ -3808,7 +3769,7 @@ index 6e86706..e8ec8cd 100644 # Set this to use PipeWire on the Wayland display server. # By default it's only enabled on desktop Linux (excludes ChromeOS) and -@@ -355,7 +355,7 @@ rtc_opus_dir = "//third_party/opus" +@@ -350,7 +350,7 @@ rtc_opus_dir = "//third_party/opus" # Desktop capturer is supported only on Windows, OSX and Linux. rtc_desktop_capture_supported = @@ -4181,14 +4142,56 @@ index 01741d0..ad4f34d 100644 (defined(__GLIBC__) && GLIBC_VER < 0x020004)) # define MDB_USE_ROBUST 0 # else +diff --git a/third_party/rust/mtu/.cargo-checksum.json b/third_party/rust/mtu/.cargo-checksum.json +index 599d7cd..a0fbf2f 100644 +--- a/third_party/rust/mtu/.cargo-checksum.json ++++ b/third_party/rust/mtu/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{"CODE_OF_CONDUCT.md":"f7b4cba1deaa0a77bd611c04c84ef5b6859e44c8370f7513fe688fb9531b913b","Cargo.lock":"0d7b4f80f302400b5fba9847542ab3a0e94dd50bb0d27111927a6e4037b42eef","Cargo.toml":"82ab8662dd7a9c324bd23a7234fa2b8d6df9a9cab2b9baa778039bb55666bfb8","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"4ad721b5b6a3d39ca3e2202f403d897c4a1d42896486dd58963a81f8e64ef61d","README.md":"2c9cce2eb06f0897e9b2fb68d8fa640da581bf440c26f266f8af5b3edb02dc6a","SECURITY.md":"75455814b6cf997e22a927eb979b4356d788583aa1eb96e90853aaab0f82ad1b","build.rs":"c26ac0385171924eefec5ce864067419bb023961b054abaf060d8da567dc6241","src/bsd.rs":"e680ddb399419bb67219fa1c0d3e6672d32023f325584869bd050e2f2ecc8ff9","src/lib.rs":"a59ae67763bc6bb9e6a4f7e7af61fed722ca032b667276a68e6ad687f1fe1e6e","src/linux.rs":"4e99612a04d744e2ca22b2e353faa500b37cb58caddaecb7566b4748aa1f7209","src/routesocket.rs":"be837947e2c3f9301a174499217fe8920ff492918bf85ca5eb281eb7ad2240e1","src/windows.rs":"b139c7aaa0c39415ce1773f1c9569be1a6b82dfe82334ab0c6cb80e7d232363e"},"package":"4c30d3771729ec4349aae3b1a7c0b6b4a1500459e60b1fda95fe0657c3711574"} +\ No newline at end of file ++{"files":{"CODE_OF_CONDUCT.md":"f7b4cba1deaa0a77bd611c04c84ef5b6859e44c8370f7513fe688fb9531b913b","Cargo.lock":"0d7b4f80f302400b5fba9847542ab3a0e94dd50bb0d27111927a6e4037b42eef","Cargo.toml":"82ab8662dd7a9c324bd23a7234fa2b8d6df9a9cab2b9baa778039bb55666bfb8","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"4ad721b5b6a3d39ca3e2202f403d897c4a1d42896486dd58963a81f8e64ef61d","README.md":"2c9cce2eb06f0897e9b2fb68d8fa640da581bf440c26f266f8af5b3edb02dc6a","SECURITY.md":"75455814b6cf997e22a927eb979b4356d788583aa1eb96e90853aaab0f82ad1b","build.rs":"3ef3722b2dea6248b55e58e9884e618633b63caee15029d2fc993264a239b5f6","src/bsd.rs":"e680ddb399419bb67219fa1c0d3e6672d32023f325584869bd050e2f2ecc8ff9","src/lib.rs":"e12374910adce285b092808ea2254cd5294ea8d8aec6c8c8998cee1b01df4ee4","src/linux.rs":"4e99612a04d744e2ca22b2e353faa500b37cb58caddaecb7566b4748aa1f7209","src/routesocket.rs":"be837947e2c3f9301a174499217fe8920ff492918bf85ca5eb281eb7ad2240e1","src/windows.rs":"b139c7aaa0c39415ce1773f1c9569be1a6b82dfe82334ab0c6cb80e7d232363e"},"package":"4c30d3771729ec4349aae3b1a7c0b6b4a1500459e60b1fda95fe0657c3711574"} +diff --git a/third_party/rust/mtu/build.rs b/third_party/rust/mtu/build.rs +index fdd7366..7b29700 100644 +--- a/third_party/rust/mtu/build.rs ++++ b/third_party/rust/mtu/build.rs +@@ -47,14 +47,14 @@ fn bindgen() { + // Platforms currently not supported. + // + // See . +- if matches!(target_os.as_str(), "ios" | "tvos" | "visionos") { ++ if matches!(target_os.as_str(), "ios" | "tvos" | "visionos" | "haiku") { + return; + } + + if target_os == "windows" { + return; + } +- ++ + let bindings = if matches!(target_os.as_str(), "linux" | "android") { + bindgen::Builder::default() + .header_contents("rtnetlink.h", "#include ") +diff --git a/third_party/rust/mtu/src/lib.rs b/third_party/rust/mtu/src/lib.rs +index 14fcc2a..104cef6 100644 +--- a/third_party/rust/mtu/src/lib.rs ++++ b/third_party/rust/mtu/src/lib.rs +@@ -101,7 +101,7 @@ const fn aligned_by(size: usize, align: usize) -> usize { + // Platforms currently not supported. + // + // See . +-#[cfg(any(target_os = "ios", target_os = "tvos", target_os = "visionos"))] ++#[cfg(any(target_os = "ios", target_os = "tvos", target_os = "visionos", target_os = "haiku"))] + pub fn interface_and_mtu_impl(remote: IpAddr) -> Result<(String, usize)> { + return Err(default_err()); + } diff --git a/third_party/rust/quinn-udp/.cargo-checksum.json b/third_party/rust/quinn-udp/.cargo-checksum.json -index 37b14c8..0706460 100644 +index 21b2522..dd523c6 100644 --- a/third_party/rust/quinn-udp/.cargo-checksum.json +++ b/third_party/rust/quinn-udp/.cargo-checksum.json @@ -1 +1 @@ --{"files":{"Cargo.toml":"739bf78e6b796c0d89224ba2bbed4350a16536fc1ebac928c018dbdee46a3686","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"4b2d0aca6789fa39e03d6738e869ea0988cceba210ca34ebb59c15c463e93a04","benches/throughput.rs":"095137508f85b68174978ff968cade74587751484402ca09269ffc2631d97f34","build.rs":"f15147312964f6a6dfc1a3b3d9645022c14a7be8bdb9bd321afc9a218235b431","src/cmsg/mod.rs":"63d6ea7126341fededdaef14260a7eed715ad3f507d4da586dbab814f581a54d","src/cmsg/unix.rs":"7917bce2f3c8e844eca2e4cfea82669b2a31cf311321dc42532626db4ee42de8","src/cmsg/windows.rs":"6fb936ec4a283efc5796872e777441e3039c40589073865644a8ef7936af4f4b","src/fallback.rs":"6378c177db7ba0eb88115b63f1ec9e17b05f53b1daae2c1e215520f103145585","src/lib.rs":"3c20f8012db32df03acb8b76094ce3f86f112159adf5e51ac9e2e9dec86516f1","src/unix.rs":"6583182c85cdaf7e1232332d161e4e537a3ea66b33604634daeba87df337dd9d","src/windows.rs":"09554e6b40fae544c1985b04dbe402454e0591877df243b10e86ff780a92aa1b","tests/tests.rs":"babb0fc08884958203b2a0546647e44a67f6b457fe2784935e32d73becb20f4c"},"package":"1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904"} +-{"files":{"Cargo.lock":"9fc873d0855dcb2bd5547c54d24631c95aebf9418432d6703d34c7dc7f20c54b","Cargo.toml":"f8746c995acf25451d3760b5ca5936f39cc19e99e7afebcf3d42688ca5b5627a","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"4b2d0aca6789fa39e03d6738e869ea0988cceba210ca34ebb59c15c463e93a04","benches/throughput.rs":"095137508f85b68174978ff968cade74587751484402ca09269ffc2631d97f34","build.rs":"1d7ecadda4a26fb0eba598789eef9b99a1b4febba9bcb61a34f0c92b1d1bbaeb","src/cmsg/mod.rs":"63d6ea7126341fededdaef14260a7eed715ad3f507d4da586dbab814f581a54d","src/cmsg/unix.rs":"b13d36e757eef3038303e9429573ca29c31aff406592514c304bba73e1bff22f","src/cmsg/windows.rs":"6fb936ec4a283efc5796872e777441e3039c40589073865644a8ef7936af4f4b","src/fallback.rs":"6378c177db7ba0eb88115b63f1ec9e17b05f53b1daae2c1e215520f103145585","src/lib.rs":"ff2012fc0733e0cf98970a50c2ed988e9f2564a3de1baf6f0f532d36fd1ad8bb","src/unix.rs":"6583182c85cdaf7e1232332d161e4e537a3ea66b33604634daeba87df337dd9d","src/windows.rs":"a41c5b9d45938b4cfc0f8e386ec32bb4843ddc801185f25cb0abae8c82b7155f","tests/tests.rs":"babb0fc08884958203b2a0546647e44a67f6b457fe2784935e32d73becb20f4c"},"package":"e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944"} \ No newline at end of file -+{"files":{"Cargo.toml":"739bf78e6b796c0d89224ba2bbed4350a16536fc1ebac928c018dbdee46a3686","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"4b2d0aca6789fa39e03d6738e869ea0988cceba210ca34ebb59c15c463e93a04","benches/throughput.rs":"095137508f85b68174978ff968cade74587751484402ca09269ffc2631d97f34","build.rs":"f15147312964f6a6dfc1a3b3d9645022c14a7be8bdb9bd321afc9a218235b431","src/cmsg/mod.rs":"63d6ea7126341fededdaef14260a7eed715ad3f507d4da586dbab814f581a54d","src/cmsg/unix.rs":"7917bce2f3c8e844eca2e4cfea82669b2a31cf311321dc42532626db4ee42de8","src/cmsg/windows.rs":"6fb936ec4a283efc5796872e777441e3039c40589073865644a8ef7936af4f4b","src/fallback.rs":"6378c177db7ba0eb88115b63f1ec9e17b05f53b1daae2c1e215520f103145585","src/lib.rs":"3c20f8012db32df03acb8b76094ce3f86f112159adf5e51ac9e2e9dec86516f1","src/unix.rs":"8d7ca923a3f523239f8912d171718cc17b4ffd27b99208104b3795765c488f58","src/windows.rs":"09554e6b40fae544c1985b04dbe402454e0591877df243b10e86ff780a92aa1b","tests/tests.rs":"babb0fc08884958203b2a0546647e44a67f6b457fe2784935e32d73becb20f4c"},"package":"1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904"} ++{"files":{"Cargo.lock":"9fc873d0855dcb2bd5547c54d24631c95aebf9418432d6703d34c7dc7f20c54b","Cargo.toml":"f8746c995acf25451d3760b5ca5936f39cc19e99e7afebcf3d42688ca5b5627a","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"4b2d0aca6789fa39e03d6738e869ea0988cceba210ca34ebb59c15c463e93a04","benches/throughput.rs":"095137508f85b68174978ff968cade74587751484402ca09269ffc2631d97f34","build.rs":"1d7ecadda4a26fb0eba598789eef9b99a1b4febba9bcb61a34f0c92b1d1bbaeb","src/cmsg/mod.rs":"63d6ea7126341fededdaef14260a7eed715ad3f507d4da586dbab814f581a54d","src/cmsg/unix.rs":"b13d36e757eef3038303e9429573ca29c31aff406592514c304bba73e1bff22f","src/cmsg/windows.rs":"6fb936ec4a283efc5796872e777441e3039c40589073865644a8ef7936af4f4b","src/fallback.rs":"6378c177db7ba0eb88115b63f1ec9e17b05f53b1daae2c1e215520f103145585","src/lib.rs":"ff2012fc0733e0cf98970a50c2ed988e9f2564a3de1baf6f0f532d36fd1ad8bb","src/unix.rs":"8d7ca923a3f523239f8912d171718cc17b4ffd27b99208104b3795765c488f58","src/windows.rs":"a41c5b9d45938b4cfc0f8e386ec32bb4843ddc801185f25cb0abae8c82b7155f","tests/tests.rs":"babb0fc08884958203b2a0546647e44a67f6b457fe2784935e32d73becb20f4c"},"package":"e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944"} diff --git a/third_party/rust/quinn-udp/src/unix.rs b/third_party/rust/quinn-udp/src/unix.rs index c39941d..36e4dde 100644 --- a/third_party/rust/quinn-udp/src/unix.rs @@ -4450,7 +4453,7 @@ index d5c0aca..506a7b1 100644 UNIFIED_SOURCES += ["ProcInfo_linux.cpp"] elif toolkit == "windows": diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build -index 2f33348..8203d3e 100644 +index 841bab1..6a58715 100644 --- a/toolkit/library/moz.build +++ b/toolkit/library/moz.build @@ -344,6 +344,10 @@ if CONFIG["OS_ARCH"] == "Darwin": @@ -4465,7 +4468,7 @@ index 2f33348..8203d3e 100644 if CONFIG["OS_ARCH"] == "WINNT": OS_LIBS += [ diff --git a/toolkit/library/rust/moz.build b/toolkit/library/rust/moz.build -index 0926e21..da8ff80 100644 +index 34c94a1..56edb0a 100644 --- a/toolkit/library/rust/moz.build +++ b/toolkit/library/rust/moz.build @@ -8,6 +8,12 @@ include("gkrust-features.mozbuild") @@ -4556,10 +4559,10 @@ index 360a7db..69b089f 100644 return elemString; diff --git a/toolkit/moz.configure b/toolkit/moz.configure -index 5873dbe..1534ba4 100644 +index e5e5176..b14c7eb 100644 --- a/toolkit/moz.configure +++ b/toolkit/moz.configure -@@ -293,6 +293,8 @@ def audio_backends_default(target): +@@ -299,6 +299,8 @@ def audio_backends_default(target): return ("sndio",) elif target.kernel == "Darwin": return ("audiounit",) @@ -4568,7 +4571,7 @@ index 5873dbe..1534ba4 100644 elif target.os == "NetBSD": return ("sunaudio",) elif target.os == "SunOS": -@@ -310,6 +312,7 @@ option( +@@ -316,6 +318,7 @@ option( "aaudio", "alsa", "audiounit", @@ -4576,7 +4579,7 @@ index 5873dbe..1534ba4 100644 "jack", "opensl", "oss", -@@ -348,6 +351,11 @@ def imply_audiounit(values, target): +@@ -354,6 +357,11 @@ def imply_audiounit(values, target): return any("audiounit" in value for value in values) or None @@ -4588,7 +4591,7 @@ index 5873dbe..1534ba4 100644 @depends("--enable-audio-backends") def imply_jack(values): return any("jack" in value for value in values) or None -@@ -411,6 +419,8 @@ imply_option( +@@ -417,6 +425,8 @@ imply_option( set_config("MOZ_AUDIOUNIT_RUST", imply_audiounit, when="--enable-audio-backends") @@ -4597,7 +4600,7 @@ index 5873dbe..1534ba4 100644 imply_option( "--enable-jack", imply_jack, reason="--enable-audio-backends", when=use_pkg_config ) -@@ -3054,6 +3064,7 @@ def forkserver_default(target, build_project): +@@ -3061,6 +3071,7 @@ def forkserver_default(target, build_project): (target.os == "GNU" and target.kernel == "Linux") or target.os == "FreeBSD" or target.os == "OpenBSD" @@ -4605,7 +4608,7 @@ index 5873dbe..1534ba4 100644 ) -@@ -3576,7 +3587,7 @@ with only_when(compile_environment): +@@ -3661,7 +3672,7 @@ with only_when(compile_environment): @depends(target) def default_user_appdir(target): @@ -4734,10 +4737,10 @@ index 0000000..8c3bf79 +CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] diff --git a/toolkit/system/haiku/nsAlertsIconListener.cpp b/toolkit/system/haiku/nsAlertsIconListener.cpp new file mode 100644 -index 0000000..f556f6b +index 0000000..e90fe1c --- /dev/null +++ b/toolkit/system/haiku/nsAlertsIconListener.cpp -@@ -0,0 +1,299 @@ +@@ -0,0 +1,302 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -4868,9 +4871,12 @@ index 0000000..f556f6b +} + + -+nsAlertsIconListener::nsAlertsIconListener(nsSystemAlertsService* aBackend, -+ const nsAString& aAlertName) -+ : mAlertName(aAlertName), mBackend(aBackend) { ++nsAlertsIconListener::nsAlertsIconListener( ++ nsSystemAlertsService* aBackend, nsIAlertNotification* aAlertNotification, ++ const nsAString& aAlertName) ++ : mAlertName(aAlertName), ++ mBackend(aBackend), ++ mAlertNotification(aAlertNotification) { +} + +nsAlertsIconListener::~nsAlertsIconListener() { @@ -5039,10 +5045,10 @@ index 0000000..f556f6b +} diff --git a/toolkit/system/haiku/nsAlertsIconListener.h b/toolkit/system/haiku/nsAlertsIconListener.h new file mode 100644 -index 0000000..983e5a5 +index 0000000..257cc1f --- /dev/null +++ b/toolkit/system/haiku/nsAlertsIconListener.h -@@ -0,0 +1,72 @@ +@@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -5080,6 +5086,7 @@ index 0000000..983e5a5 + NS_DECL_NSIOBSERVER + + nsAlertsIconListener(nsSystemAlertsService* aBackend, ++ nsIAlertNotification* aAlertNotification, + const nsAString& aAlertName); + + nsresult InitAlertAsync(nsIAlertNotification* aAlert, @@ -5104,6 +5111,7 @@ index 0000000..983e5a5 + nsString mAlertName; + + RefPtr mBackend; ++ nsCOMPtr mAlertNotification; + + bool mAlertHasAction; + bool mAlertIsSilent; @@ -5116,11 +5124,11 @@ index 0000000..983e5a5 + +#endif diff --git a/toolkit/themes/shared/popup.css b/toolkit/themes/shared/popup.css -index 648c65a..7263a13 100644 +index ed0caa9..42b7ae1 100644 --- a/toolkit/themes/shared/popup.css +++ b/toolkit/themes/shared/popup.css -@@ -49,6 +49,12 @@ panel { - --panel-border-radius: 0px !important; +@@ -59,6 +59,12 @@ panel { + --panel-shadow-margin: 0px; } + /* Disable border-radius and shadow for Haiku popups */ @@ -5145,7 +5153,7 @@ index c50b7f3..19f155c 100644 if CONFIG["ENABLE_WEBDRIVER"]: diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp -index 4a663a5..bcd9d96 100644 +index bdd95b8..62d98ad 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp @@ -344,14 +344,16 @@ MOZ_CONSTINIT nsString gProcessStartupShortcut; @@ -5185,7 +5193,7 @@ index 4a663a5..bcd9d96 100644 } #else bool IsWaylandEnabled() { return false; } -@@ -3761,7 +3767,7 @@ class XREMain { +@@ -3773,7 +3779,7 @@ class XREMain { #endif }; @@ -5194,7 +5202,7 @@ index 4a663a5..bcd9d96 100644 static SmprintfPointer FormatUid(uid_t aId) { if (const auto pw = getpwuid(aId)) { return mozilla::Smprintf("%s", pw->pw_name); -@@ -3810,7 +3816,7 @@ static bool CheckForUserMismatch() { +@@ -3822,7 +3828,7 @@ static bool CheckForUserMismatch() { } return false; } @@ -5203,7 +5211,7 @@ index 4a663a5..bcd9d96 100644 static bool CheckForUserMismatch() { return false; } #endif -@@ -4802,7 +4808,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { +@@ -4815,7 +4821,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { // display_name is owned by gdk. display_name = gdk_get_display_arg_name(); bool waylandEnabled = IsWaylandEnabled(); @@ -5212,7 +5220,7 @@ index 4a663a5..bcd9d96 100644 if (!display_name) { auto* proxyEnv = getenv("MOZ_DISABLE_WAYLAND_PROXY"); bool disableWaylandProxy = proxyEnv && *proxyEnv; -@@ -4857,7 +4863,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { +@@ -4870,7 +4876,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { } else { gdk_display_manager_open_display(gdk_display_manager_get(), nullptr); } @@ -5221,7 +5229,7 @@ index 4a663a5..bcd9d96 100644 // We want to use proxy for main connection only so // restore original Wayland display for next potential Wayland connections // from gfx probe code and so on. -@@ -6139,7 +6145,9 @@ int XREMain::XRE_main(int argc, char* argv[], const BootstrapConfig& aConfig) { +@@ -6156,7 +6162,9 @@ int XREMain::XRE_main(int argc, char* argv[], const BootstrapConfig& aConfig) { if (!gfxPlatform::IsHeadless()) { # ifdef MOZ_WAYLAND WaylandDisplayRelease(); @@ -5331,7 +5339,7 @@ index 4c53061..76d3561 100644 # else diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build -index fb086cf..1b1b941 100644 +index a3d475e..ced2c38 100644 --- a/widget/gtk/moz.build +++ b/widget/gtk/moz.build @@ -23,7 +23,9 @@ if CONFIG["COMPILE_ENVIRONMENT"]: @@ -5346,7 +5354,7 @@ index fb086cf..1b1b941 100644 if CONFIG["MOZ_ENABLE_VAAPI"]: DIRS += ["vaapitest"] diff --git a/widget/gtk/nsWaylandDisplay.cpp b/widget/gtk/nsWaylandDisplay.cpp -index 8cfcdce..383e2af 100644 +index e5b974b..3b65ec6 100644 --- a/widget/gtk/nsWaylandDisplay.cpp +++ b/widget/gtk/nsWaylandDisplay.cpp @@ -20,7 +20,9 @@ @@ -5376,7 +5384,7 @@ index 8cfcdce..383e2af 100644 } void nsWaylandDisplay::RemovePointer() { -@@ -619,19 +623,22 @@ static void WlLogHandler(const char* format, va_list args) { +@@ -631,19 +635,22 @@ static void WlLogHandler(const char* format, va_list args) { if (strstr(error, "still attached")) { return; }