iceweasel: bump version

This commit is contained in:
Gerasim Troeglazov
2025-09-19 18:41:09 +10:00
parent 0236d67b2c
commit ac219c5650
3 changed files with 206 additions and 159 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="80982a84bb7ca41a67ac073321de96f74e0c25f296d19ca432b11fc2a33535c8"
CHECKSUM_SHA256="6c45ca38091820c2c9925a85c80c04120de0ced98589065358c34d257e1edf83"
SOURCE_DIR="firefox-$portVersion"
PATCHES="
iceweasel-$portVersion.patchset

View File

@@ -1,11 +1,20 @@
From 95ed62fc8aa1fc1f9cc19baa5d3de07ed4f8f5cc Mon Sep 17 00:00:00 2001
From 1a26d6092016b5173b3834be67aa71dfb68c15cd Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 31 Jul 2025 19:09:03 +1000
Subject: Fix
Date: Fri, 19 Sep 2025 16:35:07 +1000
Subject: Add Haiku build support
Based on patches sourced from https://github.com/kenz-gelsoft/gecko-dev/
- Enabled building for Haiku.
- Implemented the cubeb audio backend for MediaKit (input and output).
- Implemented native notifications.
- Fixed build with WebRTC enabled.
- Implemented WebRTC modules for desktop capture and video capture.
- Made additional modifications for Haiku compatibility.
- Implement remote server
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index 4050c00..817df25 100644
index d4f0e75..8297455 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -15,7 +15,9 @@
@@ -28,7 +37,7 @@ index 4050c00..817df25 100644
pref("general.autoScroll", false);
#else
pref("general.autoScroll", true);
@@ -1034,7 +1036,7 @@ pref("security.allow_parent_unrestricted_js_loads", false);
@@ -1060,7 +1062,7 @@ pref("browser.unexpectedScriptLoad.logLevel", "Warn");
pref("browser.tabs.min_inactive_duration_before_unload", 600000);
// Does middleclick paste of clipboard to new tab button
@@ -106,10 +115,10 @@ index af2fc4f..e61403a 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 7da0a7b..684f454 100644
index 20f2e0d..ad9cf26 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):
@@ -185,6 +185,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target):
"loong64": "loongarch64",
}
oses = {
@@ -117,7 +126,7 @@ index 7da0a7b..684f454 100644
"android": "Android",
"linux": "Linux",
"mac": "Darwin",
@@ -800,7 +801,7 @@ def main():
@@ -810,7 +811,7 @@ def main():
vars_set = []
for is_debug in (True, False):
@@ -126,7 +135,7 @@ index 7da0a7b..684f454 100644
target_cpus = ["x64"]
if target_os in ("android", "linux", "mac", "win", "openbsd"):
target_cpus.append("arm64")
@@ -817,7 +818,7 @@ def main():
@@ -827,7 +828,7 @@ def main():
"host_cpu": "x64",
"is_debug": is_debug,
"target_cpu": target_cpu,
@@ -134,18 +143,7 @@ index 7da0a7b..684f454 100644
+ "target_os": "haiku",
}
if target_os == "linux":
for use_x11 in (True, False):
@@ -826,6 +827,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)
gn_configs = []
for enable_x11 in (True, False):
diff --git a/build/gyp_includes/common.gypi b/build/gyp_includes/common.gypi
index 8acb326..a50a782 100644
--- a/build/gyp_includes/common.gypi
@@ -204,10 +202,10 @@ index f0f4d7a..297718d 100644
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 6162d68..3b8adad 100644
index 6baa691..d583a4f 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -507,6 +507,8 @@ def split_triplet(triplet, allow_wasi=False):
@@ -519,6 +519,8 @@ def split_triplet(triplet, allow_wasi=False):
canonical_os = canonical_kernel = "DragonFly"
elif os.startswith("freebsd"):
canonical_os = canonical_kernel = "FreeBSD"
@@ -216,7 +214,7 @@ index 6162d68..3b8adad 100644
elif os.startswith("netbsd"):
canonical_os = canonical_kernel = "NetBSD"
elif os.startswith("openbsd"):
@@ -935,6 +937,15 @@ def target_is_freebsd(target):
@@ -947,6 +949,15 @@ def target_is_freebsd(target):
set_define("XP_FREEBSD", target_is_freebsd)
@@ -233,10 +231,10 @@ index 6162d68..3b8adad 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 cc42c12..c3fda1b 100644
index f79ee7b..9090574 100644
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -2961,7 +2961,7 @@ def security_hardening_cflags(
@@ -2965,7 +2965,7 @@ def security_hardening_cflags(
if (
c_compiler.type == "clang"
and c_compiler.version >= "11.0.1"
@@ -281,10 +279,10 @@ index 3f34f45..97b7c98 100644
{u"keypress", u"VK_RIGHT", nullptr, u"alt", u"cmd_moveRight2"}, // macOS
{u"keypress", u"VK_LEFT", nullptr, u"alt,shift", u"cmd_selectLeft2"}, // macOS
diff --git a/dom/media/CallbackThreadRegistry.cpp b/dom/media/CallbackThreadRegistry.cpp
index 84ef7b7..e041636 100644
index 4a1ec72..fc70f51 100644
--- a/dom/media/CallbackThreadRegistry.cpp
+++ b/dom/media/CallbackThreadRegistry.cpp
@@ -96,7 +96,9 @@ void CallbackThreadRegistry::Unregister(ProfilerThreadId aThreadId) {
@@ -97,7 +97,9 @@ void CallbackThreadRegistry::Unregister(ProfilerThreadId aThreadId) {
return;
}
}
@@ -364,10 +362,10 @@ index 488b9b2..2d8e672 100644
[ 'OS == "win"', {
'defines' : [
diff --git a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
index 51f72f4..18ad233 100644
index c8a5456..21d122e 100644
--- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
@@ -204,8 +204,12 @@ nr_stun_get_addrs(nr_local_addr addrs[], int maxaddrs, int *count)
@@ -211,8 +211,12 @@ nr_stun_get_addrs(nr_local_addr addrs[], int maxaddrs, int *count)
if (maxaddrs > 0) {
memset(addrs, 0, maxaddrs * sizeof(nr_local_addr));
}
@@ -598,10 +596,10 @@ index f97b32d..7857331 100644
#endif
memorySize = 256 * 1024 * 1024; // Fall back to 256MB.
diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build
index 0e8504f..015993f 100644
index 95b4384..fe10547 100644
--- a/ipc/chromium/moz.build
+++ b/ipc/chromium/moz.build
@@ -106,7 +106,7 @@ if CONFIG["TARGET_OS"] == "iOS":
@@ -113,7 +113,7 @@ if CONFIG["TARGET_OS"] == "iOS":
"src/base/process_util_ios.cpp",
]
@@ -611,10 +609,10 @@ index 0e8504f..015993f 100644
"src/base/process_util_linux.cc",
"src/base/time_posix.cc",
diff --git a/ipc/chromium/src/base/message_loop.cc b/ipc/chromium/src/base/message_loop.cc
index 5e7a653..90c600e 100644
index c07963f..5518456 100644
--- a/ipc/chromium/src/base/message_loop.cc
+++ b/ipc/chromium/src/base/message_loop.cc
@@ -26,7 +26,7 @@
@@ -27,7 +27,7 @@
# include "base/message_pump_libevent.h"
#endif
#if defined(XP_LINUX) || defined(__DragonFly__) || defined(XP_FREEBSD) || \
@@ -623,7 +621,7 @@ index 5e7a653..90c600e 100644
# if defined(MOZ_WIDGET_GTK)
# include "base/message_pump_glib.h"
# endif
@@ -280,7 +280,7 @@ MessageLoop::MessageLoop(Type type, nsISerialEventTarget* aEventTarget)
@@ -281,7 +281,7 @@ MessageLoop::MessageLoop(Type type, nsISerialEventTarget* aEventTarget)
# if defined(XP_DARWIN)
pump_ = base::MessagePumpMac::Create();
# elif defined(XP_LINUX) || defined(__DragonFly__) || defined(XP_FREEBSD) || \
@@ -681,10 +679,10 @@ index 23b8807..aec9dc4 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 085e570..c7bae19 100644
index ff65fad..9bbba93 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() {
@@ -292,6 +292,18 @@ bool ChannelPosix::ProcessIncomingMessages() {
if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) {
const unsigned payload_len = cmsg->cmsg_len - CMSG_LEN(0);
DCHECK(payload_len % sizeof(int) == 0);
@@ -703,7 +701,7 @@ index 085e570..c7bae19 100644
wire_fds = reinterpret_cast<int*>(CMSG_DATA(cmsg));
num_wire_fds = payload_len / 4;
@@ -299,7 +311,9 @@ bool Channel::ChannelImpl::ProcessIncomingMessages() {
@@ -303,7 +315,9 @@ bool ChannelPosix::ProcessIncomingMessages() {
IGNORE_EINTR(close(wire_fds[i]));
return false;
}
@@ -727,10 +725,10 @@ index 0cfd739..439aed9 100644
# define HAVE_PIPE2 1
#endif
diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp
index c1b1c52..5d1cefd 100644
index 83241df..05e0587 100644
--- a/ipc/glue/GeckoChildProcessHost.cpp
+++ b/ipc/glue/GeckoChildProcessHost.cpp
@@ -1125,7 +1125,7 @@ Result<Ok, LaunchError> BaseProcessLauncher::DoSetup() {
@@ -1120,7 +1120,7 @@ Result<Ok, LaunchError> BaseProcessLauncher::DoSetup() {
#if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN)
geckoargs::sCrashReporter.Put(CrashReporter::GetChildNotificationPipe(),
mChildArgs);
@@ -740,10 +738,10 @@ index c1b1c52..5d1cefd 100644
if (!childCrashFd) {
return Err(LaunchError("DuplicateFileHandle failed"));
diff --git a/js/src/moz.build b/js/src/moz.build
index 01fa3cb..3e15ce7 100644
index 9b50953..cfc4c9f 100644
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -508,6 +508,11 @@ elif CONFIG["OS_ARCH"] == "WASI":
@@ -509,6 +509,11 @@ elif CONFIG["OS_ARCH"] == "WASI":
"threading/noop/NoopThread.cpp",
]
else:
@@ -756,7 +754,7 @@ index 01fa3cb..3e15ce7 100644
"threading/posix/CpuCount.cpp",
"threading/posix/PosixThread.cpp",
diff --git a/js/src/util/NativeStack.cpp b/js/src/util/NativeStack.cpp
index 4e4189d..37dc13a 100644
index e77289c..4946275 100644
--- a/js/src/util/NativeStack.cpp
+++ b/js/src/util/NativeStack.cpp
@@ -31,6 +31,9 @@
@@ -769,7 +767,7 @@ index 4e4189d..37dc13a 100644
#else
# error "Unsupported platform"
#endif
@@ -117,6 +120,14 @@ void* js::GetNativeStackBaseImpl() {
@@ -116,6 +119,14 @@ void* js::GetNativeStackBaseImpl() {
# endif
}
@@ -820,7 +818,7 @@ index 7d63f47..2fe6932 100644
#define HAVE_GETHRTIME 0
#define HAVE_GETOPT 1
diff --git a/media/libcubeb/src/cubeb.c b/media/libcubeb/src/cubeb.c
index b0db033..efe0927 100644
index 0511ad9..1e0b48e 100644
--- a/media/libcubeb/src/cubeb.c
+++ b/media/libcubeb/src/cubeb.c
@@ -79,6 +79,10 @@ oss_init(cubeb ** context, char const * context_name);
@@ -1850,7 +1848,7 @@ index 7ab524b..4c5fef4 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 82a2ee5..ade709b 100644
index c3ea652..0ef9564 100644
--- a/mfbt/Assertions.h
+++ b/mfbt/Assertions.h
@@ -231,7 +231,7 @@ MOZ_NoReturn(int aLine) {
@@ -1863,10 +1861,10 @@ index 82a2ee5..ade709b 100644
# define MOZ_REALLY_CRASH(line) __builtin_trap()
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
index f689389..9fd2377 100644
index a6c4943..f7030de 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -11309,6 +11309,8 @@
@@ -11400,6 +11400,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1875,7 +1873,7 @@ index f689389..9fd2377 100644
#else
value: false
#endif
@@ -11353,6 +11355,8 @@
@@ -11444,6 +11446,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1884,7 +1882,7 @@ index f689389..9fd2377 100644
#else
value: false
#endif
@@ -11386,6 +11390,8 @@
@@ -11477,6 +11481,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1893,7 +1891,7 @@ index f689389..9fd2377 100644
#else
value: false
#endif
@@ -11405,6 +11411,8 @@
@@ -11496,6 +11502,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1902,7 +1900,7 @@ index f689389..9fd2377 100644
#else
value: false
#endif
@@ -11424,6 +11432,8 @@
@@ -11515,6 +11523,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1911,7 +1909,7 @@ index f689389..9fd2377 100644
#else
value: false
#endif
@@ -11443,6 +11453,8 @@
@@ -11534,6 +11544,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1920,7 +1918,7 @@ index f689389..9fd2377 100644
#else
value: false
#endif
@@ -11471,6 +11483,8 @@
@@ -11562,6 +11574,8 @@
value: true
#elif defined(XP_SOLARIS)
value: true
@@ -1929,7 +1927,7 @@ index f689389..9fd2377 100644
#else
value: false
#endif
@@ -12423,6 +12437,8 @@
@@ -12525,6 +12539,8 @@
type: bool
#if defined(MOZ_WIDGET_ANDROID)
value: true
@@ -2263,10 +2261,10 @@ index f40c9ec..09eec7d 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 7460eb1..f0ca764 100644
index 083aa60..e4d216d 100644
--- a/python/mozboot/mozboot/bootstrap.py
+++ b/python/mozboot/mozboot/bootstrap.py
@@ -33,6 +33,7 @@ from mozboot.centosfedora import CentOSFedoraBootstrapper
@@ -34,6 +34,7 @@ from mozboot.centosfedora import CentOSFedoraBootstrapper
from mozboot.debian import DebianBootstrapper
from mozboot.freebsd import FreeBSDBootstrapper
from mozboot.gentoo import GentooBootstrapper
@@ -2274,7 +2272,7 @@ index 7460eb1..f0ca764 100644
from mozboot.mozconfig import MozconfigBuilder
from mozboot.mozillabuild import MozillaBuildBootstrapper
from mozboot.openbsd import OpenBSDBootstrapper
@@ -308,6 +309,10 @@ class Bootstrapper:
@@ -311,6 +312,10 @@ class Bootstrapper:
args["version"] = platform.release()
args["flavor"] = platform.system()
@@ -2393,10 +2391,10 @@ index ca05c3b..c9bf842 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 43415b9..4205288 100644
index 1e6a82e..96bb4a7 100644
--- a/supply-chain/audits.toml
+++ b/supply-chain/audits.toml
@@ -2635,6 +2635,12 @@ criteria = "safe-to-deploy"
@@ -2761,6 +2761,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."
@@ -2409,7 +2407,7 @@ index 43415b9..4205288 100644
[[audits.goblin]]
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
criteria = "safe-to-deploy"
@@ -3327,6 +3333,12 @@ criteria = "safe-to-deploy"
@@ -3568,6 +3574,12 @@ criteria = "safe-to-deploy"
version = "0.14.0"
notes = "Victor and Myk developed this crate at Mozilla."
@@ -2423,7 +2421,7 @@ index 43415b9..4205288 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 37f99fc..9a99f8f 100644
index 9e62ee8..6320ee1 100644
--- a/supply-chain/config.toml
+++ b/supply-chain/config.toml
@@ -72,6 +72,10 @@ notes = "Used for testing."
@@ -2488,10 +2486,10 @@ 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 402883a..2113df0 100644
index 8dc5722..44a5e3f 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() {
@@ -224,7 +224,7 @@ void LogMessage::LogMessageData::InitializeEncodingAndFormat() {
EncodeVarint(EventTag::kSeverity,
ProtoSeverity(entry.log_severity(), entry.verbosity()),
&encoded_remaining());
@@ -2501,10 +2499,10 @@ index 402883a..2113df0 100644
void LogMessage::LogMessageData::FinalizeEncodingAndFormat() {
diff --git a/third_party/chromium/build/config/BUILDCONFIG.gn b/third_party/chromium/build/config/BUILDCONFIG.gn
index 889bdb9..9400541 100644
index 4bb38fe..f42d1e9 100644
--- a/third_party/chromium/build/config/BUILDCONFIG.gn
+++ b/third_party/chromium/build/config/BUILDCONFIG.gn
@@ -184,7 +184,7 @@ if (host_toolchain == "") {
@@ -206,7 +206,7 @@ if (host_toolchain == "") {
# TODO(dpranke): Add some sort of assert here that verifies that
# no toolchain omitted host_toolchain from its toolchain_args().
@@ -2513,16 +2511,16 @@ index 889bdb9..9400541 100644
if (target_os != "linux") {
host_toolchain = "//chromium/build/toolchain/linux:clang_$host_cpu"
} else if (is_clang) {
@@ -222,7 +222,7 @@ if (target_os == "android") {
assert(host_os == "linux" || host_os == "mac",
"Android builds are only supported on Linux and Mac hosts.")
@@ -246,7 +246,7 @@ if (target_os == "android") {
# Targeting android on Mac is best-effort and not guaranteed to work.
#assert(host_os == "linux", "Android builds are only supported on Linux.")
_default_toolchain = "//chromium/build/toolchain/android:android_clang_$target_cpu"
-} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd") {
+} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd" || host_os == "haiku") {
# See comments in build/toolchain/cros/BUILD.gn about board compiles.
if (is_clang) {
_default_toolchain = "//chromium/build/toolchain/linux:clang_$target_cpu"
@@ -286,6 +286,7 @@ if (custom_toolchain != "") {
@@ -312,6 +312,7 @@ if (custom_toolchain != "") {
is_android = current_os == "android"
is_chromeos = current_os == "chromeos"
is_fuchsia = current_os == "fuchsia"
@@ -2531,10 +2529,10 @@ index 889bdb9..9400541 100644
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
index 6e291bb..89c0f24 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) {
@@ -93,7 +93,7 @@ if (is_component_build && !is_android) {
# Settings for executables.
config("executable_config") {
configs = executable_and_shared_library_configs_
@@ -2543,6 +2541,44 @@ index ebfa332..fbc53fe 100644
if (is_android) {
ldflags += [
"-Bdynamic",
diff --git a/third_party/chromium/build/config/ozone.gni b/third_party/chromium/build/config/ozone.gni
index 9d98d89..0bd4076 100644
--- a/third_party/chromium/build/config/ozone.gni
+++ b/third_party/chromium/build/config/ozone.gni
@@ -8,7 +8,7 @@ import("//chromium/build/toolchain/toolchain.gni")
declare_args() {
# Indicates if Ozone is enabled. Ozone is a low-level library layer for Linux
# that does not require X11.
- use_ozone = is_chromeos || is_fuchsia || is_linux || is_bsd
+ use_ozone = is_chromeos || is_fuchsia || is_linux || is_bsd || is_haiku
}
declare_args() {
@@ -76,6 +76,11 @@ declare_args() {
} else {
ozone_platform = "cast"
}
+ } else if (is_haiku) {
+ ozone_platform = "wayland"
+ ozone_platform_drm = false
+ ozone_platform_x11 = false
+ ozone_platform_wayland = true
} else if (is_chromeos) {
ozone_platform = "x11"
ozone_platform_drm = true
diff --git a/third_party/chromium/build/toolchain/toolchain.gni b/third_party/chromium/build/toolchain/toolchain.gni
index 754f0e3..185b04f 100644
--- a/third_party/chromium/build/toolchain/toolchain.gni
+++ b/third_party/chromium/build/toolchain/toolchain.gni
@@ -75,7 +75,7 @@ if (host_os == "mac") {
host_shlib_extension = ".dylib"
} else if (host_os == "win") {
host_shlib_extension = ".dll"
-} else if (host_os == "linux" || host_os == "aix" || host_os == "zos") {
+} else if (host_os == "linux" || host_os == "aix" || host_os == "zos" || host_os == "haiku") {
host_shlib_extension = ".so"
} else {
assert(false, "Host platform not supported")
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
@@ -2586,7 +2622,7 @@ 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 3add82d..d874ebe 100644
index 0a9f3e4..0e56cd1 100644
--- a/third_party/libwebrtc/BUILD.gn
+++ b/third_party/libwebrtc/BUILD.gn
@@ -211,7 +211,7 @@ config("common_inherited_config") {
@@ -2618,10 +2654,10 @@ index 3add82d..d874ebe 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 2703ab2..27fb24c 100644
index 84f1254..efec749 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") {
@@ -355,6 +355,19 @@ rtc_library("desktop_capture") {
]
}
@@ -2641,7 +2677,7 @@ index 2703ab2..27fb24c 100644
if (rtc_use_x11_extensions) {
sources += [
"linux/x11/mouse_cursor_monitor_x11.cc",
@@ -396,7 +409,7 @@ rtc_library("desktop_capture") {
@@ -402,7 +415,7 @@ rtc_library("desktop_capture") {
}
if (!is_win && !is_mac && !rtc_use_x11_extensions && !rtc_use_pipewire &&
@@ -3572,10 +3608,10 @@ 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 0d12966..1fef378 100644
index 4241afe..3b0d320 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(
@@ -24,7 +24,7 @@ scoped_refptr<VideoCaptureModule> VideoCaptureFactory::Create(
[[maybe_unused]] const char* deviceUniqueIdUTF8) {
// This is only implemented on pure Linux and WEBRTC_LINUX is defined for
// Android as well
@@ -3594,10 +3630,10 @@ 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 90218b6..1cf17a2 100644
index 337d7f6..21dca74 100644
--- a/third_party/libwebrtc/rtc_base/BUILD.gn
+++ b/third_party/libwebrtc/rtc_base/BUILD.gn
@@ -1144,6 +1144,10 @@ rtc_library("ifaddrs_converter") {
@@ -1139,6 +1139,10 @@ rtc_library("ifaddrs_converter") {
"ifaddrs_converter.h",
]
}
@@ -3609,10 +3645,10 @@ index 90218b6..1cf17a2 100644
rtc_library("rolling_accumulator") {
diff --git a/third_party/libwebrtc/rtc_base/logging.cc b/third_party/libwebrtc/rtc_base/logging.cc
index ea33c3b..dac888a 100644
index 4e0b9ac..6eea35e 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 {
@@ -120,7 +120,11 @@ std::string LogLineRef::DefaultLogLine() const {
log_output << timestamp;
}
if (thread_id_.has_value()) {
@@ -3625,10 +3661,10 @@ index ea33c3b..dac888a 100644
if (!filename_.empty()) {
#if defined(WEBRTC_ANDROID)
diff --git a/third_party/libwebrtc/rtc_base/physical_socket_server.cc b/third_party/libwebrtc/rtc_base/physical_socket_server.cc
index fb0eb7e..8336381 100644
index 3ec82f3..3244ffb 100644
--- a/third_party/libwebrtc/rtc_base/physical_socket_server.cc
+++ b/third_party/libwebrtc/rtc_base/physical_socket_server.cc
@@ -75,7 +75,7 @@ typedef void* SockOptArg;
@@ -85,7 +85,7 @@ typedef void* SockOptArg;
#endif // WEBRTC_POSIX
@@ -3637,7 +3673,7 @@ index fb0eb7e..8336381 100644
#if defined(WEBRTC_LINUX)
#include <linux/sockios.h>
#endif
@@ -375,7 +375,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
@@ -385,7 +385,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
ecn_ = value;
value = dscp_ + (ecn_ & kEcnMask);
}
@@ -3646,7 +3682,7 @@ index fb0eb7e..8336381 100644
if (sopt == IPV6_TCLASS) {
// Set the IPv4 option in all cases to support dual-stack sockets.
// Don't bother checking the return code, as this is expected to fail if
@@ -519,7 +519,7 @@ int PhysicalSocket::DoReadFromSocket(void* buffer,
@@ -529,7 +529,7 @@ int PhysicalSocket::DoReadFromSocket(void* buffer,
socklen_t addr_len = sizeof(addr_storage);
sockaddr* addr = reinterpret_cast<sockaddr*>(&addr_storage);
@@ -3655,7 +3691,7 @@ index fb0eb7e..8336381 100644
int received = 0;
iovec iov = {.iov_base = buffer, .iov_len = length};
msghdr msg = {.msg_name = nullptr, .msg_namelen = 0, .msg_iov = &iov, .msg_iovlen = 1};
@@ -704,7 +704,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
@@ -714,7 +714,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__)
RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported.";
return -1;
@@ -3664,7 +3700,7 @@ index fb0eb7e..8336381 100644
*slevel = IPPROTO_IP;
*sopt = IP_MTU_DISCOVER;
break;
@@ -722,7 +722,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
@@ -732,7 +732,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
*sopt = TCP_NODELAY;
break;
case OPT_DSCP:
@@ -3673,7 +3709,7 @@ index fb0eb7e..8336381 100644
if (family_ == AF_INET6) {
*slevel = IPPROTO_IPV6;
*sopt = IPV6_TCLASS;
@@ -736,7 +736,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
@@ -746,7 +746,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
return -1;
#endif
case OPT_SEND_ECN:
@@ -3682,7 +3718,7 @@ index fb0eb7e..8336381 100644
if (family_ == AF_INET6) {
*slevel = IPPROTO_IPV6;
*sopt = IPV6_TCLASS;
@@ -750,7 +750,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
@@ -760,7 +760,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
return -1;
#endif
case OPT_RECV_ECN:
@@ -3691,7 +3727,7 @@ index fb0eb7e..8336381 100644
if (family_ == AF_INET6) {
*slevel = IPPROTO_IPV6;
*sopt = IPV6_RECVTCLASS;
@@ -769,22 +769,30 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
@@ -779,22 +779,30 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
*slevel = SOL_SOCKET;
*sopt = SO_KEEPALIVE;
break;
@@ -3722,7 +3758,7 @@ index fb0eb7e..8336381 100644
case OPT_TCP_USER_TIMEOUT:
#if defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)
*slevel = IPPROTO_TCP;
@@ -833,7 +841,7 @@ bool SocketDispatcher::Initialize() {
@@ -843,7 +851,7 @@ bool SocketDispatcher::Initialize() {
#if defined(WEBRTC_WIN)
u_long argp = 1;
ioctlsocket(s_, FIONBIO, &argp);
@@ -3732,10 +3768,10 @@ index fb0eb7e..8336381 100644
int value = 1;
// Attempt to get receive packet timestamp from the socket.
diff --git a/third_party/libwebrtc/rtc_base/platform_thread_types.cc b/third_party/libwebrtc/rtc_base/platform_thread_types.cc
index c3c6955..5449ead 100644
index 712ae2c..e708aa5 100644
--- a/third_party/libwebrtc/rtc_base/platform_thread_types.cc
+++ b/third_party/libwebrtc/rtc_base/platform_thread_types.cc
@@ -15,6 +15,10 @@
@@ -16,6 +16,10 @@
#include <sys/syscall.h>
#endif
@@ -3746,7 +3782,7 @@ index c3c6955..5449ead 100644
#if defined(WEBRTC_WIN)
#include "rtc_base/arraysize.h"
@@ -44,6 +48,8 @@ PlatformThreadId CurrentThreadId() {
@@ -46,6 +50,8 @@ PlatformThreadId CurrentThreadId() {
return gettid();
#elif defined(WEBRTC_FUCHSIA)
return zx_thread_self();
@@ -3755,7 +3791,7 @@ index c3c6955..5449ead 100644
#elif defined(WEBRTC_LINUX)
return syscall(__NR_gettid);
#elif defined(__EMSCRIPTEN__)
@@ -118,6 +124,8 @@ void SetCurrentThreadName(const char* name) {
@@ -120,6 +126,8 @@ void SetCurrentThreadName(const char* name) {
prctl(PR_SET_NAME, reinterpret_cast<unsigned long>(name)); // NOLINT
#elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
pthread_setname_np(name);
@@ -3780,19 +3816,19 @@ index 62e1694..70186bb 100644
if (is_win) {
diff --git a/third_party/libwebrtc/webrtc.gni b/third_party/libwebrtc/webrtc.gni
index 17306b7..bf3b62e 100644
index 0a5fbcd..ca04a27 100644
--- a/third_party/libwebrtc/webrtc.gni
+++ b/third_party/libwebrtc/webrtc.gni
@@ -145,7 +145,7 @@ declare_args() {
rtc_build_tools = false
# Set this to false to skip building code that requires X11.
- rtc_use_x11 = use_x11
+ rtc_use_x11 = use_x11 && !is_haiku
- rtc_use_x11 = ozone_platform_x11
+ rtc_use_x11 = ozone_platform_x11 && !is_haiku
# Set this to use PipeWire on the Wayland display server.
# By default it's only enabled on desktop Linux (excludes ChromeOS) and
@@ -356,7 +356,7 @@ rtc_opus_dir = "//third_party/opus"
@@ -361,7 +361,7 @@ rtc_opus_dir = "//third_party/opus"
# Desktop capturer is supported only on Windows, OSX and Linux.
rtc_desktop_capture_supported =
@@ -4153,18 +4189,18 @@ index 0000000..fc441bb
+]
\ No newline at end of file
diff --git a/third_party/rust/mtu/.cargo-checksum.json b/third_party/rust/mtu/.cargo-checksum.json
index 599d7cd..a0fbf2f 100644
index 4c168fc..30cdf1a 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"}
-{"files":{"CODE_OF_CONDUCT.md":"f7b4cba1deaa0a77bd611c04c84ef5b6859e44c8370f7513fe688fb9531b913b","Cargo.lock":"87fd40e386e610a683ac57e8f20cdff83ba1617a8d963f30f23c4dc0f0e94675","Cargo.toml":"5599f073bcf2bd5a3d18b39e5f501ff66543625cfc8f70c5738045158fcbf4a5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"4ad721b5b6a3d39ca3e2202f403d897c4a1d42896486dd58963a81f8e64ef61d","README.md":"24df0e24154b7f0096570ad221aea02bd53a0f1124a2adafff5730af5443a65c","SECURITY.md":"75455814b6cf997e22a927eb979b4356d788583aa1eb96e90853aaab0f82ad1b","build.rs":"a4bcd0562c80914a8e909e8b10507605bfd6f0f268fad9ef4d79f4c48bdaed6c","src/bsd.rs":"d8c078fc5a407df32862f404ead6acdf647e0f79a341f7575562886bfc037ceb","src/lib.rs":"5045fdb6e15886f611a41216c47a284e53532de0c69e1b2d330358ed04acab50","src/linux.rs":"aecc6acbea2419dd6cc31e916148e438d8cec20cf001758042299ff2ccc81d39","src/routesocket.rs":"be837947e2c3f9301a174499217fe8920ff492918bf85ca5eb281eb7ad2240e1","src/windows.rs":"d7e18d55b3be5462d2041fc22fb22cf1fc163ec30b107a3274f2bd22ad618411"},"package":"3e3124fb16267c5a77ce8cd015bcb5bb3f8aab28ec32d89d65f6a31c5c1306a0"}
\ 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"}
+{"files":{"CODE_OF_CONDUCT.md":"f7b4cba1deaa0a77bd611c04c84ef5b6859e44c8370f7513fe688fb9531b913b","Cargo.lock":"87fd40e386e610a683ac57e8f20cdff83ba1617a8d963f30f23c4dc0f0e94675","Cargo.toml":"5599f073bcf2bd5a3d18b39e5f501ff66543625cfc8f70c5738045158fcbf4a5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"4ad721b5b6a3d39ca3e2202f403d897c4a1d42896486dd58963a81f8e64ef61d","README.md":"24df0e24154b7f0096570ad221aea02bd53a0f1124a2adafff5730af5443a65c","SECURITY.md":"75455814b6cf997e22a927eb979b4356d788583aa1eb96e90853aaab0f82ad1b","build.rs":"2c51040e4db5d6cbe0cfcc3ed1121c628c254e88dbb1c00a27036ff8c1aa8f26","src/bsd.rs":"d8c078fc5a407df32862f404ead6acdf647e0f79a341f7575562886bfc037ceb","src/lib.rs":"b213b34b5cd1c99c2398c2bc5040394a92426e1f87d9525df88455dedab9daec","src/linux.rs":"aecc6acbea2419dd6cc31e916148e438d8cec20cf001758042299ff2ccc81d39","src/routesocket.rs":"be837947e2c3f9301a174499217fe8920ff492918bf85ca5eb281eb7ad2240e1","src/windows.rs":"d7e18d55b3be5462d2041fc22fb22cf1fc163ec30b107a3274f2bd22ad618411"},"package":"3e3124fb16267c5a77ce8cd015bcb5bb3f8aab28ec32d89d65f6a31c5c1306a0"}
diff --git a/third_party/rust/mtu/build.rs b/third_party/rust/mtu/build.rs
index fdd7366..7b29700 100644
index a649819..14dbb00 100644
--- a/third_party/rust/mtu/build.rs
+++ b/third_party/rust/mtu/build.rs
@@ -47,14 +47,14 @@ fn bindgen() {
@@ -40,14 +40,14 @@ fn bindgen() {
// Platforms currently not supported.
//
// See <https://github.com/mozilla/mtu/issues/82>.
@@ -4182,10 +4218,10 @@ index fdd7366..7b29700 100644
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
index f67a5c3..063cf85 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 {
@@ -108,7 +108,7 @@ const fn aligned_by(size: usize, align: usize) -> usize {
// Platforms currently not supported.
//
// See <https://github.com/mozilla/mtu/issues/82>.
@@ -4195,15 +4231,15 @@ index 14fcc2a..104cef6 100644
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 2ada89f..33a4a07 100644
index a23c804..9236df3 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"}
-{"files":{"Cargo.lock":"39882ba9584ef645766dbc62a5c9e3ee2a975f62f2c4d22f6abef49a7a528388","Cargo.toml":"7ad4bf29c5b820a2d3a1c7e1b016269f6d501b3067974b56b66577fca1906af0","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":"2c2a32c3df9d27cc8964b46681700215ecf1f1baa6a363b88f1f11bdd4c92cea","src/windows.rs":"43da25457cb17c61369c3ba2c1d98f0ff758c5ea3207ae22969cca1f620b54af","tests/tests.rs":"bd4ee24b0e1ccab9beb444541b472bc1e815e2aba19d75572a379b6e1533449c"},"package":"fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970"}
\ 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"}
+{"files":{"Cargo.lock":"39882ba9584ef645766dbc62a5c9e3ee2a975f62f2c4d22f6abef49a7a528388","Cargo.toml":"7ad4bf29c5b820a2d3a1c7e1b016269f6d501b3067974b56b66577fca1906af0","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":"a71b09bc3d274fc4c43f2f2f3d8b655ee6ae12e6144ee8de99764fc9cc37b40e","src/windows.rs":"43da25457cb17c61369c3ba2c1d98f0ff758c5ea3207ae22969cca1f620b54af","tests/tests.rs":"bd4ee24b0e1ccab9beb444541b472bc1e815e2aba19d75572a379b6e1533449c"},"package":"fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970"}
diff --git a/third_party/rust/quinn-udp/src/unix.rs b/third_party/rust/quinn-udp/src/unix.rs
index c892796..8c3bc81 100644
index 3e7212f..a95924b 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" {
@@ -4895,10 +4931,10 @@ index 3e796cb..005a31d 100644
return elemString;
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
index 77069ea..9838fc4 100644
index 44b91b7..a2baa00 100644
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -296,6 +296,8 @@ def audio_backends_default(target):
@@ -295,6 +295,8 @@ def audio_backends_default(target):
return ("sndio",)
elif target.kernel == "Darwin":
return ("audiounit",)
@@ -4907,7 +4943,7 @@ index 77069ea..9838fc4 100644
elif target.os == "NetBSD":
return ("sunaudio",)
elif target.os == "SunOS":
@@ -313,6 +315,7 @@ option(
@@ -312,6 +314,7 @@ option(
"aaudio",
"alsa",
"audiounit",
@@ -4915,7 +4951,7 @@ index 77069ea..9838fc4 100644
"jack",
"opensl",
"oss",
@@ -351,6 +354,11 @@ def imply_audiounit(values, target):
@@ -350,6 +353,11 @@ def imply_audiounit(values, target):
return any("audiounit" in value for value in values) or None
@@ -4927,7 +4963,7 @@ index 77069ea..9838fc4 100644
@depends("--enable-audio-backends")
def imply_jack(values):
return any("jack" in value for value in values) or None
@@ -414,6 +422,8 @@ imply_option(
@@ -413,6 +421,8 @@ imply_option(
set_config("MOZ_AUDIOUNIT_RUST", imply_audiounit, when="--enable-audio-backends")
@@ -4936,7 +4972,7 @@ index 77069ea..9838fc4 100644
imply_option(
"--enable-jack", imply_jack, reason="--enable-audio-backends", when=use_pkg_config
)
@@ -3104,6 +3114,7 @@ def forkserver_default(target, build_project):
@@ -3111,6 +3121,7 @@ def forkserver_default(target, build_project):
(target.os == "GNU" and target.kernel == "Linux")
or target.os == "FreeBSD"
or target.os == "OpenBSD"
@@ -4944,7 +4980,7 @@ index 77069ea..9838fc4 100644
)
@@ -3831,7 +3842,7 @@ with only_when(compile_environment):
@@ -3838,7 +3849,7 @@ with only_when(compile_environment):
@depends(target)
def default_user_appdir(target):
@@ -4954,7 +4990,7 @@ index 77069ea..9838fc4 100644
return ".mozilla"
diff --git a/toolkit/system/gnome/moz.build b/toolkit/system/gnome/moz.build
index aa2df2b..a42f897 100644
index ce84646..1ebee31 100644
--- a/toolkit/system/gnome/moz.build
+++ b/toolkit/system/gnome/moz.build
@@ -7,8 +7,12 @@
@@ -5482,10 +5518,10 @@ index 9533f5e..973cf1c 100644
appearance: auto;
-moz-default-appearance: menupopup;
diff --git a/toolkit/toolkit.mozbuild b/toolkit/toolkit.mozbuild
index e8399d2..f76e321 100644
index 0ab59fb..29d5f2d 100644
--- a/toolkit/toolkit.mozbuild
+++ b/toolkit/toolkit.mozbuild
@@ -148,6 +148,7 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
@@ -149,6 +149,7 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
DIRS += [
"/media/mozva",
"/toolkit/system/gnome",
@@ -5494,7 +5530,7 @@ index e8399d2..f76e321 100644
if CONFIG["ENABLE_WEBDRIVER"]:
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 5156191..519c209 100644
index b83637c..c19eaf8 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -346,14 +346,16 @@ MOZ_CONSTINIT nsString gProcessStartupShortcut;
@@ -5534,7 +5570,7 @@ index 5156191..519c209 100644
}
#else
bool IsWaylandEnabled() { return false; }
@@ -3817,7 +3823,7 @@ class XREMain {
@@ -3803,7 +3809,7 @@ class XREMain {
#endif
};
@@ -5543,7 +5579,7 @@ index 5156191..519c209 100644
static SmprintfPointer FormatUid(uid_t aId) {
if (const auto pw = getpwuid(aId)) {
return mozilla::Smprintf("%s", pw->pw_name);
@@ -3866,7 +3872,7 @@ static bool CheckForUserMismatch() {
@@ -3852,7 +3858,7 @@ static bool CheckForUserMismatch() {
}
return false;
}
@@ -5552,7 +5588,7 @@ index 5156191..519c209 100644
static bool CheckForUserMismatch() { return false; }
#endif
@@ -4849,7 +4855,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
@@ -4835,7 +4841,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
// display_name is owned by gdk.
display_name = gdk_get_display_arg_name();
bool waylandEnabled = IsWaylandEnabled();
@@ -5561,7 +5597,7 @@ index 5156191..519c209 100644
if (!display_name) {
auto* proxyEnv = getenv("MOZ_DISABLE_WAYLAND_PROXY");
bool disableWaylandProxy = proxyEnv && *proxyEnv;
@@ -4904,7 +4910,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
@@ -4890,7 +4896,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
} else {
gdk_display_manager_open_display(gdk_display_manager_get(), nullptr);
}
@@ -5570,7 +5606,7 @@ index 5156191..519c209 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.
@@ -6202,7 +6208,9 @@ int XREMain::XRE_main(int argc, char* argv[], const BootstrapConfig& aConfig) {
@@ -6188,7 +6194,9 @@ int XREMain::XRE_main(int argc, char* argv[], const BootstrapConfig& aConfig) {
if (!gfxPlatform::IsHeadless()) {
# ifdef MOZ_WAYLAND
WaylandDisplayRelease();
@@ -5581,24 +5617,35 @@ index 5156191..519c209 100644
}
#endif
diff --git a/toolkit/xre/nsEmbedFunctions.cpp b/toolkit/xre/nsEmbedFunctions.cpp
index 9217d2b..cb984de 100644
index c822fe2..24750f7 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)
-
@@ -348,6 +348,7 @@ nsresult XRE_InitChildProcess(int aArgc, char* aArgv[],
SetupErrorHandling(aArgv[0]);
+#ifndef XP_HAIKU
exceptionHandlerIsSet = CrashReporter::SetRemoteExceptionHandler(
std::move(*crashReporterArg), crashHelperPid);
MOZ_ASSERT(exceptionHandlerIsSet,
"Should have been able to set remote exception handler");
-
bool exceptionHandlerIsSet = false;
if (!CrashReporter::IsDummy()) {
auto crashReporterArg = geckoargs::sCrashReporter.Get(aArgc, aArgv);
@@ -370,6 +371,7 @@ nsresult XRE_InitChildProcess(int aArgc, char* aArgv[],
CrashReporter::UnregisterRuntimeExceptionModule();
}
}
+#endif
if (!exceptionHandlerIsSet) {
// Bug 684322 will add better visibility into this condition
NS_WARNING("Could not setup crash reporting\n");
#ifdef MOZ_X11
XInitThreads();
@@ -601,7 +603,9 @@ nsresult XRE_InitChildProcess(int aArgc, char* aArgv[],
}
}
+#ifndef XP_HAIKU
CrashReporter::UnsetRemoteExceptionHandler(exceptionHandlerIsSet);
+#endif
return XRE_DeinitCommandLine();
}
diff --git a/toolkit/xre/nsSigHandlers.cpp b/toolkit/xre/nsSigHandlers.cpp
index 146a586..10b7fb6 100644
--- a/toolkit/xre/nsSigHandlers.cpp
@@ -5624,10 +5671,10 @@ 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 9c94cb8..ee3e523 100644
index 8a353b0..06e7601 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -80,6 +80,10 @@
@@ -81,6 +81,10 @@
#ifdef XP_IOS
# include "UIKitDirProvider.h"
#endif
@@ -5638,7 +5685,7 @@ index 9c94cb8..ee3e523 100644
#if defined(XP_MACOSX)
# define APP_REGISTRY_NAME "Application Registry"
@@ -365,7 +369,7 @@ nsXREDirProvider::GetFile(const char* aProperty, bool* aPersistent,
@@ -366,7 +370,7 @@ nsXREDirProvider::GetFile(const char* aProperty, bool* aPersistent,
} else if (!strcmp(aProperty, XRE_USER_NATIVE_MANIFESTS)) {
rv = GetUserDataDirectoryHome(getter_AddRefs(file), false);
NS_ENSURE_SUCCESS(rv, rv);
@@ -5647,7 +5694,7 @@ index 9c94cb8..ee3e523 100644
rv = file->AppendNative("Mozilla"_ns);
# else // defined(XP_MACOSX)
rv = file->AppendNative(".mozilla"_ns);
@@ -1081,6 +1085,12 @@ nsresult nsXREDirProvider::GetUserDataDirectoryHome(nsIFile** aFile,
@@ -1082,6 +1086,12 @@ nsresult nsXREDirProvider::GetUserDataDirectoryHome(nsIFile** aFile,
NS_ENSURE_SUCCESS(rv, rv);
MOZ_TRY(NS_NewLocalFile(path, getter_AddRefs(localDir)));
@@ -5660,7 +5707,7 @@ index 9c94cb8..ee3e523 100644
#elif defined(XP_UNIX)
const char* homeDir = getenv("HOME");
if (!homeDir || !*homeDir) return NS_ERROR_FAILURE;
@@ -1190,7 +1200,7 @@ nsresult nsXREDirProvider::AppendSysUserExtensionPath(nsIFile* aFile) {
@@ -1201,7 +1211,7 @@ nsresult nsXREDirProvider::AppendSysUserExtensionPath(nsIFile* aFile) {
nsresult rv;
@@ -5669,7 +5716,7 @@ index 9c94cb8..ee3e523 100644
static const char* const sXR = "Mozilla";
rv = aFile->AppendNative(nsDependentCString(sXR));
@@ -1249,7 +1259,7 @@ nsresult nsXREDirProvider::AppendProfilePath(nsIFile* aFile, bool aLocal) {
@@ -1260,7 +1270,7 @@ nsresult nsXREDirProvider::AppendProfilePath(nsIFile* aFile, bool aLocal) {
}
NS_ENSURE_SUCCESS(rv, rv);
@@ -5699,7 +5746,7 @@ index 4c53061..76d3561 100644
# else
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
index 99882b6..d048aba 100644
index c6cc98e..2b77f07 100644
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -27,7 +27,9 @@ if CONFIG["COMPILE_ENVIRONMENT"]:
@@ -5714,21 +5761,21 @@ index 99882b6..d048aba 100644
if CONFIG["MOZ_ENABLE_VAAPI"]:
DIRS += ["vaapitest"]
diff --git a/widget/gtk/nsWaylandDisplay.cpp b/widget/gtk/nsWaylandDisplay.cpp
index d05dd41..fae45e8 100644
index 745711a..f42806b 100644
--- a/widget/gtk/nsWaylandDisplay.cpp
+++ b/widget/gtk/nsWaylandDisplay.cpp
@@ -21,7 +21,9 @@
#include "mozilla/widget/xx-pip-v1-client-protocol.h"
#include "nsGtkKeyUtils.h"
@@ -23,7 +23,9 @@
#include "nsGtkUtils.h"
#include "nsLayoutUtils.h"
#include "nsWindow.h"
-#include "wayland-proxy.h"
+#ifndef XP_HAIKU
+# include "wayland-proxy.h"
+#endif /* !XP_HAIKU */
namespace mozilla::widget {
@@ -253,6 +255,7 @@ static const struct moz_wl_pointer_listener pointer_listener = {
#undef LOG
#undef LOG_VERBOSE
@@ -272,6 +274,7 @@ static const struct moz_wl_pointer_listener pointer_listener = {
};
void nsWaylandDisplay::SetPointer(wl_pointer* aPointer) {
@@ -5736,7 +5783,7 @@ index d05dd41..fae45e8 100644
// Don't even try on such old interface
if (wl_proxy_get_version((struct wl_proxy*)aPointer) <
WL_POINTER_RELEASE_SINCE_VERSION) {
@@ -277,6 +280,7 @@ void nsWaylandDisplay::SetPointer(wl_pointer* aPointer) {
@@ -296,6 +299,7 @@ void nsWaylandDisplay::SetPointer(wl_pointer* aPointer) {
zwp_pointer_gesture_hold_v1_add_listener(mPointerGestureHold,
&gesture_hold_listener, this);
}
@@ -5744,7 +5791,7 @@ index d05dd41..fae45e8 100644
}
void nsWaylandDisplay::RemovePointer() {
@@ -674,19 +678,22 @@ static void WlLogHandler(const char* format, va_list args) {
@@ -768,19 +772,22 @@ static void WlLogHandler(const char* format, va_list args) {
if (strstr(error, "still attached")) {
return;
}
@@ -5866,5 +5913,5 @@ index dbd9993..1431340 100644
# include <sys/types.h>
# include <signal.h>
--
2.48.1
2.50.1