iceweasel: bump version

This commit is contained in:
Gerasim Troeglazov
2025-06-01 11:24:09 +10:00
parent 8d4b596d86
commit 291f9ac150
3 changed files with 372 additions and 124 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="a27f3ab41d635b2a1d8418289d1dedcd6cb532148c7d63d3f8b97c66445513e4"
CHECKSUM_SHA256="5b716ee9e6339a0de8e42f81c1d7dadca5c03e91ee9b2fa8e78357a631b499b0"
SOURCE_DIR="firefox-$portVersion"
PATCHES="
iceweasel-$portVersion.patchset
@@ -51,8 +51,6 @@ REQUIRES="
BUILD_REQUIRES="
haiku_devel
setuptools_python310
setuptools_rust_python310
devel:libdbus_1
devel:libdbus_glib_1
devel:libevent
@@ -67,7 +65,7 @@ BUILD_REQUIRES="
devel:libzstd
"
BUILD_PREREQUIRES="
llvm18
llvm20
nodejs20
rust_bin
cmd:autoconf_2.13
@@ -77,7 +75,7 @@ BUILD_PREREQUIRES="
cmd:gcc
cmd:git
cmd:gn
cmd:lld >= 18
cmd:lld >= 20
cmd:m4
cmd:make
cmd:nasm

View File

