iceweasel: bump version

This commit is contained in:
Gerasim Troeglazov
2025-04-02 18:53:40 +10:00
parent 6558eda389
commit 5111b5eefd
2 changed files with 213 additions and 206 deletions

View File

@@ -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|" \

View File

@@ -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 <unistd.h>
#include <string.h>
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 <jrediger@mozilla.com>"
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 <mh+mozilla@glandium.org>"
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<VideoCaptureModule> 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 <https://github.com/mozilla/mtu/issues/82>.
- 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 <linux/rtnetlink.h>")
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 <https://github.com/mozilla/mtu/issues/82>.
-#[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<nsSystemAlertsService> mBackend;
+ nsCOMPtr<nsIAlertNotification> 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;
}