@@ -1,6 +1,6 @@
From eaec14d7b33f86ed450f90397eac5be5d89b8432 Mon Sep 17 00:00:00 2001
From dfeb3b2d62c0822c7a3c407e364c4bd34c753abb Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 7 May 2025 10:18:43 +1000
Date: Sun, 1 Jun 2025 00:33:54 +1000
Subject: Add Haiku build support
Based on patches sourced from https://github.com/kenz-gelsoft/gecko-dev/
@@ -14,10 +14,10 @@ Based on patches sourced from https://github.com/kenz-gelsoft/gecko-dev/
- Implement remote server
diff --git a/Cargo.lock b/Cargo.lock
index 38508ff..4c0ff17 100644
index b2d1ec6..798cffd 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3657,7 +3657,6 @@ dependencies = [
@@ -3743,7 +3743,6 @@ dependencies = [
name = "lmdb-rkv-sys"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -26,7 +26,7 @@ index 38508ff..4c0ff17 100644
"cc",
"libc",
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index 89b8b83..3a4a918 100644
index beced80..80002cd 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -15,7 +15,9 @@
@@ -40,7 +40,7 @@ index 89b8b83..3a4a918 100644
#endif
#endif
@@ -272,7 +274,7 @@ pref("browser.fixup.domainsuffixwhitelist.local", true);
@@ -268,7 +270,7 @@ pref("browser.fixup.domainsuffixwhitelist.local", true);
// search string, that may contain a valid host, to a search engine.
pref("browser.fixup.dns_first_for_single_words", false);
@@ -49,7 +49,7 @@ index 89b8b83..3a4a918 100644
pref("general.autoScroll", false);
#else
pref("general.autoScroll", true);
@@ -1084,7 +1086,7 @@ pref("security.allow_parent_unrestricted_js_loads", false);
@@ -1082,7 +1084,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
@@ -59,7 +59,7 @@ index 89b8b83..3a4a918 100644
#else
pref("browser.tabs.searchclipboardfor.middleclick", false);
diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc
index 269b025..11fb0a4 100644
index 2f46cce..40092ff 100644
--- a/browser/base/content/browser-sets.inc
+++ b/browser/base/content/browser-sets.inc
@@ -6,6 +6,12 @@
@@ -75,7 +75,7 @@ index 269b025..11fb0a4 100644
#endif
#endif
@@ -201,7 +207,7 @@
@@ -200,7 +206,7 @@
<key keycode="VK_BACK" command="cmd_handleBackspace" reserved="false"/>
<key keycode="VK_BACK" command="cmd_handleShiftBackspace" modifiers="shift" reserved="false"/>
@@ -84,7 +84,7 @@ index 269b025..11fb0a4 100644
<key id="goBackKb" keycode="VK_LEFT" command="Browser:Back" modifiers="alt"/>
<key id="goForwardKb" keycode="VK_RIGHT" command="Browser:Forward" modifiers="alt"/>
#else
@@ -346,10 +352,14 @@
@@ -345,10 +351,14 @@
<key id="key_undoCloseWindow" command="History:UndoCloseWindow" data-l10n-id="window-new-shortcut" modifiers="accel,shift"/>
#ifdef XP_GNOME
@@ -113,7 +113,7 @@ index fbbe9d0..d0772b8 100644
stdout, returncode = _run_process(args)
diff --git a/build/gecko_templates.mozbuild b/build/gecko_templates.mozbuild
index 11b51ae..7c04ddf 100644
index af2fc4f..e61403a 100644
--- a/build/gecko_templates.mozbuild
+++ b/build/gecko_templates.mozbuild
@@ -44,7 +44,8 @@ def GeckoBinary(linkage="dependent", mozglue=None):
@@ -127,7 +127,7 @@ index 11b51ae..7c04ddf 100644
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 c3b9e85..9af7945 100644
index 44c48eb..6bf9116 100644
--- a/build/gn_processor.py
+++ b/build/gn_processor.py
@@ -184,6 +184,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target):
@@ -138,7 +138,7 @@ index c3b9e85..9af7945 100644
"android": "Android",
"linux": "Linux",
"mac": "Darwin",
@@ -779,7 +780,7 @@ def main():
@@ -809,7 +810,7 @@ def main():
vars_set = []
for is_debug in (True, False):
@@ -147,7 +147,7 @@ index c3b9e85..9af7945 100644
target_cpus = ["x64"]
if target_os in ("android", "linux", "mac", "win", "openbsd"):
target_cpus.append("arm64")
@@ -796,7 +797,7 @@ def main():
@@ -826,7 +827,7 @@ def main():
"host_cpu": "x64",
"is_debug": is_debug,
"target_cpu": target_cpu,
@@ -156,7 +156,7 @@ index c3b9e85..9af7945 100644
}
if target_os == "linux":
for use_x11 in (True, False):
@@ -805,6 +806,10 @@ def main():
@@ -835,6 +836,10 @@ def main():
else:
if target_os == "openbsd":
vars["use_x11"] = True
@@ -168,7 +168,7 @@ index c3b9e85..9af7945 100644
preprocessor = load_preprocessor(config.get("preprocessing_script", None))
diff --git a/build/moz.configure/bindgen.configure b/build/moz.configure/bindgen.configure
index 2738f77..806ce8d 100644
index af5a0cd..1d6be80 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):
@@ -181,7 +181,7 @@ index 2738f77..806ce8d 100644
if host.os == "OpenBSD":
diff --git a/build/moz.configure/flags.configure b/build/moz.configure/flags.configure
index 99260f7..21792f6 100644
index f0f4d7a..297718d 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)
@@ -194,10 +194,10 @@ index 99260f7..21792f6 100644
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 9bf4bb2..4c911a3 100644
index 0cc8d70..bd8899d 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -513,6 +513,8 @@ def split_triplet(triplet, allow_wasi=False):
@@ -500,6 +500,8 @@ def split_triplet(triplet, allow_wasi=False):
canonical_os = canonical_kernel = "DragonFly"
elif os.startswith("freebsd"):
canonical_os = canonical_kernel = "FreeBSD"
@@ -206,7 +206,7 @@ index 9bf4bb2..4c911a3 100644
elif os.startswith("netbsd"):
canonical_os = canonical_kernel = "NetBSD"
elif os.startswith("openbsd"):
@@ -941,6 +943,15 @@ def target_is_freebsd(target):
@@ -928,6 +930,15 @@ def target_is_freebsd(target):
set_define("XP_FREEBSD", target_is_freebsd)
@@ -223,10 +223,10 @@ index 9bf4bb2..4c911a3 100644
def target_is_solaris(target):
if target.kernel == "SunOS":
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
index 8fa9277..c6eb2ec 100644
index 3100bc0..4f775c3 100644
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -2943,7 +2943,7 @@ def security_hardening_cflags(
@@ -2951,7 +2951,7 @@ def security_hardening_cflags(
if (
c_compiler.type == "clang"
and c_compiler.version >= "11.0.1"
@@ -236,7 +236,7 @@ index 8fa9277..c6eb2ec 100644
):
flags.append("-fstack-clash-protection")
diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
index 29f5a8a..5551187 100644
index 49fbe0d..1d0531d 100644
--- a/config/makefiles/rust.mk
+++ b/config/makefiles/rust.mk
@@ -134,6 +134,10 @@ ifdef DEVELOPER_OPTIONS
@@ -562,7 +562,7 @@ index 1c04ba7..c6257e0 100644
if (range.length()) {
// Allocation was successful
diff --git a/gfx/skia/skia/include/private/base/SkTArray.h b/gfx/skia/skia/include/private/base/SkTArray.h
index 879bebe..eee6750 100644
index a0ec09e..59d98a3 100644
--- a/gfx/skia/skia/include/private/base/SkTArray.h
+++ b/gfx/skia/skia/include/private/base/SkTArray.h
@@ -562,7 +562,7 @@ private:
@@ -671,7 +671,7 @@ index c622c58..d6cb21b 100644
static const char kFDDir[] = "/proc/self/fd";
#elif defined(XP_DARWIN)
diff --git a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
index 9b4a9d8..5b8f34f 100644
index 085e570..c7bae19 100644
--- a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
+++ b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
@@ -288,6 +288,18 @@ bool Channel::ChannelImpl::ProcessIncomingMessages() {
@@ -716,8 +716,21 @@ index 1ff12f6..b49b16a 100644
// Linux, {Free,Net,Open}BSD, and Solaris; but not macOS, yet.
# define HAVE_PIPE2 1
#endif
diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp
index 7e41545..14c520c 100644
--- a/ipc/glue/GeckoChildProcessHost.cpp
+++ b/ipc/glue/GeckoChildProcessHost.cpp
@@ -1121,7 +1121,7 @@ Result<Ok, LaunchError> BaseProcessLauncher::DoSetup() {
#if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN)
geckoargs::sCrashReporter.Put(CrashReporter::GetChildNotificationPipe(),
mChildArgs);
-#elif defined(XP_UNIX) && !defined(XP_IOS)
+#elif defined(XP_UNIX) && !defined(XP_IOS) && !defined(XP_HAIKU)
UniqueFileHandle childCrashFd = CrashReporter::GetChildNotificationPipe();
if (!childCrashFd) {
return Err(LaunchError("DuplicateFileHandle failed"));
diff --git a/js/src/moz.build b/js/src/moz.build
index 8ce0179..2e86330 100644
index b6a3ccf..b196a9a 100644
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -507,6 +507,11 @@ elif CONFIG["OS_ARCH"] == "WASI":
@@ -1827,7 +1840,7 @@ 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 a21ee9d..68d78f3 100644
index 82a2ee5..ade709b 100644
--- a/mfbt/Assertions.h
+++ b/mfbt/Assertions.h
@@ -231,7 +231,7 @@ MOZ_NoReturn(int aLine) {
@@ -1840,10 +1853,10 @@ index a21ee9d..68d78f3 100644
# define MOZ_REALLY_CRASH(line) __builtin_trap()
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
index a8ba391..7e1cc81 100644
index 308f3d4..89dd6bc 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -11167,6 +11167,8 @@
@@ -11192,6 +11192,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1852,7 +1865,7 @@ index a8ba391..7e1cc81 100644
#else
value: false
#endif
@@ -11211,6 +11213,8 @@
@@ -11236,6 +11238,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1861,7 +1874,7 @@ index a8ba391..7e1cc81 100644
#else
value: false
#endif
@@ -11244,6 +11248,8 @@
@@ -11269,6 +11273,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1870,7 +1883,7 @@ index a8ba391..7e1cc81 100644
#else
value: false
#endif
@@ -11263,6 +11269,8 @@
@@ -11288,6 +11294,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1879,7 +1892,7 @@ index a8ba391..7e1cc81 100644
#else
value: false
#endif
@@ -11282,6 +11290,8 @@
@@ -11307,6 +11315,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1888,7 +1901,7 @@ index a8ba391..7e1cc81 100644
#else
value: false
#endif
@@ -11301,6 +11311,8 @@
@@ -11326,6 +11336,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1897,7 +1910,7 @@ index a8ba391..7e1cc81 100644
#else
value: false
#endif
@@ -11332,6 +11344,8 @@
@@ -11354,6 +11366,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1906,7 +1919,7 @@ index a8ba391..7e1cc81 100644
#else
value: false
#endif
@@ -12323,6 +12337,8 @@
@@ -12345,6 +12359,8 @@
type: bool
#if defined(MOZ_WIDGET_ANDROID)
value: true
@@ -1916,10 +1929,10 @@ index a8ba391..7e1cc81 100644
value: false
#endif
diff --git a/moz.configure b/moz.configure
index 5e9cc42..c5a79e2 100755
index 8a11d55..4db32ce 100755
--- a/moz.configure
+++ b/moz.configure
@@ -865,6 +865,8 @@ def strip_flags(flags, profiling, target):
@@ -862,6 +862,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"]
@@ -2208,10 +2221,10 @@ index f9fa0f6..7bb78a9 100644
long pageSize = sysconf(_SC_PAGESIZE);
long pageCount = sysconf(_SC_PHYS_PAGES);
diff --git a/python/mach/mach/site.py b/python/mach/mach/site.py
index 8f49a78..c69c15b 100644
index bbcbc44..f6107aa 100644
--- a/python/mach/mach/site.py
+++ b/python/mach/mach/site.py
@@ -1472,6 +1472,14 @@ def _create_venv_with_pthfile(
@@ -1466,6 +1466,14 @@ def _create_venv_with_pthfile(
_ensure_python_exe(Path(target_venv.python_path).parent)
@@ -2227,10 +2240,10 @@ index 8f49a78..c69c15b 100644
pthfile_contents = "\n".join(pthfile_lines)
with open(os.path.join(platlib_site_packages_dir, PTH_FILENAME), "w") as f:
diff --git a/python/mozboot/mozboot/base.py b/python/mozboot/mozboot/base.py
index 81f9b52..24b2c4f 100644
index f40c9ec..09eec7d 100644
--- a/python/mozboot/mozboot/base.py
+++ b/python/mozboot/mozboot/base.py
@@ -573,6 +573,8 @@ class BaseBootstrapper(object):
@@ -573,6 +573,8 @@ class BaseBootstrapper:
if modern:
print("Your version of Rust (%s) is new enough." % version)
@@ -2240,7 +2253,7 @@ index 81f9b52..24b2c4f 100644
elif version:
print("Your version of Rust (%s) is too old." % version)
diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootstrap.py
index 08377a7..15525ad 100644
index 86ae1e0..bb353af 100644
--- a/python/mozboot/mozboot/bootstrap.py
+++ b/python/mozboot/mozboot/bootstrap.py
@@ -35,6 +35,7 @@ from mozboot.centosfedora import CentOSFedoraBootstrapper
@@ -2251,7 +2264,7 @@ index 08377a7..15525ad 100644
from mozboot.mozconfig import MozconfigBuilder
from mozboot.mozillabuild import MozillaBuildBootstrapper
from mozboot.openbsd import OpenBSDBootstrapper
@@ -331,6 +332,10 @@ class Bootstrapper(object):
@@ -331,6 +332,10 @@ class Bootstrapper:
args["version"] = platform.release()
args["flavor"] = platform.system()
@@ -2355,27 +2368,11 @@ index 25f43bb..967aee7 100644
"kFreeBSD": "__FreeBSD_kernel__",
"Linux": "__linux__",
"NetBSD": "__NetBSD__",
diff --git a/python/sites/mach.txt b/python/sites/mach.txt
index 6e3db1c..b282ffa 100644
--- a/python/sites/mach.txt
+++ b/python/sites/mach.txt
@@ -104,9 +104,9 @@ vendored:third_party/python/wheel
vendored:third_party/python/zipp
# glean-sdk may not be installable if a wheel isn't available
# and it has to be built from source.
-pypi-optional:glean-sdk==63.1.0:telemetry will not be collected
+#pypi-optional:glean-sdk==63.1.0:telemetry will not be collected
# Mach gracefully handles the case where `psutil` is unavailable.
# We aren't (yet) able to pin packages in automation, so we have to
# support down to the oldest locally-installed version (5.4.2).
-pypi-optional:psutil>=5.4.2,<=5.9.4:telemetry will be missing some data
+#pypi-optional:psutil>=5.4.2,<=5.9.4:telemetry will be missing some data
pypi-optional:zstandard>=0.11.1,<=0.23.0:zstd archives will not be possible to extract
diff --git a/security/certverifier/ExtendedValidation.cpp b/security/certverifier/ExtendedValidation.cpp
index 63f3018..f717d4c 100644
index ca05c3b..c9bf842 100644
--- a/security/certverifier/ExtendedValidation.cpp
+++ b/security/certverifier/ExtendedValidation.cpp
@@ -1392,7 +1392,9 @@ nsresult LoadExtendedValidationInfo() {
@@ -1306,7 +1306,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.
@@ -2386,10 +2383,10 @@ index 63f3018..f717d4c 100644
unsigned char certFingerprint[SHA256_LENGTH];
srv = PK11_HashBuf(SEC_OID_SHA256, certFingerprint, cert->derCert.data,
diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml
index 5f1c993..be358d4 100644
index c295360..89efcad 100644
--- a/supply-chain/audits.toml
+++ b/supply-chain/audits.toml
@@ -2502,6 +2502,12 @@ criteria = "safe-to-deploy"
@@ -2546,6 +2546,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."
@@ -2402,7 +2399,7 @@ index 5f1c993..be358d4 100644
[[audits.goblin]]
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
criteria = "safe-to-deploy"
@@ -3178,6 +3184,12 @@ criteria = "safe-to-deploy"
@@ -3227,6 +3233,12 @@ criteria = "safe-to-deploy"
version = "0.14.0"
notes = "Victor and Myk developed this crate at Mozilla."
@@ -2416,7 +2413,7 @@ index 5f1c993..be358d4 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 d507a95..5e54223 100644
index cb611b3..bc8788f 100644
--- a/supply-chain/config.toml
+++ b/supply-chain/config.toml
@@ -76,6 +76,10 @@ notes = "Used for testing."
@@ -2442,10 +2439,10 @@ index d507a95..5e54223 100644
audit-as-crates-io = false
notes = "This was originally servo code which Bobby Holley put on crates.io some years ago and that was moved in-tree as first-party code later on."
diff --git a/testing/mozbase/mozinfo/mozinfo/mozinfo.py b/testing/mozbase/mozinfo/mozinfo/mozinfo.py
index 1943a2c..296fb25 100755
index ee7f8a6..972b0f3 100755
--- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py
+++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py
@@ -103,7 +103,7 @@ elif system == "Linux":
@@ -104,7 +104,7 @@ elif system == "Linux":
info["os"] = "linux"
info["linux_distro"] = distribution
@@ -2579,10 +2576,10 @@ index 9f3dac4..e5ef5a8 100644
*handle = dlopen(lib_name, flags);
if (!*handle) {
diff --git a/third_party/libwebrtc/BUILD.gn b/third_party/libwebrtc/BUILD.gn
index 2ee5384..3a0fc9d 100644
index f0f6d6a..bece87e 100644
--- a/third_party/libwebrtc/BUILD.gn
+++ b/third_party/libwebrtc/BUILD.gn
@@ -210,7 +210,7 @@ config("common_inherited_config") {
@@ -211,7 +211,7 @@ config("common_inherited_config") {
target_gen_dir,
]
}
@@ -2591,7 +2588,7 @@ index 2ee5384..3a0fc9d 100644
defines += [ "WEBRTC_POSIX" ]
}
if (is_ios) {
@@ -219,7 +219,7 @@ config("common_inherited_config") {
@@ -220,7 +220,7 @@ config("common_inherited_config") {
"WEBRTC_IOS",
]
}
@@ -2600,7 +2597,7 @@ index 2ee5384..3a0fc9d 100644
defines += [ "WEBRTC_LINUX" ]
}
if (is_bsd) {
@@ -231,6 +231,9 @@ config("common_inherited_config") {
@@ -232,6 +232,9 @@ config("common_inherited_config") {
if (is_fuchsia) {
defines += [ "WEBRTC_FUCHSIA" ]
}
@@ -2611,7 +2608,7 @@ index 2ee5384..3a0fc9d 100644
defines += [ "WEBRTC_WIN" ]
}
diff --git a/third_party/libwebrtc/modules/desktop_capture/BUILD.gn b/third_party/libwebrtc/modules/desktop_capture/BUILD.gn
index 2245146..02d76c6 100644
index 5b66f2c..57d0d45 100644
--- a/third_party/libwebrtc/modules/desktop_capture/BUILD.gn
+++ b/third_party/libwebrtc/modules/desktop_capture/BUILD.gn
@@ -354,6 +354,19 @@ rtc_library("desktop_capture") {
@@ -3010,7 +3007,7 @@ index 0000000..a89b4a1
+
+} // namespace webrtc
diff --git a/third_party/libwebrtc/modules/video_capture/BUILD.gn b/third_party/libwebrtc/modules/video_capture/BUILD.gn
index 42a5011..0e44e00 100644
index 294ef9f..02a5355 100644
--- a/third_party/libwebrtc/modules/video_capture/BUILD.gn
+++ b/third_party/libwebrtc/modules/video_capture/BUILD.gn
@@ -137,6 +137,20 @@ if (!build_with_chromium || is_linux || is_chromeos) {
@@ -3587,7 +3584,7 @@ index 0d12966..1fef378 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 87c62f0..abcafc9 100644
index d849418..8b9b761 100644
--- a/third_party/libwebrtc/rtc_base/BUILD.gn
+++ b/third_party/libwebrtc/rtc_base/BUILD.gn
@@ -1146,6 +1146,10 @@ rtc_library("ifaddrs_converter") {
@@ -3602,7 +3599,7 @@ index 87c62f0..abcafc9 100644
rtc_library("rolling_accumulator") {
diff --git a/third_party/libwebrtc/rtc_base/logging.cc b/third_party/libwebrtc/rtc_base/logging.cc
index d9c7829..8a8165d 100644
index 91bc47c..255dd1c 100644
--- a/third_party/libwebrtc/rtc_base/logging.cc
+++ b/third_party/libwebrtc/rtc_base/logging.cc
@@ -116,7 +116,11 @@ std::string LogLineRef::DefaultLogLine() const {
@@ -3773,7 +3770,7 @@ index 62e1694..70186bb 100644
if (is_win) {
diff --git a/third_party/libwebrtc/webrtc.gni b/third_party/libwebrtc/webrtc.gni
index 4b41090..1fbeb1b 100644
index 17306b7..bf3b62e 100644
--- a/third_party/libwebrtc/webrtc.gni
+++ b/third_party/libwebrtc/webrtc.gni
@@ -145,7 +145,7 @@ declare_args() {
@@ -3785,7 +3782,7 @@ index 4b41090..1fbeb1b 100644
# Set this to use PipeWire on the Wayland display server.
# By default it's only enabled on desktop Linux (excludes ChromeOS) and
@@ -350,7 +350,7 @@ rtc_opus_dir = "//third_party/opus"
@@ -356,7 +356,7 @@ rtc_opus_dir = "//third_party/opus"
# Desktop capturer is supported only on Windows, OSX and Linux.
rtc_desktop_capture_supported =
@@ -4028,6 +4025,113 @@ index 42d9e34..240bd41 100644
/**
* Align a value up to an alignment value
*
diff --git a/third_party/rust/iana-time-zone-haiku/.cargo-checksum.json b/third_party/rust/iana-time-zone-haiku/.cargo-checksum.json
index 11e259e..6eae10c 100644
--- a/third_party/rust/iana-time-zone-haiku/.cargo-checksum.json
+++ b/third_party/rust/iana-time-zone-haiku/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"8f06eca1c0e108d0422687eeb87030520ae7bd956efc92352599cc9cf079d9a3","LICENSE-APACHE":"696759d65dfe558ff7d9f031c76db19ec5c0767470fb67c4e8d990820d1e99c9","LICENSE-MIT":"da28ccc6b158fc2d8cccc74e99794b1cff1d29bd7bbeb019442fcf0c04c6cad9","README.md":"5b1ad9309b716374cc1bdcd025f525fac31b2f413e6c4d311e207fa6b1f96a83","build.rs":"10304831100a60c1c2b990762dcfeb47dae8342cf9b54595bec94884e7de5784","src/implementation.cc":"66d2ecfe58ec543e27a6fb3a96526a07cd1ac43a2370344f856529e5a112ce0f","src/lib.rs":"e58db019554bd372f0a187f8f51f96624cdf21bcef507de2093e1d49ca0787cd"},"package":"f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"}
\ No newline at end of file
+{"files":{"Cargo.toml":"8f06eca1c0e108d0422687eeb87030520ae7bd956efc92352599cc9cf079d9a3","LICENSE-APACHE":"696759d65dfe558ff7d9f031c76db19ec5c0767470fb67c4e8d990820d1e99c9","LICENSE-MIT":"da28ccc6b158fc2d8cccc74e99794b1cff1d29bd7bbeb019442fcf0c04c6cad9","README.md":"5b1ad9309b716374cc1bdcd025f525fac31b2f413e6c4d311e207fa6b1f96a83","build.rs":"10304831100a60c1c2b990762dcfeb47dae8342cf9b54595bec94884e7de5784","src/implementation.cc":"2f0381747eba552ef428de04fcdfa55993daff9abe94b016db074032cd5ad460","src/lib.rs":"e58db019554bd372f0a187f8f51f96624cdf21bcef507de2093e1d49ca0787cd"},"package":"f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"}
diff --git a/third_party/rust/iana-time-zone-haiku/src/implementation.cc b/third_party/rust/iana-time-zone-haiku/src/implementation.cc
index d1c92cd..e08b159 100644
--- a/third_party/rust/iana-time-zone-haiku/src/implementation.cc
+++ b/third_party/rust/iana-time-zone-haiku/src/implementation.cc
@@ -4,56 +4,54 @@
#include <cstring>
+#pragma GCC visibility push(default)
#include <Errors.h>
#include <LocaleRoster.h>
#include <String.h>
#include <TimeZone.h>
+#pragma GCC visibility pop
extern "C" {
size_t iana_time_zone_haiku_get_tz(char *buf, size_t buf_size) {
- try {
- static_assert(sizeof(char) == sizeof(uint8_t), "Illegal char size");
-
- if (buf_size == 0) {
- return 0;
- }
-
- // `BLocaleRoster::Default()` returns a reference to a statically allocated object.
- // https://github.com/haiku/haiku/blob/8f16317/src/kits/locale/LocaleRoster.cpp#L143-L147
- BLocaleRoster *locale_roster(BLocaleRoster::Default());
- if (!locale_roster) {
- return 0;
- }
-
- BTimeZone tz(NULL, NULL);
- if (locale_roster->GetDefaultTimeZone(&tz) != B_OK) {
- return 0;
- }
-
- BString bname(tz.ID());
- int32_t ilength(bname.Length());
- if (ilength <= 0) {
- return 0;
- }
-
- size_t length(ilength);
- if (length > buf_size) {
- return 0;
- }
-
- // BString::String() returns a borrowed string.
- // https://www.haiku-os.org/docs/api/classBString.html#ae4fe78b06c8e3310093b80305e14ba87
- const char *sname(bname.String());
- if (!sname) {
- return 0;
- }
-
- std::memcpy(buf, sname, length);
- return length;
- } catch (...) {
+ static_assert(sizeof(char) == sizeof(uint8_t), "Illegal char size");
+
+ if (buf_size == 0) {
return 0;
}
+
+ // `BLocaleRoster::Default()` returns a reference to a statically allocated object.
+ // https://github.com/haiku/haiku/blob/8f16317/src/kits/locale/LocaleRoster.cpp#L143-L147
+ BLocaleRoster *locale_roster(BLocaleRoster::Default());
+ if (!locale_roster) {
+ return 0;
+ }
+
+ BTimeZone tz(NULL, NULL);
+ if (locale_roster->GetDefaultTimeZone(&tz) != B_OK) {
+ return 0;
+ }
+
+ BString bname(tz.ID());
+ int32_t ilength(bname.Length());
+ if (ilength <= 0) {
+ return 0;
+ }
+
+ size_t length(ilength);
+ if (length > buf_size) {
+ return 0;
+ }
+
+ // BString::String() returns a borrowed string.
+ // https://www.haiku-os.org/docs/api/classBString.html#ae4fe78b06c8e3310093b80305e14ba87
+ const char *sname(bname.String());
+ if (!sname) {
+ return 0;
+ }
+
+ std::memcpy(buf, sname, length);
+ return length;
}
} // extern "C"
diff --git a/third_party/rust/lmdb-rkv-sys/.cargo-checksum.json b/third_party/rust/lmdb-rkv-sys/.cargo-checksum.json
index 6ae8903..ae32d1c 100644
--- a/third_party/rust/lmdb-rkv-sys/.cargo-checksum.json
@@ -4200,16 +4304,8 @@ index 14fcc2a..104cef6 100644
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 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.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.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
index c892796..8c3bc81 100644
--- a/third_party/rust/quinn-udp/src/unix.rs
+++ b/third_party/rust/quinn-udp/src/unix.rs
@@ -53,9 +53,9 @@ extern "C" {
@@ -4258,7 +4354,7 @@ index c39941d..36e4dde 100644
// Linux's IP_PMTUDISC_PROBE allows us to operate under interface MTU rather than the
// kernel's path MTU guess, but actually disabling fragmentation requires this too. See
// __ip6_append_data in ip6_output.c.
@@ -452,7 +441,7 @@ fn send(state: &UdpSocketState, io: SockRef<'_>, transmit: &Transmit<'_>) -> io:
@@ -461,7 +450,7 @@ fn send(state: &UdpSocketState, io: SockRef<'_>, transmit: &Transmit<'_>) -> io:
}
}
@@ -4267,7 +4363,7 @@ index c39941d..36e4dde 100644
fn recv(io: SockRef<'_>, bufs: &mut [IoSliceMut<'_>], meta: &mut [RecvMeta]) -> io::Result<usize> {
let mut names = [MaybeUninit::<libc::sockaddr_storage>::uninit(); BATCH_SIZE];
let mut ctrls = [cmsg::Aligned(MaybeUninit::<[u8; CMSG_LEN]>::uninit()); BATCH_SIZE];
@@ -519,7 +508,7 @@ fn recv(io: SockRef<'_>, bufs: &mut [IoSliceMut<'_>], meta: &mut [RecvMeta]) ->
@@ -538,7 +527,7 @@ fn recv(io: SockRef<'_>, bufs: &mut [IoSliceMut<'_>], meta: &mut [RecvMeta]) ->
Ok(msg_count as usize)
}
@@ -4276,7 +4372,7 @@ index c39941d..36e4dde 100644
fn recv(io: SockRef<'_>, bufs: &mut [IoSliceMut<'_>], meta: &mut [RecvMeta]) -> io::Result<usize> {
let mut name = MaybeUninit::<libc::sockaddr_storage>::uninit();
let mut ctrl = cmsg::Aligned(MaybeUninit::<[u8; CMSG_LEN]>::uninit());
@@ -585,8 +574,6 @@ fn prepare_msg(
@@ -608,8 +597,6 @@ fn prepare_msg(
encoder.push(libc::IPPROTO_IP, libc::IP_TOS, ecn as IpTosTy);
}
}
@@ -4284,8 +4380,8 @@ index c39941d..36e4dde 100644
- encoder.push(libc::IPPROTO_IPV6, libc::IPV6_TCLASS, ecn);
}
// Only set the segment size if it is different from the size of the contents.
@@ -598,42 +585,6 @@ fn prepare_msg(
// Only set the segment size if it is less than the size of the contents.
@@ -623,42 +610,6 @@ fn prepare_msg(
gso::set_segment_size(&mut encoder, segment_size as u16);
}
@@ -4328,7 +4424,7 @@ index c39941d..36e4dde 100644
encoder.finish();
}
@@ -689,22 +640,10 @@ fn decode_recv(
@@ -714,22 +665,10 @@ fn decode_recv(
ecn_bits = cmsg::decode::<u8, libc::cmsghdr>(cmsg);
},
// FreeBSD uses IP_RECVTOS here, and we can be liberal because cmsgs are opt-in.
@@ -4352,7 +4448,7 @@ index c39941d..36e4dde 100644
#[cfg(any(target_os = "linux", target_os = "android"))]
(libc::IPPROTO_IP, libc::IP_PKTINFO) => {
let pktinfo = unsafe { cmsg::decode::<libc::in_pktinfo, libc::cmsghdr>(cmsg) };
@@ -717,10 +656,6 @@ fn decode_recv(
@@ -742,10 +681,6 @@ fn decode_recv(
let in_addr = unsafe { cmsg::decode::<libc::in_addr, libc::cmsghdr>(cmsg) };
dst_ip = Some(IpAddr::V4(Ipv4Addr::from(in_addr.s_addr.to_ne_bytes())));
}
@@ -4795,10 +4891,10 @@ index 46860f6..b010d4d 100644
# else
mRemoteServer = MakeUnique<nsGTKRemoteServer>();
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
index 66fe86e..ee7fb31 100644
index 161ad33..4c778d8 100644
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -345,6 +345,10 @@ if CONFIG["OS_ARCH"] == "Darwin":
@@ -347,6 +347,10 @@ if CONFIG["OS_ARCH"] == "Darwin":
"-weak_framework MediaPlayer",
]
@@ -4901,10 +4997,10 @@ index 360a7db..69b089f 100644
return elemString;
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
index 09b3065..d317d21 100644
index 8ea6046..d3f5fd2 100644
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -299,6 +299,8 @@ def audio_backends_default(target):
@@ -296,6 +296,8 @@ def audio_backends_default(target):
return ("sndio",)
elif target.kernel == "Darwin":
return ("audiounit",)
@@ -4913,7 +5009,7 @@ index 09b3065..d317d21 100644
elif target.os == "NetBSD":
return ("sunaudio",)
elif target.os == "SunOS":
@@ -316,6 +318,7 @@ option(
@@ -313,6 +315,7 @@ option(
"aaudio",
"alsa",
"audiounit",
@@ -4921,7 +5017,7 @@ index 09b3065..d317d21 100644
"jack",
"opensl",
"oss",
@@ -354,6 +357,11 @@ def imply_audiounit(values, target):
@@ -351,6 +354,11 @@ def imply_audiounit(values, target):
return any("audiounit" in value for value in values) or None
@@ -4933,7 +5029,7 @@ index 09b3065..d317d21 100644
@depends("--enable-audio-backends")
def imply_jack(values):
return any("jack" in value for value in values) or None
@@ -417,6 +425,8 @@ imply_option(
@@ -414,6 +422,8 @@ imply_option(
set_config("MOZ_AUDIOUNIT_RUST", imply_audiounit, when="--enable-audio-backends")
@@ -4942,7 +5038,7 @@ index 09b3065..d317d21 100644
imply_option(
"--enable-jack", imply_jack, reason="--enable-audio-backends", when=use_pkg_config
)
@@ -3061,6 +3071,7 @@ def forkserver_default(target, build_project):
@@ -3102,6 +3112,7 @@ def forkserver_default(target, build_project):
(target.os == "GNU" and target.kernel == "Linux")
or target.os == "FreeBSD"
or target.os == "OpenBSD"
@@ -4950,7 +5046,7 @@ index 09b3065..d317d21 100644
)
@@ -3720,7 +3731,7 @@ with only_when(compile_environment):
@@ -3830,7 +3841,7 @@ with only_when(compile_environment):
@depends(target)
def default_user_appdir(target):
@@ -5471,7 +5567,7 @@ index 0000000..d9ac4f3
+
+#endif
diff --git a/toolkit/themes/shared/popup.css b/toolkit/themes/shared/popup.css
index 5701d30..c1172a1 100644
index efc623e..66ed526 100644
--- a/toolkit/themes/shared/popup.css
+++ b/toolkit/themes/shared/popup.css
@@ -43,6 +43,12 @@ panel {
@@ -5500,10 +5596,10 @@ index 304c39a..c69f810 100644
if CONFIG["ENABLE_WEBDRIVER"]:
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 3581105..aceace6 100644
index 484a048..1d55a57 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -345,14 +345,16 @@ MOZ_CONSTINIT nsString gProcessStartupShortcut;
@@ -346,14 +346,16 @@ MOZ_CONSTINIT nsString gProcessStartupShortcut;
# ifdef MOZ_WAYLAND
# include <gdk/gdkwayland.h>
# include "mozilla/widget/nsWaylandDisplay.h"
@@ -5522,7 +5618,7 @@ index 3581105..aceace6 100644
MOZ_RUNINIT std::unique_ptr<WaylandProxy> gWaylandProxy;
#endif
@@ -432,6 +434,9 @@ static void UnexpectedExit() {
@@ -433,6 +435,9 @@ static void UnexpectedExit() {
#if defined(MOZ_WAYLAND)
bool IsWaylandEnabled() {
@@ -5532,7 +5628,7 @@ index 3581105..aceace6 100644
static bool isWaylandEnabled = []() {
const char* waylandDisplay = PR_GetEnv("WAYLAND_DISPLAY");
if (!waylandDisplay) {
@@ -462,6 +467,7 @@ bool IsWaylandEnabled() {
@@ -463,6 +468,7 @@ bool IsWaylandEnabled() {
return !gtk_check_version(3, 24, 30);
}();
return isWaylandEnabled;
@@ -5540,7 +5636,7 @@ index 3581105..aceace6 100644
}
#else
bool IsWaylandEnabled() { return false; }
@@ -3812,7 +3818,7 @@ class XREMain {
@@ -3819,7 +3825,7 @@ class XREMain {
#endif
};
@@ -5549,7 +5645,7 @@ index 3581105..aceace6 100644
static SmprintfPointer FormatUid(uid_t aId) {
if (const auto pw = getpwuid(aId)) {
return mozilla::Smprintf("%s", pw->pw_name);
@@ -3861,7 +3867,7 @@ static bool CheckForUserMismatch() {
@@ -3868,7 +3874,7 @@ static bool CheckForUserMismatch() {
}
return false;
}
@@ -5558,7 +5654,7 @@ index 3581105..aceace6 100644
static bool CheckForUserMismatch() { return false; }
#endif
@@ -4858,7 +4864,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
@@ -4849,7 +4855,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
// display_name is owned by gdk.
display_name = gdk_get_display_arg_name();
bool waylandEnabled = IsWaylandEnabled();
@@ -5567,7 +5663,7 @@ index 3581105..aceace6 100644
if (!display_name) {
auto* proxyEnv = getenv("MOZ_DISABLE_WAYLAND_PROXY");
bool disableWaylandProxy = proxyEnv && *proxyEnv;
@@ -4913,7 +4919,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
@@ -4904,7 +4910,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
} else {
gdk_display_manager_open_display(gdk_display_manager_get(), nullptr);
}
@@ -5576,7 +5672,7 @@ index 3581105..aceace6 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.
@@ -6199,7 +6205,9 @@ int XREMain::XRE_main(int argc, char* argv[], const BootstrapConfig& aConfig) {
@@ -6186,7 +6192,9 @@ int XREMain::XRE_main(int argc, char* argv[], const BootstrapConfig& aConfig) {
if (!gfxPlatform::IsHeadless()) {
# ifdef MOZ_WAYLAND
WaylandDisplayRelease();
@@ -5586,6 +5682,25 @@ index 3581105..aceace6 100644
# endif
}
#endif
diff --git a/toolkit/xre/nsEmbedFunctions.cpp b/toolkit/xre/nsEmbedFunctions.cpp
index 9217d2b..cb984de 100644
--- a/toolkit/xre/nsEmbedFunctions.cpp
+++ b/toolkit/xre/nsEmbedFunctions.cpp
@@ -357,12 +357,12 @@ nsresult XRE_InitChildProcess(int aArgc, char* aArgv[],
crashHelperPid = geckoargs::sCrashHelperPid.Get(aArgc, aArgv);
MOZ_ASSERT(crashHelperPid.isSome());
#endif // defined(XP_LINUX) && !defined(MOZ_WIDGET_ANDROID)
-
+#ifndef XP_HAIKU
exceptionHandlerIsSet = CrashReporter::SetRemoteExceptionHandler(
std::move(*crashReporterArg), crashHelperPid);
MOZ_ASSERT(exceptionHandlerIsSet,
"Should have been able to set remote exception handler");
-
+#endif
if (!exceptionHandlerIsSet) {
// Bug 684322 will add better visibility into this condition
NS_WARNING("Could not setup crash reporting\n");
diff --git a/toolkit/xre/nsSigHandlers.cpp b/toolkit/xre/nsSigHandlers.cpp
index 146a586..10b7fb6 100644
--- a/toolkit/xre/nsSigHandlers.cpp
@@ -5611,7 +5726,7 @@ index 146a586..10b7fb6 100644
"(%s) %s Proxy: %s",
mozilla::widget::GetDesktopEnvironmentIdentifier().get(),
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
index 3b4612e..118fa5e 100644
index 9c94cb8..ee3e523 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -80,6 +80,10 @@
@@ -5686,10 +5801,10 @@ index 4c53061..76d3561 100644
# else
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
index c61079e..63017a7 100644
index 71879f1..0b63df5 100644
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -28,7 +28,9 @@ if CONFIG["COMPILE_ENVIRONMENT"]:
@@ -27,7 +27,9 @@ if CONFIG["COMPILE_ENVIRONMENT"]:
DIRS += ["mozgtk"]
if CONFIG["MOZ_WAYLAND"]:
@@ -5756,10 +5871,10 @@ index 052971c..664d95d 100644
nsWaylandDisplay::nsWaylandDisplay(wl_display* aDisplay)
diff --git a/xpcom/base/nsSystemInfo.cpp b/xpcom/base/nsSystemInfo.cpp
index 2aa1dd1..bf224f0 100644
index 6c2a1af..77e75dd 100644
--- a/xpcom/base/nsSystemInfo.cpp
+++ b/xpcom/base/nsSystemInfo.cpp
@@ -82,6 +82,10 @@
@@ -83,6 +83,10 @@
# include "mozilla/SandboxInfo.h"
#endif
@@ -5770,7 +5885,7 @@ index 2aa1dd1..bf224f0 100644
// Slot for NS_InitXPCOM to pass information to nsSystemInfo::Init.
// Only set to nonzero (potentially) if XP_UNIX. On such systems, the
// system call to discover the appropriate value is not thread-safe,
@@ -1410,7 +1414,15 @@ nsresult nsSystemInfo::Init() {
@@ -1455,7 +1459,15 @@ nsresult nsSystemInfo::Init() {
SetInt32Property(u"pagesize"_ns, PR_GetPageSize());
SetInt32Property(u"pageshift"_ns, PR_GetPageShift());
SetInt32Property(u"memmapalign"_ns, PR_GetMemMapAlignment());
@@ -5855,3 +5970,138 @@ index dbd9993..1431340 100644
--
2.48.1
From 80b3432f922d218af6fe97b5e11dd1c7f278367d Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 6 Apr 2025 10:13:00 +1000
Subject: Add simple launcher app
diff --git a/tools/haiku-launcher/launcher.cpp b/tools/haiku-launcher/launcher.cpp
new file mode 100644
index 0000000..86a9f22
--- /dev/null
+++ b/tools/haiku-launcher/launcher.cpp
@@ -0,0 +1,111 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+
+#include <Application.h>
+#include <Alert.h>
+#include <String.h>
+#include <Resources.h>
+#include <Roster.h>
+#include <Mime.h>
+#include <Path.h>
+#include <AppFileInfo.h>
+#include <kernel/image.h>
+
+class BrowserLauncherApp : public BApplication {
+ public:
+ BrowserLauncherApp(const char *signature, int argc, char **argv);
+ ~BrowserLauncherApp() {};
+
+ virtual void RefsReceived(BMessage *pmsg);
+ virtual void ArgvRecieved(int32 argc, char**argv);
+ virtual void ReadyToRun();
+ BString GetBinPath(void);
+
+ private:
+ BString fCommandLine;
+};
+
+BrowserLauncherApp::BrowserLauncherApp(const char *signature, int argc, char **argv)
+ : BApplication(signature)
+{
+ ArgvRecieved(argc, argv);
+}
+
+BString
+BrowserLauncherApp::GetBinPath(void)
+{
+ BPath binPath;
+
+ image_info info;
+ int32 cookie = 0;
+
+ while (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) == B_OK) {
+ if (info.type == B_APP_IMAGE) {
+ binPath.SetTo(info.name);
+ binPath.GetParent(&binPath);
+ break;
+ }
+ }
+
+ binPath.Append("Iceweasel");
+
+ return binPath.Path();
+}
+
+void
+BrowserLauncherApp::RefsReceived(BMessage *pmsg)
+{
+ fCommandLine = GetBinPath();
+
+ entry_ref ref;
+ for (int32 i = 0; pmsg->FindRef("refs", i, &ref) == B_OK; i++) {
+ BPath file = BPath(&ref);
+ fCommandLine += " \"";
+ fCommandLine += file.Path();
+ fCommandLine += "\"";
+ }
+
+ BString url;
+ for (int32 i = 0; pmsg->FindString("url", i, &url) == B_OK; i++) {
+ fCommandLine += " \"";
+ fCommandLine += url;
+ fCommandLine += "\"";
+ }
+
+ fCommandLine += " &";
+}
+
+void
+BrowserLauncherApp::ArgvRecieved(int32 argc, char**argv)
+{
+ BMessage message(B_REFS_RECEIVED);
+ for (int i = 1; i < argc; i++) {
+ const char* url = argv[i];
+ BEntry entry(argv[i], true);
+ BPath path;
+ if (entry.Exists() && entry.GetPath(&path) == B_OK)
+ url = path.Path();
+ message.AddString("url", url);
+ }
+ RefsReceived(&message);
+}
+
+void
+BrowserLauncherApp::ReadyToRun()
+{
+ if (!fCommandLine.IsEmpty())
+ system(fCommandLine.String());
+
+ Quit();
+}
+
+int main(int argc, char **argv)
+{
+ BrowserLauncherApp application("application/x-vnd.iceweasel-launcher", argc, argv);
+ application.Run();
+ return 0;
+}
+
+
diff --git a/third_party/rust/quinn-udp/.cargo-checksum.json b/third_party/rust/quinn-udp/.cargo-checksum.json
index 2ada89f..33a4a07 100644
--- a/third_party/rust/quinn-udp/.cargo-checksum.json
+++ b/third_party/rust/quinn-udp/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.lock":"b6db9f61ff4fdb22fb4a928df627f66d2a12b699476b244ea5260e010d8c2ae1","Cargo.toml":"397318dc0e80f559c5f570a71e5497fd2a5ab1b4daab1f365d094f1612198968","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"4b2d0aca6789fa39e03d6738e869ea0988cceba210ca34ebb59c15c463e93a04","benches/throughput.rs":"86cb85d2ae07169da8c279861c53b7a055168aaaa91155576c633b8724748db6","build.rs":"1d7ecadda4a26fb0eba598789eef9b99a1b4febba9bcb61a34f0c92b1d1bbaeb","src/cmsg/mod.rs":"ccf970026c8578b1c4661fbe106093dfb62b084a231ecbb4c62eaa10df5822fe","src/cmsg/unix.rs":"7917bce2f3c8e844eca2e4cfea82669b2a31cf311321dc42532626db4ee42de8","src/cmsg/windows.rs":"6fb936ec4a283efc5796872e777441e3039c40589073865644a8ef7936af4f4b","src/fallback.rs":"1e59ea16c6e1487bbb6aa759e349000431474aa245960512cb3b5117a1ed9e21","src/lib.rs":"77d48436bbfcccaea8dc3f061acc874ef5089148bf1700fc7a61b1b3d1b575e1","src/unix.rs":"ae3cc0de15c0ec03b4aaa108a69406ee62d3b57abf5226ccd8f8e66b85c95d2d","src/windows.rs":"43da25457cb17c61369c3ba2c1d98f0ff758c5ea3207ae22969cca1f620b54af","tests/tests.rs":"bd4ee24b0e1ccab9beb444541b472bc1e815e2aba19d75572a379b6e1533449c"},"package":"ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842"}
\ No newline at end of file
+{"files":{"Cargo.lock":"b6db9f61ff4fdb22fb4a928df627f66d2a12b699476b244ea5260e010d8c2ae1","Cargo.toml":"397318dc0e80f559c5f570a71e5497fd2a5ab1b4daab1f365d094f1612198968","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"4b2d0aca6789fa39e03d6738e869ea0988cceba210ca34ebb59c15c463e93a04","benches/throughput.rs":"86cb85d2ae07169da8c279861c53b7a055168aaaa91155576c633b8724748db6","build.rs":"1d7ecadda4a26fb0eba598789eef9b99a1b4febba9bcb61a34f0c92b1d1bbaeb","src/cmsg/mod.rs":"ccf970026c8578b1c4661fbe106093dfb62b084a231ecbb4c62eaa10df5822fe","src/cmsg/unix.rs":"7917bce2f3c8e844eca2e4cfea82669b2a31cf311321dc42532626db4ee42de8","src/cmsg/windows.rs":"6fb936ec4a283efc5796872e777441e3039c40589073865644a8ef7936af4f4b","src/fallback.rs":"1e59ea16c6e1487bbb6aa759e349000431474aa245960512cb3b5117a1ed9e21","src/lib.rs":"77d48436bbfcccaea8dc3f061acc874ef5089148bf1700fc7a61b1b3d1b575e1","src/unix.rs":"6023c09ad7052ca141f5dc6eb797bed1928b5d083c05e35cb4911780f5ac2329","src/windows.rs":"43da25457cb17c61369c3ba2c1d98f0ff758c5ea3207ae22969cca1f620b54af","tests/tests.rs":"bd4ee24b0e1ccab9beb444541b472bc1e815e2aba19d75572a379b6e1533449c"},"package":"ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842"}
--
2.48.1