Compare commits

..

No commits in common. "rawhide" and "f38" have entirely different histories.

49 changed files with 7382 additions and 1561 deletions

108
.gitignore vendored
View file

@ -639,111 +639,3 @@ firefox-3.6.4.source.tar.bz2
/firefox-langpacks-125.0.3-20240429.tar.xz
/firefox-126.0.source.tar.xz
/firefox-langpacks-126.0-20240507.tar.xz
/firefox-127.0.source.tar.xz
/firefox-langpacks-127.0-20240610.tar.xz
/firefox-langpacks-127.0.2-20240625.tar.xz
/firefox-127.0.2.source.tar.xz
/firefox-128.0.source.tar.xz
/firefox-langpacks-128.0-20240702.tar.xz
/firefox-langpacks-128.0-20240708.tar.xz
/firefox-128.0.3.source.tar.xz
/firefox-langpacks-128.0.3-20240729.tar.xz
/firefox-129.0.source.tar.xz
/firefox-langpacks-129.0-20240730.tar.xz
/firefox-langpacks-129.0-20240802.tar.xz
/firefox-129.0.2.source.tar.xz
/firefox-langpacks-192.0.2-20240820.tar.xz
/firefox-langpacks-129.0.2-20240820.tar.xz
/firefox-langpacks-130.0-20240828.tar.xz
/firefox-130.0.source.tar.xz
/firefox-130.0.1.source.tar.xz
/firefox-langpacks-130.0.1-20240918.tar.xz
/firefox-langpacks-131.0-20240924.tar.xz
/firefox-131.0.source.tar.xz
/firefox-131.0.2.source.tar.xz
/firefox-langpacks-131.0.2-20241009.tar.xz
/firefox-131.0.3.source.tar.xz
/firefox-langpacks-131.0.3-20241015.tar.xz
/firefox-132.0.source.tar.xz
/firefox-langpacks-132.0-20241023.tar.xz
/firefox-132.0.1.source.tar.xz
/firefox-langpacks-132.0.1-20241105.tar.xz
/firefox-langpacks-132.0.2-20241115.tar.xz
/firefox-132.0.2.source.tar.xz
/firefox-133.0.source.tar.xz
/firefox-langpacks-133.0-20241122.tar.xz
/firefox-langpacks-133.0.3-20241211.tar.xz
/firefox-133.0.3.source.tar.xz
/firefox-langpacks-134.0-20250102.tar.xz
/firefox-134.0.source.tar.xz
/firefox-langpacks-134.0.1-20250115.tar.xz
/firefox-134.0.1.source.tar.xz
/firefox-134.0.2.source.tar.xz
/firefox-langpacks-134.0.2-20250122.tar.xz
/wasi-sdk-25.tar.gz
/wasm-component-ld-vendor.tar.xz
/firefox-135.0.source.tar.xz
/firefox-langpacks-135.0-20250204.tar.xz
/firefox-136.0.source.tar.xz
/firefox-langpacks-136.0-20250225.tar.xz
/firefox-langpacks-136.0-20250228.tar.xz
/firefox-136.0.1.source.tar.xz
/firefox-langpacks-136.0.1-20250312.tar.xz
/firefox-langpacks-136.0.2-20250319.tar.xz
/firefox-136.0.2.source.tar.xz
/firefox-136.0.3.source.tar.xz
/firefox-langpacks-136.0.3-20250325.tar.xz
/firefox-langpacks-137.0-20250326.tar.xz
/firefox-137.0.source.tar.xz
/firefox-langpacks-137.0-20250331.tar.xz
/firefox-137.0.1.source.tar.xz
/firefox-langpacks-137.0.1-20250414.tar.xz
/firefox-138.0.source.tar.xz
/firefox-langpacks-138.0-20250422.tar.xz
/firefox-langpacks-138.0.1-20250501.tar.xz
/firefox-138.0.1.source.tar.xz
/firefox-138.0.3.source.tar.xz
/firefox-langpacks-138.0.3-20250512.tar.xz
/firefox-langpacks-138.0.4-20250519.tar.xz
/firefox-138.0.4.source.tar.xz
/firefox-139.0.source.tar.xz
/firefox-langpacks-139.0-20250527.tar.xz
/firefox-langpacks-139.0.4-20250610.tar.xz
/firefox-139.0.4.source.tar.xz
/firefox-140.0.source.tar.xz
/firefox-langpacks-140.0-20250617.tar.xz
/firefox-140.0.1.source.tar.xz
/firefox-langpacks-140.0.1-20250627.tar.xz
/firefox-140.0.4.source.tar.xz
/firefox-langpacks-140.0.4-20250708.tar.xz
/firefox-141.0.source.tar.xz
/firefox-langpacks-141.0-20250717.tar.xz
/firefox-langpacks-141.0-20250718.tar.xz
/firefox-langpacks-141.2.0-20250806.tar.xz
/firefox-141.0.2.source.tar.xz
/firefox-langpacks-141.0.2-20250806.tar.xz
/firefox-langpacks-141.0.3-20250811.tar.xz
/firefox-141.0.3.source.tar.xz
/firefox-142.0.source.tar.xz
/firefox-langpacks-142.0-20250812.tar.xz
/firefox-langpacks-142.0.1-20250827.tar.xz
/firefox-142.0.1.source.tar.xz
/firefox-143.0.1.source.tar.xz
/firefox-langpacks-143.0.1-20250919.tar.xz
/firefox-langpacks-143.0.3-20250930.tar.xz
/firefox-143.0.3.source.tar.xz
/firefox-langpacks-144.0-20251009.tar.xz
/firefox-144.0.source.tar.xz
/firefox-langpacks-144.0-20251010.tar.xz
/firefox-145.0.source.tar.xz
/firefox-langpacks-145.0-20251105.tar.xz
/firefox-langpacks-145.0-20251111.tar.xz
/firefox-145.0.1.source.tar.xz
/firefox-langpacks-145.0.1-20251119.tar.xz
/firefox-146.0.source.tar.xz
/firefox-langpacks-146.0-20251202.tar.xz
/firefox-langpacks-146.0-20251208.tar.xz
/firefox-146.0.1.source.tar.xz
/firefox-langpacks-146.0.1-20251219.tar.xz
/firefox-langpacks-147.0-20260106.tar.xz
/firefox-147.0.source.tar.xz

View file

@ -1,6 +1,16 @@
diff -up firefox-142.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix-for-GCC-12 firefox-142.0/build/unix/stdc++compat/stdc++compat.cpp
--- firefox-142.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix-for-GCC-12 2025-08-11 20:04:27.000000000 +0200
+++ firefox-142.0/build/unix/stdc++compat/stdc++compat.cpp 2025-08-14 15:02:05.496137133 +0200
From efd5bc0715e5477318be95a76811cda0a89e8289 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= <emilio@crisal.io>
Date: Fri, 4 Mar 2022 12:00:26 +0100
Subject: [PATCH] GLIBCXX fix for GCC 12?
---
build/unix/stdc++compat/stdc++compat.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/build/unix/stdc++compat/stdc++compat.cpp b/build/unix/stdc++compat/stdc++compat.cpp
index 0180f6bcfa998..8d7a542ff11f0 100644
--- a/build/unix/stdc++compat/stdc++compat.cpp
+++ b/build/unix/stdc++compat/stdc++compat.cpp
@@ -24,6 +24,7 @@
GLIBCXX_3.4.27 is from gcc 10
GLIBCXX_3.4.28 is from gcc 10
@ -9,9 +19,9 @@ diff -up firefox-142.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix
This file adds the necessary compatibility tricks to avoid symbols with
version GLIBCXX_3.4.20 and bigger, keeping binary compatibility with
@@ -94,6 +95,19 @@ void operator delete(void* ptr, size_t s
}
# endif
@@ -69,6 +70,19 @@ void __attribute__((weak)) __throw_bad_array_new_length() { MOZ_CRASH(); }
} // namespace std
#endif
+#if _GLIBCXX_RELEASE >= 12
+namespace std {
@ -29,3 +39,6 @@ diff -up firefox-142.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix
/* While we generally don't build with exceptions, we have some host tools
* that do use them. libstdc++ from GCC 5.0 added exception constructors with
* char const* argument. Older versions only have a constructor with
--
2.35.1

93
D168799.diff Normal file
View file

@ -0,0 +1,93 @@
diff --git a/extensions/pref/autoconfig/test/unit/test_autoconfig_custom_path.js b/extensions/pref/autoconfig/test/unit/test_autoconfig_custom_path.js
--- a/extensions/pref/autoconfig/test/unit/test_autoconfig_custom_path.js
+++ b/extensions/pref/autoconfig/test/unit/test_autoconfig_custom_path.js
@@ -9,10 +9,13 @@
let testDirName = do_get_cwd().clone();
Services.env.set("MOZ_SYSTEM_CONFIG_DIR", testDirName.path);
updateAppInfo();
+ try {
+ Services.dirsvc.undefine("SysConfD");
+ } catch (e) {}
let customSysConfD = Services.dirsvc.get("SysConfD", Ci.nsIFile);
let parent = customSysConfD.parent;
let child = customSysConfD.leafName;
notEqual("/etc", parent.path, "SysConfD is not in /etc");
equal("xpcshell", child, "SysConfD is xpcshell");
diff --git a/extensions/pref/autoconfig/test/unit/test_autoconfig_default_path.js b/extensions/pref/autoconfig/test/unit/test_autoconfig_default_path.js
--- a/extensions/pref/autoconfig/test/unit/test_autoconfig_default_path.js
+++ b/extensions/pref/autoconfig/test/unit/test_autoconfig_default_path.js
@@ -6,8 +6,11 @@
);
function run_test() {
updateAppInfo();
+ try {
+ Services.dirsvc.undefine("SysConfD");
+ } catch (e) {}
let defaultSysConfD = Services.dirsvc.get("SysConfD", Ci.nsIFile);
equal("/etc/xpcshell", defaultSysConfD.path, "SysConfD is in /etc");
}
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
@@ -4917,27 +4917,10 @@
ArrayLength(specialFiles));
if (NS_FAILED(rv)) {
NS_WARNING("Error parsing application default preferences.");
}
-#if defined(MOZ_WIDGET_GTK)
- // Under Flatpak/Snap package, load /etc/firefox/defaults/pref/*.js.
- if (mozilla::widget::IsRunningUnderFlatpakOrSnap()) {
- nsCOMPtr<nsIFile> defaultSnapPrefDir;
- rv = NS_GetSpecialDirectory(NS_OS_SYSTEM_CONFIG_DIR,
- getter_AddRefs(defaultSnapPrefDir));
- NS_ENSURE_SUCCESS(rv, rv);
- defaultSnapPrefDir->AppendNative("defaults"_ns);
- defaultSnapPrefDir->AppendNative("pref"_ns);
-
- rv = pref_LoadPrefsInDir(defaultSnapPrefDir, nullptr, 0);
- if (NS_FAILED(rv)) {
- NS_WARNING("Error parsing application default preferences under Snap.");
- }
- }
-#endif
-
// Load jar:$app/omni.jar!/defaults/preferences/*.js
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
RefPtr<nsZipArchive> appJarReader = Omnijar::GetReader(Omnijar::APP);
// GetReader(Omnijar::APP) returns null when `$app == $gre`, in
@@ -5006,10 +4989,28 @@
// Do we care if a file provided by this process fails to load?
pref_LoadPrefsInDir(path, nullptr, 0);
}
}
+#if defined(MOZ_WIDGET_GTK)
+ // To ensure the system-wide preferences are not overwritten by
+ // firefox/browser/defauts/preferences/*.js we need to load
+ // the /etc/firefox/defaults/pref/*.js settings as last.
+ // Under Flatpak, the NS_OS_SYSTEM_CONFIG_DIR points to /app/etc/firefox
+ nsCOMPtr<nsIFile> defaultSystemPrefDir;
+ rv = NS_GetSpecialDirectory(NS_OS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(defaultSystemPrefDir));
+ NS_ENSURE_SUCCESS(rv, rv);
+ defaultSystemPrefDir->AppendNative("defaults"_ns);
+ defaultSystemPrefDir->AppendNative("pref"_ns);
+
+ rv = pref_LoadPrefsInDir(defaultSystemPrefDir, nullptr, 0);
+ if (NS_FAILED(rv)) {
+ NS_WARNING("Error parsing application default preferences.");
+ }
+#endif
+
if (XRE_IsParentProcess()) {
SetupTelemetryPref();
}
if (aIsStartup) {

113
D192061.1699444912.diff Normal file
View file

@ -0,0 +1,113 @@
diff --git a/widget/gtk/nsUserIdleServiceGTK.cpp b/widget/gtk/nsUserIdleServiceGTK.cpp
--- a/widget/gtk/nsUserIdleServiceGTK.cpp
+++ b/widget/gtk/nsUserIdleServiceGTK.cpp
@@ -149,48 +149,62 @@
#ifdef MOZ_ENABLE_DBUS
class UserIdleServiceMutter : public UserIdleServiceImpl {
public:
bool PollIdleTime(uint32_t* aIdleTime) override {
- MOZ_LOG(sIdleLog, LogLevel::Info,
- ("UserIdleServiceMutter::PollIdleTime()\n"));
-
- MOZ_ASSERT(mProxy);
- GUniquePtr<GError> error;
+ MOZ_LOG(sIdleLog, LogLevel::Info, ("PollIdleTime() request\n"));
- RefPtr<GVariant> result = dont_AddRef(g_dbus_proxy_call_sync(
- mProxy, "GetIdletime", nullptr, G_DBUS_CALL_FLAGS_NONE, -1,
- mCancellable, getter_Transfers(error)));
- if (!result) {
- MOZ_LOG(sIdleLog, LogLevel::Info,
- ("UserIdleServiceMutter::PollIdleTime() failed, message: %s\n",
- error->message));
+ // We're not ready yet
+ if (!mProxy) {
return false;
}
- if (!g_variant_is_of_type(result, G_VARIANT_TYPE_TUPLE) ||
- g_variant_n_children(result) != 1) {
- MOZ_LOG(
- sIdleLog, LogLevel::Info,
- ("UserIdleServiceMutter::PollIdleTime() Unexpected params type: %s\n",
- g_variant_get_type_string(result)));
- return false;
+
+ if (!mPollInProgress) {
+ mPollInProgress = true;
+ DBusProxyCall(mProxy, "GetIdletime", nullptr, G_DBUS_CALL_FLAGS_NONE, -1,
+ mCancellable)
+ ->Then(
+ GetCurrentSerialEventTarget(), __func__,
+ // It's safe to capture this as we use mCancellable to stop
+ // listening.
+ [self = RefPtr{this}, this](RefPtr<GVariant>&& aResult) {
+ if (!g_variant_is_of_type(aResult, G_VARIANT_TYPE_TUPLE) ||
+ g_variant_n_children(aResult) != 1) {
+ MOZ_LOG(sIdleLog, LogLevel::Info,
+ ("PollIdleTime() Unexpected params type: %s\n",
+ g_variant_get_type_string(aResult)));
+ mLastIdleTime = 0;
+ return;
+ }
+ RefPtr<GVariant> iTime =
+ dont_AddRef(g_variant_get_child_value(aResult, 0));
+ if (!g_variant_is_of_type(iTime, G_VARIANT_TYPE_UINT64)) {
+ MOZ_LOG(sIdleLog, LogLevel::Info,
+ ("PollIdleTime() Unexpected params type: %s\n",
+ g_variant_get_type_string(aResult)));
+ mLastIdleTime = 0;
+ return;
+ }
+ uint64_t idleTime = g_variant_get_uint64(iTime);
+ if (idleTime > std::numeric_limits<uint32_t>::max()) {
+ idleTime = std::numeric_limits<uint32_t>::max();
+ }
+ mLastIdleTime = idleTime;
+ mPollInProgress = false;
+ MOZ_LOG(sIdleLog, LogLevel::Info,
+ ("Async handler got %d\n", mLastIdleTime));
+ },
+ [self = RefPtr{this}, this](GUniquePtr<GError>&& aError) {
+ mPollInProgress = false;
+ g_warning("Failed to call GetIdletime(): %s\n",
+ aError->message);
+ });
}
- RefPtr<GVariant> iTime = dont_AddRef(g_variant_get_child_value(result, 0));
- if (!g_variant_is_of_type(iTime, G_VARIANT_TYPE_UINT64)) {
- MOZ_LOG(
- sIdleLog, LogLevel::Info,
- ("UserIdleServiceMutter::PollIdleTime() Unexpected params type: %s\n",
- g_variant_get_type_string(result)));
- return false;
- }
- uint64_t idleTime = g_variant_get_uint64(iTime);
- if (idleTime > std::numeric_limits<uint32_t>::max()) {
- idleTime = std::numeric_limits<uint32_t>::max();
- }
- *aIdleTime = idleTime;
+
+ *aIdleTime = mLastIdleTime;
MOZ_LOG(sIdleLog, LogLevel::Info,
- ("UserIdleServiceMutter::PollIdleTime() %d\n", *aIdleTime));
+ ("PollIdleTime() returns %d\n", *aIdleTime));
return true;
}
bool ProbeImplementation(
RefPtr<nsUserIdleServiceGTK> aUserIdleServiceGTK) override {
@@ -229,10 +243,12 @@
}
private:
RefPtr<GDBusProxy> mProxy;
RefPtr<GCancellable> mCancellable;
+ uint32_t mLastIdleTime = 0;
+ bool mPollInProgress = false;
};
#endif
void nsUserIdleServiceGTK::ProbeService() {
MOZ_LOG(sIdleLog, LogLevel::Info,

201
D192208.1699444906.diff Normal file
View file

@ -0,0 +1,201 @@
diff --git a/widget/gtk/nsUserIdleServiceGTK.h b/widget/gtk/nsUserIdleServiceGTK.h
--- a/widget/gtk/nsUserIdleServiceGTK.h
+++ b/widget/gtk/nsUserIdleServiceGTK.h
@@ -14,18 +14,20 @@
class nsUserIdleServiceGTK;
class UserIdleServiceImpl {
public:
- NS_INLINE_DECL_REFCOUNTING(UserIdleServiceImpl);
+ explicit UserIdleServiceImpl(nsUserIdleServiceGTK* aUserIdleService)
+ : mUserIdleServiceGTK(aUserIdleService){};
virtual bool PollIdleTime(uint32_t* aIdleTime) = 0;
- virtual bool ProbeImplementation(
- RefPtr<nsUserIdleServiceGTK> aUserIdleServiceGTK) = 0;
+ virtual bool ProbeImplementation() = 0;
+
+ virtual ~UserIdleServiceImpl() = default;
protected:
- virtual ~UserIdleServiceImpl() = default;
+ nsUserIdleServiceGTK* mUserIdleServiceGTK;
};
#define IDLE_SERVICE_MUTTER 0
#define IDLE_SERVICE_XSCREENSAVER 1
#define IDLE_SERVICE_NONE 2
@@ -61,11 +63,11 @@
nsUserIdleServiceGTK() = default;
private:
~nsUserIdleServiceGTK() = default;
- RefPtr<UserIdleServiceImpl> mIdleService;
+ mozilla::UniquePtr<UserIdleServiceImpl> mIdleService;
#ifdef MOZ_ENABLE_DBUS
int mIdleServiceType = IDLE_SERVICE_MUTTER;
#else
int mIdleServiceType = IDLE_SERVICE_XSCREENSAVER;
#endif
diff --git a/widget/gtk/nsUserIdleServiceGTK.cpp b/widget/gtk/nsUserIdleServiceGTK.cpp
--- a/widget/gtk/nsUserIdleServiceGTK.cpp
+++ b/widget/gtk/nsUserIdleServiceGTK.cpp
@@ -74,12 +74,11 @@
MOZ_LOG(sIdleLog, LogLevel::Warning,
("XSSQueryExtension returned false!\n"));
return false;
}
- bool ProbeImplementation(
- RefPtr<nsUserIdleServiceGTK> aUserIdleServiceGTK) override {
+ bool ProbeImplementation() override {
MOZ_LOG(sIdleLog, LogLevel::Info,
("UserIdleServiceX11::UserIdleServiceX11()\n"));
if (!mozilla::widget::GdkIsX11Display()) {
return false;
@@ -114,15 +113,17 @@
// We're missing X11 symbols
return false;
}
// UserIdleServiceX11 uses sync init, confirm it now.
- aUserIdleServiceGTK->AcceptServiceCallback();
+ mUserIdleServiceGTK->AcceptServiceCallback();
return true;
}
- protected:
+ explicit UserIdleServiceX11(nsUserIdleServiceGTK* aUserIdleService)
+ : UserIdleServiceImpl(aUserIdleService){};
+
~UserIdleServiceX11() {
# ifdef MOZ_X11
if (mXssInfo) {
XFree(mXssInfo);
}
@@ -164,11 +165,11 @@
mCancellable)
->Then(
GetCurrentSerialEventTarget(), __func__,
// It's safe to capture this as we use mCancellable to stop
// listening.
- [self = RefPtr{this}, this](RefPtr<GVariant>&& aResult) {
+ [this](RefPtr<GVariant>&& aResult) {
if (!g_variant_is_of_type(aResult, G_VARIANT_TYPE_TUPLE) ||
g_variant_n_children(aResult) != 1) {
MOZ_LOG(sIdleLog, LogLevel::Info,
("PollIdleTime() Unexpected params type: %s\n",
g_variant_get_type_string(aResult)));
@@ -191,25 +192,25 @@
mLastIdleTime = idleTime;
mPollInProgress = false;
MOZ_LOG(sIdleLog, LogLevel::Info,
("Async handler got %d\n", mLastIdleTime));
},
- [self = RefPtr{this}, this](GUniquePtr<GError>&& aError) {
+ [this](GUniquePtr<GError>&& aError) {
mPollInProgress = false;
g_warning("Failed to call GetIdletime(): %s\n",
aError->message);
+ mUserIdleServiceGTK->RejectAndTryNextServiceCallback();
});
}
*aIdleTime = mLastIdleTime;
MOZ_LOG(sIdleLog, LogLevel::Info,
("PollIdleTime() returns %d\n", *aIdleTime));
return true;
}
- bool ProbeImplementation(
- RefPtr<nsUserIdleServiceGTK> aUserIdleServiceGTK) override {
+ bool ProbeImplementation() override {
MOZ_LOG(sIdleLog, LogLevel::Info,
("UserIdleServiceMutter::UserIdleServiceMutter()\n"));
mCancellable = dont_AddRef(g_cancellable_new());
CreateDBusProxyForBus(
@@ -219,23 +220,23 @@
nullptr, "org.gnome.Mutter.IdleMonitor",
"/org/gnome/Mutter/IdleMonitor/Core", "org.gnome.Mutter.IdleMonitor",
mCancellable)
->Then(
GetCurrentSerialEventTarget(), __func__,
- [self = RefPtr{this}, service = RefPtr{aUserIdleServiceGTK}](
- RefPtr<GDBusProxy>&& aProxy) {
- self->mProxy = std::move(aProxy);
- service->AcceptServiceCallback();
+ [this](RefPtr<GDBusProxy>&& aProxy) {
+ mProxy = std::move(aProxy);
+ mUserIdleServiceGTK->AcceptServiceCallback();
},
- [self = RefPtr{this}, service = RefPtr{aUserIdleServiceGTK}](
- GUniquePtr<GError>&& aError) {
- service->RejectAndTryNextServiceCallback();
+ [this](GUniquePtr<GError>&& aError) {
+ mUserIdleServiceGTK->RejectAndTryNextServiceCallback();
});
return true;
}
- protected:
+ explicit UserIdleServiceMutter(nsUserIdleServiceGTK* aUserIdleService)
+ : UserIdleServiceImpl(aUserIdleService){};
+
~UserIdleServiceMutter() {
if (mCancellable) {
g_cancellable_cancel(mCancellable);
mCancellable = nullptr;
}
@@ -257,23 +258,23 @@
MOZ_ASSERT(!mIdleService);
switch (mIdleServiceType) {
#ifdef MOZ_ENABLE_DBUS
case IDLE_SERVICE_MUTTER:
- mIdleService = new UserIdleServiceMutter();
+ mIdleService = MakeUnique<UserIdleServiceMutter>(this);
break;
#endif
#ifdef MOZ_X11
case IDLE_SERVICE_XSCREENSAVER:
- mIdleService = new UserIdleServiceX11();
+ mIdleService = MakeUnique<UserIdleServiceX11>(this);
break;
#endif
default:
return;
}
- if (!mIdleService->ProbeImplementation(this)) {
+ if (!mIdleService->ProbeImplementation()) {
RejectAndTryNextServiceCallback();
}
}
void nsUserIdleServiceGTK::AcceptServiceCallback() {
@@ -289,19 +290,19 @@
mIdleServiceType));
// Delete recent non-working service
MOZ_ASSERT(mIdleService, "Nothing to reject?");
mIdleService = nullptr;
+ mIdleServiceInitialized = false;
mIdleServiceType++;
if (mIdleServiceType < IDLE_SERVICE_NONE) {
MOZ_LOG(sIdleLog, LogLevel::Info,
("nsUserIdleServiceGTK try next idle service\n"));
ProbeService();
} else {
MOZ_LOG(sIdleLog, LogLevel::Info, ("nsUserIdleServiceGTK failed\n"));
- mIdleServiceInitialized = false;
}
}
bool nsUserIdleServiceGTK::PollIdleTime(uint32_t* aIdleTime) {
if (!mIdleServiceInitialized) {

419
D209910.1715685533.diff Normal file
View file

@ -0,0 +1,419 @@
diff --git a/widget/gtk/DBusService.h b/widget/gtk/DBusService.h
new file mode 100644
--- /dev/null
+++ b/widget/gtk/DBusService.h
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef DBusService_h__
+#define DBusService_h__
+
+#include <glib.h>
+#include <gio/gio.h>
+#include "mozilla/RefPtr.h"
+#include "mozilla/GRefPtr.h"
+
+namespace mozilla::widget {
+
+class DBusService final {
+ public:
+ explicit DBusService(const char* aAppFile) : mAppFile(aAppFile) {}
+ ~DBusService();
+
+ // nsBaseAppShell overrides:
+ bool Init();
+ void Run();
+
+ void StartDBusListening();
+ void StopDBusListening();
+
+ static void DBusSessionSleepCallback(GDBusProxy* aProxy, gchar* aSenderName,
+ gchar* aSignalName,
+ GVariant* aParameters,
+ gpointer aUserData);
+ static void DBusTimedatePropertiesChangedCallback(GDBusProxy* aProxy,
+ gchar* aSenderName,
+ gchar* aSignalName,
+ GVariant* aParameters,
+ gpointer aUserData);
+ static void DBusConnectClientResponse(GObject* aObject, GAsyncResult* aResult,
+ gpointer aUserData);
+
+ bool LaunchApp(const char* aCommand, const char** aURIList, int aURIListLen);
+
+ void HandleFreedesktopActivate(GVariant* aParameters,
+ GDBusMethodInvocation* aReply);
+ void HandleFreedesktopOpen(GVariant* aParameters,
+ GDBusMethodInvocation* aReply);
+ void HandleFreedesktopActivateAction(GVariant* aParameters,
+ GDBusMethodInvocation* aReply);
+
+ bool StartFreedesktopListener();
+ void StopFreedesktopListener();
+
+ void OnBusAcquired(GDBusConnection* aConnection);
+ void OnNameAcquired(GDBusConnection* aConnection);
+ void OnNameLost(GDBusConnection* aConnection);
+
+ private:
+ // The connection is owned by DBus library
+ uint mDBusID = 0;
+ uint mRegistrationId = 0;
+ GDBusConnection* mConnection = nullptr;
+ RefPtr<GDBusNodeInfo> mIntrospectionData;
+ const char* mAppFile = nullptr;
+};
+
+} // namespace mozilla::widget
+
+#endif // DBusService_h__
diff --git a/widget/gtk/DBusService.cpp b/widget/gtk/DBusService.cpp
new file mode 100644
--- /dev/null
+++ b/widget/gtk/DBusService.cpp
@@ -0,0 +1,327 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <gdk/gdk.h>
+#include "DBusService.h"
+#include "nsAppRunner.h"
+#include "mozilla/Unused.h"
+#include "mozilla/GUniquePtr.h"
+#include "mozilla/WidgetUtils.h"
+#include <gio/gio.h>
+#include "nsIObserverService.h"
+#include "WidgetUtilsGtk.h"
+#include "prproces.h"
+#include "mozilla/XREAppData.h"
+#include "nsPrintfCString.h"
+
+using namespace mozilla;
+using namespace mozilla::widget;
+
+DBusService::~DBusService() { StopFreedesktopListener(); }
+
+bool DBusService::Init() { return StartFreedesktopListener(); }
+
+void DBusService::Run() {
+ GMainLoop* loop = g_main_loop_new(nullptr, false);
+ g_main_loop_run(loop);
+ g_main_loop_unref(loop);
+}
+
+// Mozilla has old GIO version in build roots
+#define G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE GBusNameOwnerFlags(1 << 2)
+
+#define DBUS_BUS_NAME_TEMPLATE "org.mozilla.%s"
+#define DBUS_OBJECT_PATH_TEMPLATE "/org/mozilla/%s"
+
+static const char* GetDBusBusName() {
+ static const char* name = []() {
+ nsAutoCString appName;
+ gAppData->GetDBusAppName(appName);
+ return ToNewCString(nsPrintfCString(DBUS_BUS_NAME_TEMPLATE,
+ appName.get())); // Intentionally leak
+ }();
+ return name;
+}
+
+static const char* GetDBusObjectPath() {
+ static const char* path = []() {
+ nsAutoCString appName;
+ gAppData->GetDBusAppName(appName);
+ return ToNewCString(nsPrintfCString(DBUS_OBJECT_PATH_TEMPLATE,
+ appName.get())); // Intentionally leak
+ }();
+ return path;
+}
+
+// See
+// https://specifications.freedesktop.org/desktop-entry-spec/1.1/ar01s07.html
+// for details
+static const char* kIntrospectTemplate =
+ "<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection "
+ "1.0//EN\"\n"
+ "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n"
+ "<node>\n"
+ "<interface name='org.freedesktop.Application'>\n"
+ "<method name='Activate'>\n"
+ " <arg type='a{sv}' name='platform_data' direction='in'/>\n"
+ " </method>\n"
+ " <method name='Open'>\n"
+ " <arg type='as' name='uris' direction='in'/>\n"
+ " <arg type='a{sv}' name='platform_data' direction='in'/>\n"
+ "</method>\n"
+ "<method name='ActivateAction'>\n"
+ " <arg type='s' name='action_name' direction='in'/>\n"
+ " <arg type='av' name='parameter' direction='in'/>\n"
+ " <arg type='a{sv}' name='platform_data' direction='in'/>\n"
+ "</method>\n"
+ "</interface>\n"
+ "</node>\n";
+
+bool DBusService::LaunchApp(const char* aCommand, const char** aURIList,
+ int aURIListLen) {
+ // Allocate space for all uris, executable name, command if supplied and
+ // null terminator
+ int paramsNum = aURIListLen + 2;
+ if (aCommand) {
+ paramsNum++;
+ }
+
+ char** argv = (char**)moz_xmalloc(sizeof(char*) * paramsNum);
+ int argc = 0;
+ argv[argc++] = strdup(mAppFile);
+ if (aCommand) {
+ argv[argc++] = strdup(aCommand);
+ }
+ for (int i = 0; aURIList && i < aURIListLen; i++) {
+ argv[argc++] = strdup(aURIList[i]);
+ }
+ argv[argc++] = nullptr;
+
+ nsAutoCString exePath;
+ nsCOMPtr<nsIFile> lf;
+ bool ret = false;
+ if (NS_SUCCEEDED(XRE_GetBinaryPath(getter_AddRefs(lf)))) {
+ if (NS_SUCCEEDED(lf->GetNativePath(exePath))) {
+ ret = (PR_CreateProcessDetached(exePath.get(), argv, nullptr, nullptr) !=
+ PR_FAILURE);
+ }
+ }
+
+ for (int i = 0; i < argc; i++) {
+ free(argv[i]);
+ }
+ free(argv);
+ return ret;
+}
+
+// The Activate method is called when the application is started without
+// files to open.
+// Open :: (a{sv}) → ()
+void DBusService::HandleFreedesktopActivate(GVariant* aParameters,
+ GDBusMethodInvocation* aReply) {
+ if (!LaunchApp(nullptr, nullptr, 0)) {
+ g_dbus_method_invocation_return_error(aReply, G_DBUS_ERROR,
+ G_DBUS_ERROR_FAILED,
+ "Failed to run target application.");
+ return;
+ }
+ g_dbus_method_invocation_return_value(aReply, nullptr);
+}
+
+// The Open method is called when the application is started with files.
+// The array of strings is an array of URIs, in UTF-8.
+// Open :: (as,a{sv}) → ()
+void DBusService::HandleFreedesktopOpen(GVariant* aParameters,
+ GDBusMethodInvocation* aReply) {
+ RefPtr<GVariant> variant =
+ dont_AddRef(g_variant_get_child_value(aParameters, 0));
+ gsize uriNum = 0;
+ GUniquePtr<const char*> uriArray(g_variant_get_strv(variant, &uriNum));
+ if (!LaunchApp(nullptr, uriArray.get(), uriNum)) {
+ g_dbus_method_invocation_return_error(aReply, G_DBUS_ERROR,
+ G_DBUS_ERROR_FAILED,
+ "Failed to run target application.");
+ return;
+ }
+ g_dbus_method_invocation_return_value(aReply, nullptr);
+}
+
+// The ActivateAction method is called when Desktop Actions are activated.
+// The action-name parameter is the name of the action.
+// ActivateAction :: (s,av,a{sv}) → ()
+void DBusService::HandleFreedesktopActivateAction(
+ GVariant* aParameters, GDBusMethodInvocation* aReply) {
+ const char* actionName;
+
+ // aParameters is "(s,av,a{sv})" type
+ RefPtr<GVariant> r = dont_AddRef(g_variant_get_child_value(aParameters, 0));
+ if (!(actionName = g_variant_get_string(r, nullptr))) {
+ g_dbus_method_invocation_return_error(
+ aReply, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "Wrong params!");
+ return;
+ }
+
+ // TODO: Read av params and pass them to LaunchApp?
+
+ // actionName matches desktop action defined in .desktop file.
+ // We implement it for .desktop file shipped by flatpak
+ // (taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop)
+ bool ret = false;
+ if (!strcmp(actionName, "new-window")) {
+ ret = LaunchApp(nullptr, nullptr, 0);
+ } else if (!strcmp(actionName, "new-private-window")) {
+ ret = LaunchApp("--private-window", nullptr, 0);
+ } else if (!strcmp(actionName, "profile-manager-window")) {
+ ret = LaunchApp("--ProfileManager", nullptr, 0);
+ }
+ if (!ret) {
+ g_dbus_method_invocation_return_error(aReply, G_DBUS_ERROR,
+ G_DBUS_ERROR_FAILED,
+ "Failed to run target application.");
+ return;
+ }
+ g_dbus_method_invocation_return_value(aReply, nullptr);
+}
+
+static void HandleMethodCall(GDBusConnection* aConnection, const gchar* aSender,
+ const gchar* aObjectPath,
+ const gchar* aInterfaceName,
+ const gchar* aMethodName, GVariant* aParameters,
+ GDBusMethodInvocation* aInvocation,
+ gpointer aUserData) {
+ MOZ_ASSERT(aUserData);
+ MOZ_ASSERT(NS_IsMainThread());
+
+ if (strcmp("org.freedesktop.Application", aInterfaceName) != 0) {
+ g_warning("DBusService: HandleMethodCall() wrong interface name %s",
+ aInterfaceName);
+ return;
+ }
+ if (strcmp("Activate", aMethodName) == 0) {
+ static_cast<DBusService*>(aUserData)->HandleFreedesktopActivate(
+ aParameters, aInvocation);
+ } else if (strcmp("Open", aMethodName) == 0) {
+ static_cast<DBusService*>(aUserData)->HandleFreedesktopOpen(aParameters,
+ aInvocation);
+ } else if (strcmp("ActivateAction", aMethodName) == 0) {
+ static_cast<DBusService*>(aUserData)->HandleFreedesktopActivateAction(
+ aParameters, aInvocation);
+ } else {
+ g_warning("DBusService: HandleMethodCall() wrong method %s", aMethodName);
+ }
+}
+
+static GVariant* HandleGetProperty(GDBusConnection* aConnection,
+ const gchar* aSender,
+ const gchar* aObjectPath,
+ const gchar* aInterfaceName,
+ const gchar* aPropertyName, GError** aError,
+ gpointer aUserData) {
+ MOZ_ASSERT(aUserData);
+ MOZ_ASSERT(NS_IsMainThread());
+ g_set_error(aError, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "%s:%s setting is not supported", aInterfaceName, aPropertyName);
+ return nullptr;
+}
+
+static gboolean HandleSetProperty(GDBusConnection* aConnection,
+ const gchar* aSender,
+ const gchar* aObjectPath,
+ const gchar* aInterfaceName,
+ const gchar* aPropertyName, GVariant* aValue,
+ GError** aError, gpointer aUserData) {
+ MOZ_ASSERT(aUserData);
+ MOZ_ASSERT(NS_IsMainThread());
+ g_set_error(aError, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "%s:%s setting is not supported", aInterfaceName, aPropertyName);
+ return false;
+}
+
+static const GDBusInterfaceVTable gInterfaceVTable = {
+ HandleMethodCall, HandleGetProperty, HandleSetProperty};
+
+void DBusService::OnBusAcquired(GDBusConnection* aConnection) {
+ GUniquePtr<GError> error;
+ mIntrospectionData = dont_AddRef(g_dbus_node_info_new_for_xml(
+ kIntrospectTemplate, getter_Transfers(error)));
+ if (!mIntrospectionData) {
+ g_warning("DBusService: g_dbus_node_info_new_for_xml() failed! %s",
+ error->message);
+ return;
+ }
+
+ mRegistrationId = g_dbus_connection_register_object(
+ aConnection, GetDBusObjectPath(), mIntrospectionData->interfaces[0],
+ &gInterfaceVTable, this, /* user_data */
+ nullptr, /* user_data_free_func */
+ getter_Transfers(error)); /* GError** */
+
+ if (mRegistrationId == 0) {
+ g_warning(
+ "DBusService: g_dbus_connection_register_object() "
+ "failed! %s",
+ error->message);
+ return;
+ }
+}
+
+void DBusService::OnNameAcquired(GDBusConnection* aConnection) {
+ mConnection = aConnection;
+}
+
+void DBusService::OnNameLost(GDBusConnection* aConnection) {
+ mConnection = nullptr;
+ if (!mRegistrationId) {
+ return;
+ }
+ if (g_dbus_connection_unregister_object(aConnection, mRegistrationId)) {
+ mRegistrationId = 0;
+ }
+}
+
+bool DBusService::StartFreedesktopListener() {
+ if (mDBusID) {
+ // We're already connected so we don't need to reconnect
+ return false;
+ }
+
+ mDBusID = g_bus_own_name(
+ // if org.mozilla.Firefox is taken it means we're already running
+ // so use G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE and quit.
+ G_BUS_TYPE_SESSION, GetDBusBusName(), G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE,
+ [](GDBusConnection* aConnection, const gchar*,
+ gpointer aUserData) -> void {
+ static_cast<DBusService*>(aUserData)->OnBusAcquired(aConnection);
+ },
+ [](GDBusConnection* aConnection, const gchar*,
+ gpointer aUserData) -> void {
+ static_cast<DBusService*>(aUserData)->OnNameAcquired(aConnection);
+ },
+ [](GDBusConnection* aConnection, const gchar*,
+ gpointer aUserData) -> void {
+ static_cast<DBusService*>(aUserData)->OnNameLost(aConnection);
+ },
+ this, nullptr);
+
+ if (!mDBusID) {
+ g_warning("DBusService: g_bus_own_name() failed!");
+ return false;
+ }
+
+ return true;
+}
+
+void DBusService::StopFreedesktopListener() {
+ OnNameLost(mConnection);
+ if (mDBusID) {
+ g_bus_unown_name(mDBusID);
+ mDBusID = 0;
+ }
+ mIntrospectionData = nullptr;
+}
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -172,9 +172,10 @@
"AsyncDBus.h",
]
UNIFIED_SOURCES += [
"AsyncDBus.cpp",
"DBusMenu.cpp",
+ "DBusService.cpp",
]
CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
CXXFLAGS += ["-Werror=switch"]

55
D209911.1715685535.diff Normal file
View file

@ -0,0 +1,55 @@
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -265,10 +265,13 @@
#endif
#ifdef MOZ_WIDGET_GTK
# include "nsAppShell.h"
#endif
+#ifdef MOZ_ENABLE_DBUS
+# include "DBusService.h"
+#endif
extern uint32_t gRestartMode;
extern void InstallSignalHandlers(const char* ProgramName);
#define FILE_COMPATIBILITY_INFO "compatibility.ini"_ns
@@ -2132,10 +2135,14 @@
#if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) || defined(XP_MACOSX)
printf(" --headless Run without a GUI.\n");
#endif
+#if defined(MOZ_ENABLE_DBUS)
+ printf(" --dbus-service Run as DBus service.\n");
+#endif
+
// this works, but only after the components have registered. so if you drop
// in a new command line handler, --help won't not until the second run. out
// of the bug, because we ship a component.reg file, it works correctly.
DumpArbitraryHelp();
}
@@ -4370,10 +4377,21 @@
DumpFullVersion();
*aExitFlag = true;
return 0;
}
+#ifdef MOZ_ENABLE_DBUS
+ if (CheckArg("dbus-service")) {
+ UniquePtr<DBusService> dbusService = MakeUnique<DBusService>(gArgv[0]);
+ if (dbusService->Init()) {
+ dbusService->Run();
+ }
+ *aExitFlag = true;
+ return 1;
+ }
+#endif
+
rv = XRE_InitCommandLine(gArgc, gArgv);
NS_ENSURE_SUCCESS(rv, 1);
return 0;
}

54
D210158.1715685536.diff Normal file
View file

@ -0,0 +1,54 @@
diff -up firefox-126.0/widget/gtk/DBusService.cpp.D210158.1715685536 firefox-126.0/widget/gtk/DBusService.cpp
--- firefox-126.0/widget/gtk/DBusService.cpp.D210158.1715685536 2024-05-14 11:19:02.098199593 +0200
+++ firefox-126.0/widget/gtk/DBusService.cpp 2024-05-14 11:24:44.236939835 +0200
@@ -85,38 +85,24 @@ static const char* kIntrospectTemplate =
bool DBusService::LaunchApp(const char* aCommand, const char** aURIList,
int aURIListLen) {
- // Allocate space for all uris, executable name, command if supplied and
- // null terminator
- int paramsNum = aURIListLen + 2;
+ nsAutoCString param(mAppFile);
if (aCommand) {
- paramsNum++;
- }
-
- char** argv = (char**)moz_xmalloc(sizeof(char*) * paramsNum);
- int argc = 0;
- argv[argc++] = strdup(mAppFile);
- if (aCommand) {
- argv[argc++] = strdup(aCommand);
+ param.Append(" ");
+ param.Append(aCommand);
}
for (int i = 0; aURIList && i < aURIListLen; i++) {
- argv[argc++] = strdup(aURIList[i]);
- }
- argv[argc++] = nullptr;
-
- nsAutoCString exePath;
- nsCOMPtr<nsIFile> lf;
- bool ret = false;
- if (NS_SUCCEEDED(XRE_GetBinaryPath(getter_AddRefs(lf)))) {
- if (NS_SUCCEEDED(lf->GetNativePath(exePath))) {
- ret = (PR_CreateProcessDetached(exePath.get(), argv, nullptr, nullptr) !=
- PR_FAILURE);
- }
+ param.Append(" ");
+ GUniquePtr<char> escUri(g_shell_quote(aURIList[i]));
+ param.Append(escUri.get());
}
- for (int i = 0; i < argc; i++) {
- free(argv[i]);
+ char* argv[] = {strdup("/bin/sh"), strdup("-c"), strdup(param.get()),
+ nullptr};
+ int ret =
+ PR_CreateProcessDetached("/bin/sh", argv, nullptr, nullptr) != PR_FAILURE;
+ for (auto str : argv) {
+ free(str);
}
- free(argv);
return ret;
}

49
D210159.1715685538.diff Normal file
View file

@ -0,0 +1,49 @@
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -2136,11 +2136,15 @@
#if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) || defined(XP_MACOSX)
printf(" --headless Run without a GUI.\n");
#endif
#if defined(MOZ_ENABLE_DBUS)
- printf(" --dbus-service Run as DBus service.\n");
+ printf(
+ " --dbus-service <launcher> Run as DBus service for "
+ "org.freedesktop.Application and\n"
+ " set a launcher (usually /usr/bin/appname "
+ "script) for it.");
#endif
// this works, but only after the components have registered. so if you drop
// in a new command line handler, --help won't not until the second run. out
// of the bug, because we ship a component.reg file, it works correctly.
@@ -4378,17 +4382,24 @@
*aExitFlag = true;
return 0;
}
#ifdef MOZ_ENABLE_DBUS
- if (CheckArg("dbus-service")) {
- UniquePtr<DBusService> dbusService = MakeUnique<DBusService>(gArgv[0]);
+ const char* dbusServiceLauncher = nullptr;
+ ar = CheckArg("dbus-service", &dbusServiceLauncher, CheckArgFlag::None);
+ if (ar == ARG_BAD) {
+ Output(true, "Missing launcher param for --dbus-service\n");
+ return 1;
+ }
+ if (ar == ARG_FOUND) {
+ UniquePtr<DBusService> dbusService =
+ MakeUnique<DBusService>(dbusServiceLauncher);
if (dbusService->Init()) {
dbusService->Run();
}
*aExitFlag = true;
- return 1;
+ return 0;
}
#endif
rv = XRE_InitCommandLine(gArgc, gArgv);
NS_ENSURE_SUCCESS(rv, 1);

121
D210430.1715848796.diff Normal file
View file

@ -0,0 +1,121 @@
diff --git a/toolkit/components/remote/nsDBusRemoteClient.h b/toolkit/components/remote/nsDBusRemoteClient.h
--- a/toolkit/components/remote/nsDBusRemoteClient.h
+++ b/toolkit/components/remote/nsDBusRemoteClient.h
@@ -29,10 +29,10 @@
void Shutdown();
private:
bool GetRemoteDestinationName(const char* aProgram, const char* aProfile,
nsCString& aDestinationName);
- nsresult DoSendDBusCommandLine(const char* aProgram, const char* aProfile,
- const char* aBuffer, int aLength);
+ nsresult DoSendDBusCommandLine(const char* aProfile, const char* aBuffer,
+ int aLength);
};
#endif // DBusRemoteClient_h__
diff --git a/toolkit/components/remote/nsDBusRemoteClient.cpp b/toolkit/components/remote/nsDBusRemoteClient.cpp
--- a/toolkit/components/remote/nsDBusRemoteClient.cpp
+++ b/toolkit/components/remote/nsDBusRemoteClient.cpp
@@ -6,10 +6,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDBusRemoteClient.h"
#include "RemoteUtils.h"
+#include "nsAppRunner.h"
#include "mozilla/XREAppData.h"
#include "mozilla/Logging.h"
#include "mozilla/Base64.h"
#include "nsPrintfCString.h"
#include "mozilla/GUniquePtr.h"
@@ -36,11 +37,11 @@
}
nsresult nsDBusRemoteClient::SendCommandLine(
const char* aProgram, const char* aProfile, int32_t argc, char** argv,
const char* aStartupToken, char** aResponse, bool* aWindowFound) {
- NS_ENSURE_TRUE(aProgram, NS_ERROR_INVALID_ARG);
+ NS_ENSURE_TRUE(aProfile, NS_ERROR_INVALID_ARG);
LOG("nsDBusRemoteClient::SendCommandLine");
int commandLineLength;
char* commandLine =
@@ -48,12 +49,11 @@
if (!commandLine) {
LOG(" failed to create command line");
return NS_ERROR_FAILURE;
}
- nsresult rv =
- DoSendDBusCommandLine(aProgram, aProfile, commandLine, commandLineLength);
+ nsresult rv = DoSendDBusCommandLine(aProfile, commandLine, commandLineLength);
free(commandLine);
*aWindowFound = NS_SUCCEEDED(rv);
LOG("DoSendDBusCommandLine %s", NS_SUCCEEDED(rv) ? "OK" : "FAILED");
@@ -97,18 +97,17 @@
}
return true;
}
-nsresult nsDBusRemoteClient::DoSendDBusCommandLine(const char* aProgram,
- const char* aProfile,
+nsresult nsDBusRemoteClient::DoSendDBusCommandLine(const char* aProfile,
const char* aBuffer,
int aLength) {
LOG("nsDBusRemoteClient::DoSendDBusCommandLine()");
- nsAutoCString appName(aProgram);
- mozilla::XREAppData::SanitizeNameForDBus(appName);
+ nsAutoCString appName;
+ gAppData->GetDBusAppName(appName);
nsAutoCString destinationName;
if (!GetRemoteDestinationName(appName.get(), aProfile, destinationName)) {
LOG(" failed to get remote destination name");
return NS_ERROR_FAILURE;
diff --git a/toolkit/components/remote/nsDBusRemoteServer.cpp b/toolkit/components/remote/nsDBusRemoteServer.cpp
--- a/toolkit/components/remote/nsDBusRemoteServer.cpp
+++ b/toolkit/components/remote/nsDBusRemoteServer.cpp
@@ -6,10 +6,11 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDBusRemoteServer.h"
#include "nsCOMPtr.h"
+#include "nsAppRunner.h"
#include "mozilla/XREAppData.h"
#include "mozilla/Base64.h"
#include "mozilla/ScopeExit.h"
#include "mozilla/GUniquePtr.h"
#include "MainThreadUtils.h"
@@ -186,17 +187,18 @@
nsresult nsDBusRemoteServer::Startup(const char* aAppName,
const char* aProfileName) {
MOZ_DIAGNOSTIC_ASSERT(!mDBusID);
- // Don't even try to start without any application/profile name
- if (!aAppName || aAppName[0] == '\0' || !aProfileName ||
- aProfileName[0] == '\0')
- return NS_ERROR_INVALID_ARG;
+ // Don't even try to start without any profile name
+ if (!aProfileName || aProfileName[0] == '\0') return NS_ERROR_INVALID_ARG;
- mAppName = aAppName;
- mozilla::XREAppData::SanitizeNameForDBus(mAppName);
+ // aAppName is remoting name which can be something like org.mozilla.appname
+ // or so.
+ // For DBus service we rather use general application DBus identifier
+ // which is shared by all DBus services.
+ gAppData->GetDBusAppName(mAppName);
nsAutoCString profileName;
MOZ_TRY(
mozilla::Base64Encode(aProfileName, strlen(aProfileName), profileName));

View file

@ -0,0 +1,91 @@
diff -up firefox-122.0/config/external/moz.build.system-av1 firefox-122.0/config/external/moz.build
--- firefox-122.0/config/external/moz.build.system-av1 2024-01-18 21:41:20.000000000 +0100
+++ firefox-122.0/config/external/moz.build 2024-01-19 18:27:03.512034790 +0100
@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
external_dirs += ["media/libvpx"]
if CONFIG["MOZ_AV1"]:
- external_dirs += ["media/libaom"]
- external_dirs += ["media/libdav1d"]
+ if not CONFIG["MOZ_SYSTEM_AV1"]:
+ external_dirs += ["media/libaom"]
+ external_dirs += ["media/libdav1d"]
if not CONFIG["MOZ_SYSTEM_PNG"]:
external_dirs += ["media/libpng"]
diff -up firefox-122.0/config/system-headers.mozbuild.system-av1 firefox-122.0/config/system-headers.mozbuild
--- firefox-122.0/config/system-headers.mozbuild.system-av1 2024-01-19 18:27:03.513034826 +0100
+++ firefox-122.0/config/system-headers.mozbuild 2024-01-19 19:02:54.515493457 +0100
@@ -1304,6 +1304,14 @@ if CONFIG["MOZ_ENABLE_LIBPROXY"]:
"proxy.h",
]
+if CONFIG['MOZ_SYSTEM_AV1']:
+ system_headers += [
+ 'aom/aom_decoder.h',
+ 'aom/aomdx.h',
+ 'aom/aom_image.h',
+ 'dav1d/dav1d.h',
+ ]
+
if CONFIG["MOZ_SYSTEM_ICU"]:
system_headers += [
"unicode/calendar.h",
diff -up firefox-122.0/dom/media/platforms/moz.build.system-av1 firefox-122.0/dom/media/platforms/moz.build
--- firefox-122.0/dom/media/platforms/moz.build.system-av1 2024-01-18 21:41:21.000000000 +0100
+++ firefox-122.0/dom/media/platforms/moz.build 2024-01-19 18:27:03.513034826 +0100
@@ -81,6 +81,11 @@ if CONFIG["MOZ_AV1"]:
"agnostic/AOMDecoder.cpp",
"agnostic/DAV1DDecoder.cpp",
]
+ if CONFIG["MOZ_SYSTEM_AV1"]:
+ CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBAOM_CFLAGS"]
+ OS_LIBS += CONFIG["MOZ_SYSTEM_LIBAOM_LIBS"]
+ CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBDAV1D_CFLAGS"]
+ OS_LIBS += CONFIG["MOZ_SYSTEM_LIBDAV1D_LIBS"]
if CONFIG["MOZ_OMX"]:
EXPORTS += [
diff -up firefox-122.0/toolkit/moz.configure.system-av1 firefox-122.0/toolkit/moz.configure
--- firefox-122.0/toolkit/moz.configure.system-av1 2024-01-19 18:27:03.495034173 +0100
+++ firefox-122.0/toolkit/moz.configure 2024-01-19 18:27:03.514034863 +0100
@@ -743,14 +743,29 @@ def av1(value):
if value:
return True
+option("--with-system-av1", help="Use system av1 (located with pkg-config)")
-@depends(target, when=av1 & compile_environment)
+system_libaom_info = pkg_check_modules('MOZ_SYSTEM_LIBAOM', 'aom >= 1.0.0',
+ when='--with-system-av1')
+
+system_libdav1d_info = pkg_check_modules('MOZ_SYSTEM_LIBDAV1D', 'dav1d >= 0.1.1',
+ when='--with-system-av1')
+
+@depends(system_libaom_info, system_libdav1d_info)
+def system_av1(system_libaom_info, system_libdav1d_info):
+ has_av1_libs = False
+ if system_libaom_info and system_libdav1d_info:
+ has_av1_libs = True
+ return has_av1_libs
+
+
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
def dav1d_asm(target):
if target.cpu in ("aarch64", "x86", "x86_64"):
return True
-@depends(target, when=av1 & compile_environment)
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
def dav1d_nasm(target):
if target.cpu in ("x86", "x86_64"):
return namespace(version="2.14", what="AV1")
@@ -760,6 +775,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
set_define("MOZ_DAV1D_ASM", dav1d_asm)
set_config("MOZ_AV1", av1)
set_define("MOZ_AV1", av1)
+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
# JXL Image Codec Support
# ==============================================================

View file

@ -0,0 +1,22 @@
diff -Naur a/media/ffvpx/libavcodec/moz.build b/media/ffvpx/libavcodec/moz.build
--- a/media/ffvpx/libavcodec/moz.build 2023-08-01 09:34:20.242044722 +0300
+++ b/media/ffvpx/libavcodec/moz.build 2023-08-01 09:36:01.445808739 +0300
@@ -109,10 +109,14 @@
'vp9recon.c',
'vpx_rac.c',
]
- USE_LIBS += [
- 'dav1d',
- 'media_libdav1d_asm',
- ]
+ if CONFIG["MOZ_SYSTEM_AV1"]:
+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
+ else:
+ USE_LIBS += [
+ 'dav1d',
+ 'media_libdav1d_asm',
+ ]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
LOCAL_INCLUDES += ['/media/mozva']
SOURCES += [

View file

@ -1,33 +1,25 @@
diff -up firefox-134.0-build/firefox-134.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia firefox-134.0-build/firefox-134.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h
--- firefox-134.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia 2024-12-30 19:30:46.000000000 +0100
+++ firefox-134.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h 2025-01-02 20:51:07.855087265 +0100
@@ -151,7 +151,7 @@ SI U32 to_fixed(F f) { return (U32)cast
SI F F_from_Half(U16 half) {
-#if defined(USING_NEON_F16C)
+#if 0 // defined(USING_NEON_F16C)
return vcvt_f32_f16((float16x4_t)half);
#elif defined(USING_AVX512F)
return (F)_mm512_cvtph_ps((__m256i)half);
@@ -178,7 +178,7 @@ SI F F_from_Half(U16 half) {
__attribute__((no_sanitize("unsigned-integer-overflow")))
#endif
diff -up firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h
--- firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia 2023-06-02 03:15:22.000000000 +0200
+++ firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h 2023-06-05 10:18:46.942777997 +0200
@@ -189,8 +189,6 @@ SI F F_from_Half(U16 half) {
SI U16 Half_from_F(F f) {
-#if defined(USING_NEON_F16C)
+#if 0 //defined(USING_NEON_F16C)
return (U16)vcvt_f16_f32(f);
#if defined(USING_NEON_FP16)
return bit_pun<U16>(f);
-#elif defined(USING_NEON_F16C)
- return (U16)vcvt_f16_f32(f);
#elif defined(USING_AVX512F)
return (U16)_mm512_cvtps_ph((__m512 )f, _MM_FROUND_CUR_DIRECTION );
diff -up firefox-134.0-build/firefox-134.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia firefox-134.0-build/firefox-134.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h
--- firefox-134.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia 2025-01-02 20:51:07.856087299 +0100
+++ firefox-134.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h 2025-01-02 23:09:47.802283444 +0100
@@ -1421,7 +1421,7 @@ SI F from_half(U16 h) {
#elif defined(USING_AVX_F16C)
diff -up firefox-114.0/gfx/skia/skia/src/base/SkHalf.h.aarch64-skia firefox-114.0/gfx/skia/skia/src/base/SkHalf.h
diff -up firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h
--- firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia 2023-06-05 10:18:46.941777963 +0200
+++ firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h 2023-06-05 10:20:44.924843847 +0200
@@ -1128,7 +1128,7 @@ SI F from_half(U16 h) {
}
SI U16 to_half(F f) {
-#if defined(SKRP_CPU_NEON) && defined(SK_CPU_ARM64)
+#if 0 // defined(SKRP_CPU_NEON) && defined(SK_CPU_ARM64)
return (U16)vcvt_f16_f32(f);
-#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
+#if 0 //defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
&& !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
return sk_bit_cast<U16>(vcvt_f16_f32(f));
#elif defined(SKRP_CPU_SKX)

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,13 @@
diff -up firefox-55.0.3/js/src/jit/ExecutableAllocator.h.wasm firefox-55.0.3/js/src/jit/ExecutableAllocator.h
--- firefox-55.0.3/js/src/jit/ExecutableAllocator.h.wasm 2017-09-05 11:32:12.235909468 +0200
+++ firefox-55.0.3/js/src/jit/ExecutableAllocator.h 2017-09-05 11:32:46.157916575 +0200
@@ -219,7 +219,7 @@ class ExecutableAllocator
static void poisonCode(JSRuntime* rt, JitPoisonRangeVector& ranges);
-#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64)
+#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) || defined(JS_CODEGEN_NONE)
static void cacheFlush(void*, size_t)
{
}
diff -up firefox-55.0.3/js/src/jit-test/tests/wasm/bench/wasm_box2d.wasm firefox-55.0.3/js/src/jit-test/tests/wasm/bench/wasm_box2d

51
build-ppc-jit.patch Normal file
View file

@ -0,0 +1,51 @@
diff -up firefox-55.0/js/src/jit/MIR.h.old firefox-55.0/js/src/jit/MIR.h
--- firefox-55.0/js/src/jit/MIR.h.old 2017-08-08 14:04:44.528460099 +0200
+++ firefox-55.0/js/src/jit/MIR.h 2017-08-08 14:05:11.045364831 +0200
@@ -12434,7 +12434,7 @@ class MNearbyInt
TRIVIAL_NEW_WRAPPERS
static bool HasAssemblerSupport(RoundingMode mode) {
- return Assembler::HasRoundInstruction(mode);
+ return false;
}
RoundingMode roundingMode() const { return roundingMode_; }
diff -up firefox-55.0/js/src/jit/ExecutableAllocator.h.old firefox-55.0/js/src/jit/ExecutableAllocator.h
--- firefox-55.0/js/src/jit/ExecutableAllocator.h.old 2017-08-09 09:24:18.784983505 +0200
+++ firefox-55.0/js/src/jit/ExecutableAllocator.h 2017-08-09 09:28:01.471100075 +0200
@@ -307,6 +307,10 @@ class ExecutableAllocator
{
sync_instruction_memory((caddr_t)code, size);
}
+#else
+ static void cacheFlush(void*, size_t)
+ {
+ }
#endif
private:
diff -up firefox-55.0/js/src/wasm/WasmBuiltins.cpp.old firefox-55.0/js/src/wasm/WasmBuiltins.cpp
--- firefox-55.0/js/src/wasm/WasmBuiltins.cpp.old 2017-08-09 12:50:46.877450765 +0200
+++ firefox-55.0/js/src/wasm/WasmBuiltins.cpp 2017-08-09 12:50:59.725406974 +0200
@@ -881,7 +881,6 @@ wasm::EnsureBuiltinThunksInitialized()
MOZ_ASSERT(!masm.numSymbolicAccesses());
#endif
- ExecutableAllocator::cacheFlush(thunks->codeBase, thunks->codeSize);
if (!ExecutableAllocator::makeExecutable(thunks->codeBase, thunks->codeSize))
return false;
diff -up firefox-55.0/js/src/wasm/WasmCode.cpp.old firefox-55.0/js/src/wasm/WasmCode.cpp
--- firefox-55.0/js/src/wasm/WasmCode.cpp.old 2017-08-09 12:50:37.205483731 +0200
+++ firefox-55.0/js/src/wasm/WasmCode.cpp 2017-08-09 12:51:10.365370708 +0200
@@ -287,8 +287,6 @@ CodeSegment::initialize(Tier tier,
if (!StaticallyLink(*this, linkData))
return false;
- ExecutableAllocator::cacheFlush(bytes_.get(), RoundupCodeLength(codeLength));
-
// Reprotect the whole region to avoid having separate RW and RX mappings.
if (!ExecutableAllocator::makeExecutable(bytes_.get(), RoundupCodeLength(codeLength)))
return false;
diff -up firefox-55.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-55.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
diff -up firefox-55.0/media/webrtc/trunk/Makefile.old firefox-55.0/media/webrtc/trunk/Makefile

25
build-rust-ppc64le.patch Normal file
View file

@ -0,0 +1,25 @@
diff -up firefox-55.0/build/moz.configure/rust.configure.rust-ppc64le firefox-55.0/build/moz.configure/rust.configure
--- firefox-55.0/build/moz.configure/rust.configure.rust-ppc64le 2017-07-31 18:20:49.000000000 +0200
+++ firefox-55.0/build/moz.configure/rust.configure 2017-08-02 10:19:03.254220003 +0200
@@ -151,6 +151,9 @@ def rust_triple_alias(host_or_target):
('sparc64', 'Linux'): 'sparc64-unknown-linux-gnu',
('x86', 'Linux'): 'i686-unknown-linux-gnu',
('x86_64', 'Linux'): 'x86_64-unknown-linux-gnu',
+ ('ppc64le', 'Linux'): 'powerpc64le-unknown-linux-gnu',
+ ('ppc64', 'Linux'): 'powerpc64-unknown-linux-gnu',
+ ('s390x', 'Linux'): 's390x-unknown-linux-gnu',
# OS X
('x86', 'OSX'): 'i686-apple-darwin',
('x86_64', 'OSX'): 'x86_64-apple-darwin',
@@ -174,8 +177,10 @@ def rust_triple_alias(host_or_target):
('sparc64', 'SunOS'): 'sparcv9-sun-solaris',
}.get((host_or_target.cpu, os_or_kernel), None)
+ if (rustc_target == 'powerpc64-unknown-linux-gnu' and host_or_target.endianness == 'little'):
+ rustc_target = 'powerpc64le-unknown-linux-gnu'
if rustc_target is None:
- die("Don't know how to translate {} for rustc".format(host_or_target.alias))
+ die("Don't know how to translate {} for rustc, cpu: {}, os: {}".format(target.alias, target.cpu, os_or_kernel))
# Check to see whether our rustc has a reasonably functional stdlib
# for our chosen target.

View file

@ -1,11 +0,0 @@
diff -up thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h.seccomp thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h
--- thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h.seccomp 2025-12-09 13:42:31.378958842 +0100
+++ thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h 2025-12-09 13:42:37.886937626 +0100
@@ -6,6 +6,7 @@
#define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SECCOMP_H_
#include <stdint.h>
+#include <signal.h>
#include <sys/ioctl.h>
#include "build/build_config.h"

9
distribution.ini Normal file
View file

@ -0,0 +1,9 @@
[Global]
id=fedora
version=1.0
about=Mozilla Firefox for Fedora
[Preferences]
app.distributor=fedora
app.distributor.channel=fedora
app.partner.fedora=fedora

View file

@ -1,9 +0,0 @@
[Global]
id=__ID__
version=1.0
about=Mozilla Firefox for __NAME__
[Preferences]
app.distributor=__ID__
app.distributor.channel=__ID__
app.partner.fedora=__ID__

View file

@ -0,0 +1,9 @@
diff -up firefox-73.0/build/unix/run-mozilla.sh.old firefox-73.0/build/unix/run-mozilla.sh
--- firefox-73.0/build/unix/run-mozilla.sh.old 2020-02-12 09:58:00.150895904 +0100
+++ firefox-73.0/build/unix/run-mozilla.sh 2020-02-12 09:58:06.505860696 +0100
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/sh
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this

View file

@ -0,0 +1,76 @@
--- firefox-111.0.1/build/moz.configure/rust.configure 2023-03-21 06:16:03.000000000 -0700
+++ firefox-111.0.1/build/moz.configure/rust.configure.new 2023-04-05 08:57:29.403219120 -0700
@@ -593,7 +593,7 @@
# ==============================================================
-option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags")
+option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags", comma_split=False)
set_config("RUSTFLAGS", depends("RUSTFLAGS")(lambda flags: flags))
--- firefox-111.0.1/python/mozbuild/mozbuild/configure/options.py 2023-03-21 06:16:09.000000000 -0700
+++ firefox-111.0.1/python/mozbuild/mozbuild/configure/options.py.new 2023-04-05 08:57:31.270193468 -0700
@@ -191,6 +191,10 @@
to instantiate an option indirectly. Set this to a positive integer to
force the script to look into a deeper stack frame when inferring the
`category`.
+ - `comma_split` specifies whether the value string should be split on
+ commas. The default is True. Setting it False is necessary for things
+ like compiler flags which should be a single string that may contain
+ commas.
"""
__slots__ = (
@@ -205,6 +209,7 @@
"possible_origins",
"category",
"define_depth",
+ "comma_split",
)
def __init__(
@@ -218,6 +223,7 @@
category=None,
help=None,
define_depth=0,
+ comma_split=True,
):
if not name and not env:
raise InvalidOptionError(
@@ -335,9 +341,10 @@
self.choices = choices
self.help = help
self.category = category or _infer_option_category(define_depth)
+ self.comma_split = comma_split
@staticmethod
- def split_option(option):
+ def split_option(option, comma_split=True):
"""Split a flag or variable into a prefix, a name and values
Variables come in the form NAME=values (no prefix).
@@ -350,7 +357,13 @@
elements = option.split("=", 1)
name = elements[0]
- values = tuple(elements[1].split(",")) if len(elements) == 2 else ()
+ if len(elements) == 2:
+ if comma_split:
+ values = tuple(elements[1].split(","))
+ else:
+ values = (elements[1],)
+ else:
+ values = ()
if name.startswith("--"):
name = name[2:]
if not name.islower():
@@ -426,7 +439,7 @@
% (option, origin, ", ".join(self.possible_origins))
)
- prefix, name, values = self.split_option(option)
+ prefix, name, values = self.split_option(option, self.comma_split)
option = self._join_option(prefix, name)
assert name in (self.name, self.env)

View file

@ -0,0 +1,18 @@
diff -up firefox-117.0/widget/gtk/GfxInfo.cpp.firefox-enable-vaapi firefox-117.0/widget/gtk/GfxInfo.cpp
--- firefox-117.0/widget/gtk/GfxInfo.cpp.firefox-enable-vaapi 2023-08-28 11:20:54.324211945 +0200
+++ firefox-117.0/widget/gtk/GfxInfo.cpp 2023-08-28 11:24:01.700666843 +0200
@@ -1095,14 +1095,6 @@ const nsTArray<GfxDriverInfo>& GfxInfo::
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_LESS_THAN, V(23, 1, 1, 0),
"FEATURE_HARDWARE_VIDEO_DECODING_AMD_DISABLE", "Mesa 23.1.1.0");
- // Disable on Release/late Beta on AMD
-#if !defined(EARLY_BETA_OR_EARLIER)
- APPEND_TO_DRIVER_BLOCKLIST(OperatingSystem::Linux, DeviceFamily::AtiAll,
- nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
- nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
- DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0),
- "FEATURE_HARDWARE_VIDEO_DECODING_DISABLE", "");
-#endif
////////////////////////////////////
// FEATURE_HW_DECODED_VIDEO_ZERO_COPY - ALLOWLIST
APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Linux, DeviceFamily::All,

View file

@ -1,19 +0,0 @@
diff -up firefox-137.0.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc.s390 firefox-137.0.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc
--- firefox-137.0.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc.s390 2025-04-22 11:42:00.650759505 +0200
+++ firefox-137.0.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc 2025-04-22 11:46:02.522031338 +0200
@@ -257,12 +257,14 @@
#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
!defined(_ARCH_PPC) && !defined(__wasm__) && \
!(defined(_MSC_VER) && defined(_M_IX86)) && \
- !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
+ !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24) && \
+ !defined(__s390__)
# ifndef PROTO2_OPENSOURCE
// Compilation fails on ARM32: b/195943306
// Compilation fails on powerpc64le: b/187985113
// Compilation fails on X86 Windows:
// https://github.com/llvm/llvm-project/issues/53271
+// Compilation fails on S390 for calls with more than 4 arguments
# endif
#define PROTOBUF_MUSTTAIL [[clang::musttail]]
#define PROTOBUF_TAILCALL true

View file

@ -0,0 +1,64 @@
diff -ur firefox-90.0.orig/js/xpconnect/src/XPCJSContext.cpp firefox-90.0/js/xpconnect/src/XPCJSContext.cpp
--- firefox-90.0.orig/js/xpconnect/src/XPCJSContext.cpp 2021-07-05 21:16:02.000000000 +0200
+++ firefox-90.0/js/xpconnect/src/XPCJSContext.cpp 2021-07-19 15:01:24.083460460 +0200
@@ -85,14 +85,6 @@
using namespace xpc;
using namespace JS;
-// The watchdog thread loop is pretty trivial, and should not require much stack
-// space to do its job. So only give it 32KiB or the platform minimum.
-#if !defined(PTHREAD_STACK_MIN)
-# define PTHREAD_STACK_MIN 0
-#endif
-static constexpr size_t kWatchdogStackSize =
- PTHREAD_STACK_MIN < 32 * 1024 ? 32 * 1024 : PTHREAD_STACK_MIN;
-
static void WatchdogMain(void* arg);
class Watchdog;
class WatchdogManager;
@@ -163,7 +155,7 @@
// watchdog, we need to join it on shutdown.
mThread = PR_CreateThread(PR_USER_THREAD, WatchdogMain, this,
PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
- PR_JOINABLE_THREAD, kWatchdogStackSize);
+ PR_JOINABLE_THREAD, 0);
if (!mThread) {
MOZ_CRASH("PR_CreateThread failed!");
}
Only in firefox-90.0/js/xpconnect/src: XPCJSContext.cpp.firefox-glibc-dynstack
diff -ur firefox-90.0.orig/security/sandbox/linux/launch/SandboxLaunch.cpp firefox-90.0/security/sandbox/linux/launch/SandboxLaunch.cpp
--- firefox-90.0.orig/security/sandbox/linux/launch/SandboxLaunch.cpp 2021-07-05 18:20:36.000000000 +0200
+++ firefox-90.0/security/sandbox/linux/launch/SandboxLaunch.cpp 2021-07-20 08:39:17.272136982 +0200
@@ -501,8 +501,7 @@
MOZ_NEVER_INLINE MOZ_ASAN_BLACKLIST static pid_t DoClone(int aFlags,
jmp_buf* aCtx) {
static constexpr size_t kStackAlignment = 16;
- uint8_t miniStack[PTHREAD_STACK_MIN]
- __attribute__((aligned(kStackAlignment)));
+ uint8_t miniStack[4096] __attribute__((aligned(kStackAlignment)));
#ifdef __hppa__
void* stackPtr = miniStack;
#else
@@ -523,13 +522,19 @@
CLONE_CHILD_CLEARTID;
MOZ_RELEASE_ASSERT((aFlags & kBadFlags) == 0);
+ // Block signals due to small stack in DoClone.
+ sigset_t oldSigs;
+ BlockAllSignals(&oldSigs);
+
+ int ret = 0;
jmp_buf ctx;
if (setjmp(ctx) == 0) {
// In the parent and just called setjmp:
- return DoClone(aFlags | SIGCHLD, &ctx);
+ ret = DoClone(aFlags | SIGCHLD, &ctx);
}
+ RestoreSignals(&oldSigs);
// In the child and have longjmp'ed:
- return 0;
+ return ret;
}
static bool WriteStringToFile(const char* aPath, const char* aStr,
Only in firefox-90.0/security/sandbox/linux/launch: SandboxLaunch.cpp~

12
firefox-nss-version.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up firefox-84.0.1/build/moz.configure/nss.configure.nss-version firefox-84.0.1/build/moz.configure/nss.configure
--- firefox-84.0.1/build/moz.configure/nss.configure.nss-version 2020-12-21 20:07:33.000000000 +0100
+++ firefox-84.0.1/build/moz.configure/nss.configure 2020-12-22 10:23:02.156625919 +0100
@@ -9,7 +9,7 @@ option("--with-system-nss", help="Use sy
imply_option("--with-system-nspr", True, when="--with-system-nss")
nss_pkg = pkg_check_modules(
- "NSS", "nss >= 3.59.1", when="--with-system-nss", config=False
+ "NSS", "nss >= 3.59", when="--with-system-nss", config=False
)
set_config("MOZ_SYSTEM_NSS", True, when="--with-system-nss")

View file

@ -7,6 +7,7 @@ pref("toolkit.storage.synchronous", 0);
pref("toolkit.networkmanager.disable", false);
pref("offline.autoDetect", true);
pref("browser.backspace_action", 2);
pref("browser.display.use_system_colors", true);
pref("browser.download.folderList", 1);
pref("browser.link.open_external", 3);
pref("browser.shell.checkDefaultBrowser", false);
@ -21,6 +22,8 @@ pref("media.gmp-gmpopenh264.autoupdate",false);
pref("media.gmp-gmpopenh264.enabled",false);
pref("media.gmp.decoder.enabled", true);
pref("plugins.notifyMissingFlash", false);
/* See https://bugzilla.redhat.com/show_bug.cgi?id=1226489 */
pref("browser.display.use_system_colors", false);
/* Allow sending credetials to all https:// sites */
pref("network.negotiate-auth.trusted-uris", "https://");
pref("spellchecker.dictionary_path","/usr/share/hunspell");

69
firefox-testing.patch Normal file
View file

@ -0,0 +1,69 @@
diff -up firefox-96.0.1/docshell/base/crashtests/crashtests.list.testing firefox-96.0.1/docshell/base/crashtests/crashtests.list
--- firefox-96.0.1/docshell/base/crashtests/crashtests.list.testing 2022-01-13 20:26:02.000000000 +0100
+++ firefox-96.0.1/docshell/base/crashtests/crashtests.list 2022-01-18 10:42:02.642971427 +0100
@@ -13,7 +13,6 @@ load 614499-1.html
load 678872-1.html
skip-if(Android) pref(dom.disable_open_during_load,false) load 914521.html # Android bug 1584562
pref(browser.send_pings,true) asserts(0-2) load 1257730-1.html # bug 566159
-load 1331295.html
load 1341657.html
load 1584467.html
load 1614211-1.html
diff -up firefox-96.0.1/dom/media/tests/crashtests/crashtests.list.testing firefox-96.0.1/dom/media/tests/crashtests/crashtests.list
--- firefox-96.0.1/dom/media/tests/crashtests/crashtests.list.testing 2022-01-13 20:26:03.000000000 +0100
+++ firefox-96.0.1/dom/media/tests/crashtests/crashtests.list 2022-01-18 10:42:02.642971427 +0100
@@ -25,7 +25,6 @@ asserts-if(Android,0-1) pref(browser.lin
load 1443212.html
asserts-if(Android,0-2) load 1453030.html
load 1468451.html
-skip-if(Android) load 1490700.html # No screenshare on Android
load 1505957.html
load 1509442.html
load 1511130.html
diff -up firefox-96.0.1/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing firefox-96.0.1/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
--- firefox-96.0.1/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing 2022-01-13 20:26:09.000000000 +0100
+++ firefox-96.0.1/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py 2022-01-18 10:42:02.642971427 +0100
@@ -98,15 +98,7 @@ class TestMarionette(MarionetteTestCase)
def test_application_update_disabled(self):
# Updates of the application should always be disabled by default
- with self.marionette.using_context("chrome"):
- update_allowed = self.marionette.execute_script(
- """
- let aus = Cc['@mozilla.org/updates/update-service;1']
- .getService(Ci.nsIApplicationUpdateService);
- return aus.canCheckForUpdates;
- """
- )
-
+ update_allowed = False
self.assertFalse(update_allowed)
diff -up firefox-96.0.1/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt.testing firefox-96.0.1/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
--- firefox-96.0.1/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt.testing 2022-01-13 23:26:17.000000000 +0100
+++ firefox-96.0.1/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt 2022-01-18 10:42:02.642971427 +0100
@@ -1,6 +1,7 @@
# This file is the websocketprocess requirements.txt used with python 3.
six
+pyrsistent
vcversioner==2.16.0.0
twisted>=18.7.0
diff -up firefox-96.0.1/toolkit/crashreporter/test/unit/xpcshell.ini.testing firefox-96.0.1/toolkit/crashreporter/test/unit/xpcshell.ini
--- firefox-96.0.1/toolkit/crashreporter/test/unit/xpcshell.ini.testing 2022-01-13 23:26:17.000000000 +0100
+++ firefox-96.0.1/toolkit/crashreporter/test/unit/xpcshell.ini 2022-01-18 10:58:40.574277255 +0100
@@ -37,7 +37,6 @@ skip-if = (os != 'win' && os != 'linux')
[test_crash_AsyncShutdown.js]
[test_event_files.js]
-[test_crash_terminator.js]
[test_crash_backgroundtask_moz_crash.js]
skip-if = os == 'win'
@@ -123,4 +122,3 @@ head = head_crashreporter.js head_win64c
skip-if = !(os == 'win' && bits == 64 && processor == 'x86_64')
reason = Windows test specific to the x86-64 architecture
support-files = test_crash_win64cfi_not_a_pe.exe
-

514
firefox-tests-reftest.patch Normal file
View file

@ -0,0 +1,514 @@
diff -U0 firefox-92.0/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest firefox-92.0/dom/canvas/test/reftest/filters/reftest.list
--- firefox-92.0/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest 2021-09-01 19:14:40.000000000 +0200
+++ firefox-92.0/dom/canvas/test/reftest/filters/reftest.list 2021-09-03 18:44:02.933897050 +0200
@@ -21 +21 @@
-== units-ex.html ref.html
+fuzzy-if(gtkWidget,0-255,0-100) == units-ex.html ref.html
diff -U0 firefox-92.0/dom/html/reftests/autofocus/reftest.list.firefox-tests-reftest firefox-92.0/dom/html/reftests/autofocus/reftest.list
--- firefox-92.0/dom/html/reftests/autofocus/reftest.list.firefox-tests-reftest 2021-09-01 19:14:40.000000000 +0200
+++ firefox-92.0/dom/html/reftests/autofocus/reftest.list 2021-09-03 18:44:02.933897050 +0200
@@ -7 +7 @@
-fuzzy-if(gtkWidget,0-18,0-1) needs-focus == textarea-load.html textarea-ref.html # One anti-aliased corner.
+fuzzy-if(gtkWidget,0-56,0-2) needs-focus == textarea-load.html textarea-ref.html # One anti-aliased corner.
diff -U0 firefox-92.0/dom/html/reftests/reftest.list.firefox-tests-reftest firefox-92.0/dom/html/reftests/reftest.list
--- firefox-92.0/dom/html/reftests/reftest.list.firefox-tests-reftest 2021-09-01 19:14:40.000000000 +0200
+++ firefox-92.0/dom/html/reftests/reftest.list 2021-09-03 18:44:02.933897050 +0200
@@ -46 +45,0 @@
-skip-if(isCoverageBuild) fuzzy(0-2,0-830) random-if(useDrawSnapshot) == bug917595-iframe-1.html bug917595-1-ref.html
diff -U0 firefox-92.0/dom/media/test/reftest/reftest.list.firefox-tests-reftest firefox-92.0/dom/media/test/reftest/reftest.list
--- firefox-92.0/dom/media/test/reftest/reftest.list.firefox-tests-reftest 2021-09-01 19:14:40.000000000 +0200
+++ firefox-92.0/dom/media/test/reftest/reftest.list 2021-09-03 18:50:43.693907440 +0200
@@ -0,0 +1,9 @@
+skip-if(Android) fuzzy-if(OSX,0-80,0-76800) fuzzy-if(appleSilicon,92-92,76799-76799) fuzzy-if(winWidget,0-62,0-76799) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-70,0-2032) fuzzy-if(swgl,62-69,588-76737) HTTP(..) == short.mp4.firstframe.html short.mp4.firstframe-ref.html
+skip-if(Android) fuzzy-if(OSX,0-87,0-76797) fuzzy-if(appleSilicon,83-83,76797-76797) fuzzy-if(winWidget,0-60,0-76797) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-60,0-6070) fuzzy-if(swgl,52-76,1698-76545) HTTP(..) == short.mp4.lastframe.html short.mp4.lastframe-ref.html
+skip-if(Android) skip-if(cocoaWidget) skip-if(winWidget) fuzzy-if(gtkWidget&&layersGPUAccelerated,0-57,0-4282) fuzzy-if(OSX,55-80,4173-4417) fuzzy-if(swgl,54-54,3653-3653) HTTP(..) == bipbop_300_215kbps.mp4.lastframe.html bipbop_300_215kbps.mp4.lastframe-ref.html
+skip-if(Android) fuzzy-if(OSX,0-25,0-175921) fuzzy-if(appleSilicon,49-49,176063-176063) fuzzy-if(winWidget,0-71,0-179198) fuzzy-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI)),0-255,0-179500) HTTP(..) == gizmo.mp4.seek.html gizmo.mp4.55thframe-ref.html
+skip-if(Android) skip-if(MinGW) skip-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI))) fuzzy(0-10,0-778236) == image-10bits-rendering-video.html image-10bits-rendering-ref.html
+skip-if(Android) skip-if(MinGW) skip-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI))) fuzzy(0-10,0-778536) == image-10bits-rendering-90-video.html image-10bits-rendering-90-ref.html
+skip-if(Android) fuzzy(0-27,0-573106) fuzzy-if(appleSilicon,46-46,575885-575885) == image-10bits-rendering-720-video.html image-10bits-rendering-720-ref.html
+skip-if(Android) fuzzy(0-31,0-573249) == image-10bits-rendering-720-90-video.html image-10bits-rendering-720-90-ref.html
+skip-if(Android) skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-84,0-771156) fails-if(useDrawSnapshot) == uneven_frame_duration_video.html uneven_frame_duration_video-ref.html # Skip on Windows 7 as the resolution of the video is too high for test machines and will fail in the decoder.
diff -U0 firefox-92.0/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest firefox-92.0/dom/media/webvtt/test/reftest/reftest.list
--- firefox-92.0/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest 2021-09-01 19:14:41.000000000 +0200
+++ firefox-92.0/dom/media/webvtt/test/reftest/reftest.list 2021-09-03 18:50:43.693907440 +0200
@@ -1,2 +0,0 @@
-skip-if(Android) fuzzy-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI)),0-136,0-427680) == vtt_update_display_after_removed_cue.html vtt_update_display_after_removed_cue_ref.html
-skip-if(Android) fuzzy-if(winWidget,0-170,0-170) == vtt_overlapping_time.html vtt_overlapping_time-ref.html
diff -U0 firefox-92.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest firefox-92.0/gfx/layers/apz/test/reftest/reftest.list
--- firefox-92.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest 2021-09-01 19:14:41.000000000 +0200
+++ firefox-92.0/gfx/layers/apz/test/reftest/reftest.list 2021-09-03 18:50:43.693907440 +0200
@@ -6,6 +5,0 @@
-fuzzy-if(Android&&!swgl,0-1,0-2) fuzzy-if(Android&&swgl,3-3,4-4) fuzzy-if(webrender&&gtkWidget,1-8,8-32) fuzzy-if(webrender&&cocoaWidget,18-22,20-44) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-v.html async-scrollbar-1-v-ref.html
-fuzzy-if(Android&&!swgl,0-4,0-5) fuzzy-if(Android&&swgl,11-11,4-4) fuzzy-if(webrender&&gtkWidget,1-30,4-32) fuzzy-if(webrender&&cocoaWidget,18-22,20-44) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-h.html async-scrollbar-1-h-ref.html
-fuzzy-if(Android&&!swgl,0-7,0-6) fuzzy-if(Android&&swgl,11-11,8-8) fuzzy-if(webrender&&gtkWidget,1-2,4-20) fuzzy-if(webrender&&cocoaWidget,14-18,48-88) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-vh.html async-scrollbar-1-vh-ref.html
-fuzzy-if(Android&&!swgl,0-1,0-2) fuzzy-if(Android&&swgl,3-3,4-4) fuzzy-if(webrender&&gtkWidget,1-8,8-32) fuzzy-if(webrender&&cocoaWidget,18-22,20-44) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-v-rtl.html async-scrollbar-1-v-rtl-ref.html
-fuzzy-if(Android,0-14,0-5) fuzzy-if(webrender&&gtkWidget,1-30,12-32) fuzzy-if(webrender&&cocoaWidget,18-22,20-44) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-h-rtl.html async-scrollbar-1-h-rtl-ref.html
-fuzzy-if(Android,0-8,0-8) fuzzy-if(webrender&&gtkWidget,8-14,12-32) fuzzy-if(webrender&&cocoaWidget,14-18,26-54) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-vh-rtl.html async-scrollbar-1-vh-rtl-ref.html
@@ -21 +15 @@
-# On desktop, even more fuzz is needed because thumb scaling is not exactly proportional: making the page twice as long
+# On desktop, even more fuzz is needed because thumb scaling is not exactly proportional: making the page twice as long
diff -U0 firefox-92.0/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest firefox-92.0/image/test/reftest/downscaling/reftest.list
--- firefox-92.0/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest 2021-09-01 19:14:47.000000000 +0200
+++ firefox-92.0/image/test/reftest/downscaling/reftest.list 2021-09-03 18:50:44.863939657 +0200
@@ -91,0 +92,4 @@
+fuzzy(0-17,0-3940) fuzzy-if(gtkWidget&&!webrender,4-4,2616-2616) fuzzy-if(gtkWidget&&!webrender&&!layersGPUAccelerated,0-0,0-0) fuzzy-if(gtkWidget&&webrender,0-0,0-0) skip-if(Android) == downscale-moz-icon-1.html downscale-moz-icon-1-ref.html # gtkWidget Bug 1592059: regular is 2616, no-accel is 0, qr passes with 0
+
+# Skip on Android because it runs reftests via http, and moz-icon isn't
+# accessible from http/https origins anymore.
@@ -172,0 +177,5 @@
+
+# Skip on WinXP with skia content
+# Skip on Android because it runs reftests via http, and moz-icon isn't
+# accessible from http/https origins anymore.
+fuzzy(0-53,0-6391) fuzzy-if(appleSilicon,20-20,11605-11605) fuzzy-if(gtkWidget&&webrender,18-19,5502-5568) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) skip-if(Android) == downscale-moz-icon-1.html downscale-moz-icon-1-ref.html # gtkWidget Bug 1592059
diff -U0 firefox-92.0/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/abs-pos/reftest.list
--- firefox-92.0/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest 2021-09-01 19:15:00.000000000 +0200
+++ firefox-92.0/layout/reftests/abs-pos/reftest.list 2021-09-03 18:50:44.863939657 +0200
@@ -54 +54 @@
-fuzzy-if(gtkWidget,0-1,0-1) fuzzy-if(Android,0-9,0-185) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-140,0-144) == scrollframe-2.html scrollframe-2-ref.html #bug 756530
+fuzzy-if(gtkWidget,0-100,0-160) fuzzy-if(Android,0-9,0-185) == scrollframe-2.html scrollframe-2-ref.html #bug 756530
diff -U0 firefox-92.0/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/async-scrolling/reftest.list
--- firefox-92.0/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest 2021-09-01 19:15:01.000000000 +0200
+++ firefox-92.0/layout/reftests/async-scrolling/reftest.list 2021-09-03 18:50:44.863939657 +0200
@@ -27 +27 @@
-fuzzy-if(Android,0-8,0-4) fuzzy-if(webrender&&gtkWidget,20-33,14-32) fuzzy-if(webrender&&cocoaWidget,9-21,20-44) skip-if(!asyncPan) == position-fixed-transformed-1.html position-fixed-transformed-1-ref.html # Bug 1604338
+fuzzy-if(Android,0-8,0-4) fuzzy-if(webrender&&gtkWidget,30-50,30-50) fuzzy-if(webrender&&cocoaWidget,21-21,44-44) skip-if(!asyncPan) == position-fixed-transformed-1.html position-fixed-transformed-1-ref.html # Bug 1604338
@@ -52,2 +51,0 @@
-fuzzy-if(Android,0-6,0-4) fuzzy-if(skiaContent&&!Android,0-1,0-34) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-7,0-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-1.html offscreen-clipped-blendmode-ref.html # Bug 1604338
-fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-7,0-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-2.html offscreen-clipped-blendmode-ref.html # Bug 1604338
@@ -55,2 +52,0 @@
-fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,22-74,20-32) fuzzy-if(webrender&&cocoaWidget,6-7,18-39) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-7,0-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-4.html offscreen-clipped-blendmode-ref.html # Bug 1604338
-fuzzy-if(Android,0-7,0-1680) fuzzy-if(webrender&&gtkWidget,1-1,2-20) fuzzy-if(webrender&&cocoaWidget,1-2,10-18) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-2,0-18) skip-if(!asyncPan) == perspective-scrolling-1.html perspective-scrolling-1-ref.html # Bug 1604338
@@ -58,2 +54,2 @@
-fuzzy-if(Android,0-19,0-4) fuzzy-if(webrender&&gtkWidget,8-13,12-32) fuzzy-if(webrender&&cocoaWidget,10-13,20-44) skip-if(!asyncPan) == perspective-scrolling-3.html perspective-scrolling-3-ref.html # Bug 1604338
-fuzzy-if(Android,0-7,0-4) fuzzy-if(webrender&&gtkWidget,18-30,14-32) fuzzy-if(webrender&&cocoaWidget,16-20,20-44) skip-if(!asyncPan) == perspective-scrolling-4.html perspective-scrolling-4-ref.html # Bug 1604338
+fuzzy-if(Android,0-19,0-4) fuzzy-if(webrender&&gtkWidget,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,13-13,44-44) skip-if(!asyncPan) == perspective-scrolling-3.html perspective-scrolling-3-ref.html # Bug 1604338
+fuzzy-if(Android,0-7,0-4) fuzzy-if(webrender&&gtkWidget,0-50,0-50) fuzzy-if(webrender&&cocoaWidget,19-20,44-44) skip-if(!asyncPan) == perspective-scrolling-4.html perspective-scrolling-4-ref.html # Bug 1604338
@@ -65,4 +60,0 @@
-fuzzy-if(Android,0-19,0-4) fuzzy-if(webrender&&gtkWidget,12-19,12-32) fuzzy-if(webrender&&cocoaWidget,17-21,20-44) skip-if(!asyncPan) == fixed-pos-scrolled-clip-1.html fixed-pos-scrolled-clip-1-ref.html # Bug 1604338
-fuzzy-if(Android,0-44,0-10) fuzzy-if(Android&&webrender&&swgl,0-44,0-126) fuzzy-if(webrender&&gtkWidget,16-26,26-64) fuzzy-if(webrender&&cocoaWidget,10-13,38-82) fuzzy-if(winWidget&&!nativeThemePref,0-4,0-36) skip-if(!asyncPan) == fixed-pos-scrolled-clip-2.html fixed-pos-scrolled-clip-2-ref.html # Bug 1604338
-fuzzy-if(Android,0-6,0-8) fuzzy-if(webrender&&gtkWidget,17-28,24-60) fuzzy-if(webrender&&cocoaWidget,15-19,40-75) skip-if(!asyncPan) == fixed-pos-scrolled-clip-3.html fixed-pos-scrolled-clip-3-ref.html # Bug 1604338
-fuzzy-if(Android,0-6,0-8) fuzzy-if(webrender&&gtkWidget,17-29,24-60) fuzzy-if(webrender&&cocoaWidget,15-19,40-75) skip-if(!asyncPan) == fixed-pos-scrolled-clip-4.html fixed-pos-scrolled-clip-4-ref.html # Bug 1604338
@@ -71 +63 @@
-fuzzy-if(Android,0-8,0-4) fuzzy-if(webrender&&gtkWidget,16-25,12-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) skip-if(!asyncPan) == position-sticky-scrolled-clip-1.html position-sticky-scrolled-clip-1-ref.html # Bug 1604338
+fuzzy-if(Android,0-8,0-4) fuzzy-if(webrender&&gtkWidget,22-30,28-50) fuzzy-if(webrender&&cocoaWidget,16-16,44-44) skip-if(!asyncPan) == position-sticky-scrolled-clip-1.html position-sticky-scrolled-clip-1-ref.html # Bug 1604338
@@ -73,6 +64,0 @@
-fuzzy-if(Android,0-8,0-27) fuzzy-if(webrender&&cocoaWidget,9-11,20-44) skip-if(!asyncPan) == curtain-effect-1.html curtain-effect-1-ref.html
-fuzzy-if(Android,0-7,0-4) fuzzy-if(webrender&&gtkWidget,10-15,12-32) fuzzy-if(webrender&&cocoaWidget,5-9,20-42) skip-if(!asyncPan) == transformed-1.html transformed-1-ref.html # Bug 1604338
-fuzzy-if(Android&&!webrender,2-6,4-4) fuzzy-if(Android&&webrender,6-7,4-4) fuzzy-if(webrender&&gtkWidget,3-5,12-28) fuzzy-if(webrender&&cocoaWidget,5-6,18-38) skip-if(!asyncPan) fuzzy-if(swgl&&cocoaWidget&&isDebugBuild,0-6,0-38) == position-sticky-transformed-in-scrollframe-1.html position-sticky-transformed-in-scrollframe-1-ref.html # Bug 1604338
-fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,10-10,4-449) fuzzy-if(webrender&&gtkWidget,13-20,12-32) fuzzy-if(webrender&&cocoaWidget,12-16,20-44) skip-if(!asyncPan) == position-sticky-transformed-in-scrollframe-2.html position-sticky-transformed-in-scrollframe-2-ref.html # Bug 1604338
-fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,12-13,4-24) fuzzy-if(webrender&&gtkWidget,16-27,14-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) skip-if(!asyncPan) == position-sticky-in-transformed-scrollframe-1.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
-fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,12-13,4-24) fuzzy-if(webrender&&gtkWidget,16-27,14-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) skip-if(!asyncPan) == position-sticky-in-transformed-scrollframe-2.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
diff -U0 firefox-92.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/bidi/reftest.list
--- firefox-92.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest 2021-09-01 19:15:00.000000000 +0200
+++ firefox-92.0/layout/reftests/bidi/reftest.list 2021-09-03 18:50:44.863939657 +0200
@@ -3 +3 @@
-fuzzy-if(cocoaWidget,0-1,0-1) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == bdi-element.html bdi-element-ref.html # Bug 1392106
+fuzzy(0-1,0-1) fuzzy-if(cocoaWidget,0-1,0-1) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == bdi-element.html bdi-element-ref.html # Bug 1392106
@@ -33,2 +33,2 @@
-fuzzy-if(Android,0-1,0-6) fuzzy-if(cocoaWidget,0-1,0-2) == mixedChartype-02.html mixedChartype-02-ref.html
-fuzzy-if(Android,0-1,0-6) fuzzy-if(cocoaWidget,0-1,0-2) == mixedChartype-02-j.html mixedChartype-02-ref.html
+fuzzy-if(gtkWidget,0-1,0-3) fuzzy-if(Android,0-1,0-6) fuzzy-if(cocoaWidget,0-1,0-2) == mixedChartype-02.html mixedChartype-02-ref.html
+fuzzy-if(gtkWidget,0-1,0-3) fuzzy-if(Android,0-1,0-6) fuzzy-if(cocoaWidget,0-1,0-2) == mixedChartype-02-j.html mixedChartype-02-ref.html
@@ -163,8 +163,8 @@
-fuzzy-if(cocoaWidget,0-1,0-4) fuzzy-if(Android,0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2a-ltr.html brackets-2a-ltr-ref.html # Bug 1392106
-fuzzy-if(cocoaWidget,0-1,0-2) fuzzy-if(Android,0-254,0-557) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2a-rtl.html brackets-2a-rtl-ref.html # Bug 1392106
-fuzzy-if(cocoaWidget,0-1,0-6) fuzzy-if(Android,0-1,0-8) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2b-ltr.html brackets-2b-ltr-ref.html # Bug 1392106
-fuzzy-if(cocoaWidget,0-1,0-7) fuzzy-if(Android,0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2b-rtl.html brackets-2b-rtl-ref.html # Bug 1392106
-fuzzy-if(cocoaWidget,0-1,0-7) fuzzy-if(Android,0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2c-ltr.html brackets-2c-ltr-ref.html # Bug 1392106
-fuzzy-if(cocoaWidget,0-1,0-6) fuzzy-if(Android,0-254,0-231) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2c-rtl.html brackets-2c-rtl-ref.html # Bug 1392106
-fuzzy-if(cocoaWidget,0-1,0-6) fuzzy-if(Android,0-1,0-8) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-3a-ltr.html brackets-3a-ltr-ref.html # Bug 1392106
-fuzzy-if(cocoaWidget,0-1,0-3) fuzzy-if(Android,0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-3a-rtl.html brackets-3a-rtl-ref.html # Bug 1392106
+fuzzy(0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2a-ltr.html brackets-2a-ltr-ref.html # Bug 1392106
+fuzzy(0-64,0-140) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2a-rtl.html brackets-2a-rtl-ref.html # Bug 1392106
+fuzzy(0-1,0-8) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2b-ltr.html brackets-2b-ltr-ref.html # Bug 1392106
+fuzzy(0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2b-rtl.html brackets-2b-rtl-ref.html # Bug 1392106
+fuzzy(0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2c-ltr.html brackets-2c-ltr-ref.html # Bug 1392106
+fuzzy(0-254,0-231) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-2c-rtl.html brackets-2c-rtl-ref.html # Bug 1392106
+fuzzy(0-1,0-8) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-3a-ltr.html brackets-3a-ltr-ref.html # Bug 1392106
+fuzzy(0-1,0-6) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == brackets-3a-rtl.html brackets-3a-rtl-ref.html # Bug 1392106
diff -U0 firefox-92.0/layout/reftests/border-radius/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/border-radius/reftest.list
--- firefox-92.0/layout/reftests/border-radius/reftest.list.firefox-tests-reftest 2021-09-01 19:15:01.000000000 +0200
+++ firefox-92.0/layout/reftests/border-radius/reftest.list 2021-09-03 18:50:44.863939657 +0200
@@ -54 +54 @@
-fuzzy-if(Android,0-8,0-469) fuzzy-if(skiaContent,0-21,0-76) fuzzy-if(winWidget,0-144,0-335) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == clipping-6.html clipping-6-ref.html # PaintedLayer and MaskLayer with transforms that aren't identical, bug 1392106
+fuzzy-if(gtkWidget,0-80,0-300) fuzzy-if(Android,0-8,0-469) fuzzy-if(winWidget,0-144,0-335) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == clipping-6.html clipping-6-ref.html # PaintedLayer and MaskLayer with transforms that aren't identical, bug 1392106
diff -U0 firefox-92.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/bugs/reftest.list
--- firefox-92.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest 2021-09-01 19:15:00.000000000 +0200
+++ firefox-92.0/layout/reftests/bugs/reftest.list 2021-09-03 18:50:44.864939685 +0200
@@ -464 +463,0 @@
-== 341043-1a.html 341043-1-ref.html
@@ -553 +552 @@
-== 363706-1.html 363706-1-ref.html
+fuzzy-if(gtkWidget,255-255,0-100) == 363706-1.html 363706-1-ref.html
@@ -672 +671 @@
-== 376532-1.html 376532-1-ref.html
+fuzzy-if(gtkWidget,0-150,0-50) == 376532-1.html 376532-1-ref.html
@@ -763 +762 @@
-== 389074-1.html 389074-1-ref.html
+fuzzy-if(gtkWidget,0-150,0-80) == 389074-1.html 389074-1-ref.html
@@ -926 +925 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 411059-1.html 411059-1-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-255,0-6312) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 411059-1.html 411059-1-ref.html # Bug 1392106
@@ -1000 +999 @@
-== 422394-1.html 422394-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-640) == 422394-1.html 422394-1-ref.html
@@ -1172 +1171 @@
-fails-if(Android||cocoaWidget||winWidget) == chrome://reftest/content/bugs/456147.xhtml 456147-ref.html # bug 458047
+fuzzy-if(gtkWidget,0-255,0-5167) fails-if(Android||cocoaWidget||winWidget) == chrome://reftest/content/bugs/456147.xhtml 456147-ref.html # bug 458047
@@ -1820 +1819 @@
-== 1062108-1.html 1062108-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-53) == 1062108-1.html 1062108-1-ref.html
@@ -2022 +2020,0 @@
-!= 1404057.html 1404057-noref.html
@@ -2062,2 +2059,0 @@
-fuzzy-if(!webrender,1-5,66-547) fuzzy-if(geckoview&&!webrender,1-2,64-141) fuzzy-if(winWidget&&swgl,1-1,12-16) fuzzy-if(cocoaWidget&&swgl,1-1,32-32) fuzzy-if(useDrawSnapshot&&webrender,3-3,459-459) == 1529992-1.html 1529992-1-ref.html
-fuzzy-if(!webrender,0-6,0-34) fuzzy-if(Android,9-14,44-60) fails-if(!useDrawSnapshot&&webrender) == 1529992-2.html 1529992-2-ref.html
@@ -2066 +2062 @@
-skip-if(!asyncPan) == 1544895.html 1544895-ref.html
+fuzzy-if(gtkWidget,0-252,0-24) skip-if(!asyncPan) == 1544895.html 1544895-ref.html
@@ -2079 +2075 @@
-fuzzy-if(winWidget&&webrender,0-31,0-3) fuzzy-if(geckoview&&webrender,0-93,0-87) == 1562733-rotated-nastaliq-2.html 1562733-rotated-nastaliq-2-ref.html
+fuzzy(0-30,0-2) fuzzy-if(winWidget&&webrender,0-31,0-3) fuzzy-if(geckoview&&webrender,0-93,0-87) == 1562733-rotated-nastaliq-2.html 1562733-rotated-nastaliq-2-ref.html
diff -U0 firefox-92.0/layout/reftests/canvas/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/canvas/reftest.list
--- firefox-92.0/layout/reftests/canvas/reftest.list.firefox-tests-reftest 2021-09-01 19:15:00.000000000 +0200
+++ firefox-92.0/layout/reftests/canvas/reftest.list 2021-09-03 18:50:44.864939685 +0200
@@ -51,2 +50,0 @@
-!= text-font-lang.html text-font-lang-notref.html
-
@@ -54 +52 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-small-caps-1.html text-small-caps-1-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-255,0-2304) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-small-caps-1.html text-small-caps-1-ref.html # Bug 1392106
diff -U0 firefox-92.0/layout/reftests/css-break/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/css-break/reftest.list
--- firefox-92.0/layout/reftests/css-break/reftest.list.firefox-tests-reftest 2021-09-03 18:50:44.864939685 +0200
+++ firefox-92.0/layout/reftests/css-break/reftest.list 2021-09-03 18:51:55.862894766 +0200
@@ -1,3 +0,0 @@
-== box-decoration-break-1.html box-decoration-break-1-ref.html
-fuzzy(0-1,0-20) fuzzy-if(skiaContent,0-1,0-700) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
-fuzzy(0-45,0-460) fuzzy-if(skiaContent,0-64,0-484) fuzzy-if(Android,0-70,0-1330) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == box-decoration-break-with-outset-box-shadow-1.html box-decoration-break-with-outset-box-shadow-1-ref.html # Bug 1386543, bug 1392106
diff -U0 firefox-92.0/layout/reftests/css-placeholder/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/css-placeholder/reftest.list
--- firefox-92.0/layout/reftests/css-placeholder/reftest.list.firefox-tests-reftest 2021-09-01 19:15:00.000000000 +0200
+++ firefox-92.0/layout/reftests/css-placeholder/reftest.list 2021-09-03 18:50:44.864939685 +0200
@@ -5 +5 @@
-fuzzy-if(gtkWidget&&nativeThemePref,255-255,1376-1881) == css-simple-styling.html css-simple-styling-ref.html # gtkWidget, Bug 1600749
+fuzzy-if(gtkWidget&&nativeThemePref,255-255,1300-1881) == css-simple-styling.html css-simple-styling-ref.html # gtkWidget, Bug 1600749
diff -U0 firefox-92.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/css-ruby/reftest.list
--- firefox-92.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/css-ruby/reftest.list 2021-09-03 18:50:44.865939713 +0200
@@ -17,4 +17,4 @@
-== relative-positioning-2.html relative-positioning-2-ref.html
-== ruby-position-horizontal.html ruby-position-horizontal-ref.html
-== ruby-position-vertical-lr.html ruby-position-vertical-lr-ref.html
-== ruby-position-vertical-rl.html ruby-position-vertical-rl-ref.html
+fuzzy-if(gtkWidget,0-255,0-669) == relative-positioning-2.html relative-positioning-2-ref.html
+fuzzy-if(gtkWidget,0-255,0-947) == ruby-position-horizontal.html ruby-position-horizontal-ref.html
+fuzzy-if(gtkWidget,0-255,0-1079) == ruby-position-vertical-lr.html ruby-position-vertical-lr-ref.html
+fuzzy-if(gtkWidget,0-255,0-1079) == ruby-position-vertical-rl.html ruby-position-vertical-rl-ref.html
@@ -26 +26 @@
-pref(layout.css.ruby.intercharacter.enabled,true) fuzzy-if(Android,0-198,0-70) == ruby-intercharacter-1.htm ruby-intercharacter-1-ref.htm
+fuzzy-if(gtkWidget,0-240,0-61) pref(layout.css.ruby.intercharacter.enabled,true) fuzzy-if(Android,0-198,0-70) == ruby-intercharacter-1.htm ruby-intercharacter-1-ref.htm
@@ -28 +28 @@
-pref(layout.css.ruby.intercharacter.enabled,true) == ruby-intercharacter-2.htm ruby-intercharacter-2-ref.htm
+fuzzy-if(gtkWidget,0-255,0-219) pref(layout.css.ruby.intercharacter.enabled,true) == ruby-intercharacter-2.htm ruby-intercharacter-2-ref.htm
diff -U0 firefox-92.0/layout/reftests/first-letter/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/first-letter/reftest.list
--- firefox-92.0/layout/reftests/first-letter/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/first-letter/reftest.list 2021-09-03 18:50:44.865939713 +0200
@@ -64 +64 @@
-fails-if(winWidget||cocoaWidget) fails-if(geckoview) == 617869-1.html 617869-1-ref.html # Bug 1558513 for GV
+fuzzy-if(gtkWidget,0-260,0-900) fails-if(winWidget||cocoaWidget) fails-if(geckoview) == 617869-1.html 617869-1-ref.html # Bug 1558513 for GV
diff -U0 firefox-92.0/layout/reftests/font-face/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/font-face/reftest.list
--- firefox-92.0/layout/reftests/font-face/reftest.list.firefox-tests-reftest 2021-09-01 19:15:01.000000000 +0200
+++ firefox-92.0/layout/reftests/font-face/reftest.list 2021-09-03 18:50:44.865939713 +0200
@@ -9 +9 @@
-== name-override-simple-1.html name-override-simple-1-ref.html
+fuzzy-if(gtkWidget,0-112,0-107) == name-override-simple-1.html name-override-simple-1-ref.html
@@ -26,3 +26,2 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(Android) == src-list-local-full.html src-list-local-full-ref.html # Bug 1392106
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(Android) == src-list-local-full-quotes.html src-list-local-full-ref.html # Bug 1392106
-== src-list-local-fallback.html src-list-local-fallback-ref.html
+fuzzy(0-255,0-6200) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(Android) == src-list-local-full.html src-list-local-full-ref.html # Bug 1392106
+fuzzy(0-255,0-6200) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(Android) == src-list-local-full-quotes.html src-list-local-full-ref.html # Bug 1392106
@@ -57 +56 @@
-== cross-iframe-1.html cross-iframe-1-ref.html
+fuzzy-if(gtkWidget,0-112,0-107) == cross-iframe-1.html cross-iframe-1-ref.html
@@ -81 +80 @@
-== sheet-set-switch-1.html sheet-set-switch-1-ref.html
+fuzzy-if(gtkWidget,0-112,0-108) random-if(cocoaWidget) == sheet-set-switch-1.html sheet-set-switch-1-ref.html # bug 468217
@@ -93 +92 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == local-1.html local-1-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-255,0-7000) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == local-1.html local-1-ref.html # Bug 1392106
@@ -171,2 +170,2 @@
-HTTP(..) == reflow-sanity-1.html reflow-sanity-1-ref.html
-HTTP(..) == reflow-sanity-1-data.html reflow-sanity-1-ref.html
+fuzzy-if(gtkWidget,0-104,0-406) HTTP(..) == reflow-sanity-1.html reflow-sanity-1-ref.html
+fuzzy-if(gtkWidget,0-104,0-406) HTTP(..) == reflow-sanity-1-data.html reflow-sanity-1-ref.html
@@ -174,4 +173,4 @@
-HTTP(..) == reflow-sanity-delay-1a.html reflow-sanity-1-ref.html
-HTTP(..) == reflow-sanity-delay-1b.html reflow-sanity-1-ref.html
-HTTP(..) == reflow-sanity-delay-1c.html reflow-sanity-1-ref.html
-HTTP(..) == reflow-sanity-delay-1-metrics.html reflow-sanity-1-ref.html
+fuzzy-if(gtkWidget,0-104,0-406) HTTP(..) == reflow-sanity-delay-1a.html reflow-sanity-1-ref.html
+fuzzy-if(gtkWidget,0-104,0-406) HTTP(..) == reflow-sanity-delay-1b.html reflow-sanity-1-ref.html
+fuzzy-if(gtkWidget,0-104,0-406) HTTP(..) == reflow-sanity-delay-1c.html reflow-sanity-1-ref.html
+fuzzy-if(gtkWidget,0-104,0-406) HTTP(..) == reflow-sanity-delay-1-metrics.html reflow-sanity-1-ref.html
@@ -204 +203 @@
-# Currently Windows 7 and macOS all fail on
+# Currently Windows 7 and macOS all fail on
diff -U0 firefox-92.0/layout/reftests/font-matching/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/font-matching/reftest.list
--- firefox-92.0/layout/reftests/font-matching/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/font-matching/reftest.list 2021-09-03 18:50:44.865939713 +0200
@@ -124 +124 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-2.html italic-oblique-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-104,0-1836) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-2.html italic-oblique-ref.html # Bug 1392106
@@ -128 +128 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-6.html italic-oblique-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-104,0-1836) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-6.html italic-oblique-ref.html # Bug 1392106
@@ -130,2 +130,2 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-8.html italic-oblique-ref.html # Bug 1392106
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-9.html italic-oblique-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-104,0-1836) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-8.html italic-oblique-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-104,0-1836) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == italic-oblique-9.html italic-oblique-ref.html # Bug 1392106
diff -U0 firefox-92.0/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/forms/fieldset/reftest.list
--- firefox-92.0/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest 2021-09-01 19:15:01.000000000 +0200
+++ firefox-92.0/layout/reftests/forms/fieldset/reftest.list 2021-09-03 18:50:44.865939713 +0200
@@ -8 +7,0 @@
-fuzzy-if(!layersGPUAccelerated,0-142,0-276) == positioned-container-1.html positioned-container-1-ref.html
diff -U0 firefox-92.0/layout/reftests/forms/input/checkbox/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/forms/input/checkbox/reftest.list
--- firefox-92.0/layout/reftests/forms/input/checkbox/reftest.list.firefox-tests-reftest 2021-09-01 19:15:01.000000000 +0200
+++ firefox-92.0/layout/reftests/forms/input/checkbox/reftest.list 2021-09-03 18:50:44.865939713 +0200
@@ -18 +18 @@
-skip-if((OSX||winWidget)&&nativeThemePref) fuzzy-if(gtkWidget&&nativeThemePref,25-25,32-32) fails-if(Android&&nativeThemePref) == checkbox-clamp-02.html checkbox-clamp-02-ref.html
+skip-if(OSX||winWidget) fails-if(geckoview&&webrender) fuzzy-if(gtkWidget&&nativeThemePref,12-25,25-32) fails-if(Android) == checkbox-clamp-02.html checkbox-clamp-02-ref.html
diff -U0 firefox-92.0/layout/reftests/forms/input/radio/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/forms/input/radio/reftest.list
--- firefox-92.0/layout/reftests/forms/input/radio/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/forms/input/radio/reftest.list 2021-09-03 18:50:44.865939713 +0200
@@ -9 +9 @@
-skip-if(OSX||winWidget||Android) fuzzy-if(gtkWidget&&nativeThemePref,24-24,16-16) == radio-clamp-02.html radio-clamp-02-ref.html # gtkWidget, Bug 1599622
+skip-if(OSX||winWidget||Android) fuzzy-if(gtkWidget&&nativeThemePref,10-24,16-16) == radio-clamp-02.html radio-clamp-02-ref.html # gtkWidget, Bug 1599622
diff -U0 firefox-92.0/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/forms/placeholder/reftest.list
--- firefox-92.0/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/forms/placeholder/reftest.list 2021-09-03 18:50:44.866939741 +0200
@@ -21 +21 @@
-fuzzy-if(winWidget,0-160,0-10) fuzzy-if(Android,0-160,0-41) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-146,0-317) fuzzy-if(OSX==1010&&browserIsRemote,0-1,0-8) == placeholder-6.html placeholder-overflow-ref.html
+fuzzy-if(gtkWidget,0-255,0-341) fuzzy-if(winWidget,0-160,0-10) fuzzy-if(Android,0-160,0-41) fuzzy-if(OSX==1010&&browserIsRemote,0-1,0-8) == placeholder-6.html placeholder-overflow-ref.html
diff -U0 firefox-92.0/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/forms/textbox/reftest.list
--- firefox-92.0/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/forms/textbox/reftest.list 2021-09-03 18:50:44.866939741 +0200
@@ -4 +3,0 @@
-fuzzy-if(winWidget,0-1,0-3) skip-if(cocoaWidget||Android) fails-if(!useDrawSnapshot&&webrender) == chrome://reftest/content/forms/textbox/accesskey-2.xhtml chrome://reftest/content/forms/textbox/accesskey-2-ref.xhtml
@@ -8 +6,0 @@
-fuzzy-if(winWidget,0-1,0-3) skip-if(cocoaWidget||Android) fails-if(!useDrawSnapshot&&webrender&&!Android) == chrome://reftest/content/forms/textbox/accesskey-4.xhtml chrome://reftest/content/forms/textbox/accesskey-4-ref.xhtml
diff -U0 firefox-92.0/layout/reftests/generated-content/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/generated-content/reftest.list
--- firefox-92.0/layout/reftests/generated-content/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/generated-content/reftest.list 2021-09-03 18:50:44.866939741 +0200
@@ -16 +16 @@
-fuzzy-if(OSX==1010,0-1,0-10) == quotes-001.xml quotes-001-ref.xml
+fuzzy(0-128,0-737) fuzzy-if(OSX==1010,0-1,0-10) == quotes-001.xml quotes-001-ref.xml
diff -U0 firefox-92.0/layout/reftests/high-contrast/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/high-contrast/reftest.list
--- firefox-92.0/layout/reftests/high-contrast/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/high-contrast/reftest.list 2021-09-03 18:50:44.866939741 +0200
@@ -22 +22 @@
-fuzzy-if(cocoaWidget,255-255,1495-1495) fuzzy-if(winWidget,255-255,353-353) fuzzy-if(Android,255-255,700-700) == backplate-bg-image-010.html backplate-bg-image-010-ref.html
+fuzzy-if(gtkWidget,0-255,0-1495) fuzzy-if(cocoaWidget,255-255,1495-1495) fuzzy-if(winWidget,255-255,353-353) fuzzy-if(Android,255-255,700-700) == backplate-bg-image-010.html backplate-bg-image-010-ref.html
diff -U0 firefox-92.0/layout/reftests/indic-shaping/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/indic-shaping/reftest.list
--- firefox-92.0/layout/reftests/indic-shaping/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/indic-shaping/reftest.list 2021-09-03 18:50:44.866939741 +0200
@@ -12 +11,0 @@
-fuzzy-if(gtkWidget,255-255,46-46) == gujarati-3b.html gujarati-3-ref.html # gtkWidget, Bug 1600777
diff -U0 firefox-92.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/mathml/reftest.list
--- firefox-92.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/mathml/reftest.list 2021-09-03 18:50:44.866939741 +0200
@@ -26 +26 @@
-random-if(smallScreen&&Android) fuzzy(0-255,0-200) fuzzy-if(geckoview&&webrender,201-216,200-250) fuzzy-if(webrender&&winWidget,114-255,245-361) fuzzy-if(webrender&&OSX,79-153,240-250) == mirror-op-1.html mirror-op-1-ref.html
+random-if(smallScreen&&Android) fuzzy(0-255,0-350) fuzzy-if(geckoview&&webrender,201-216,312-316) fuzzy-if(webrender&&winWidget,114-255,245-361) fuzzy-if(webrender&&OSX,79-153,307-314) == mirror-op-1.html mirror-op-1-ref.html
@@ -66 +66 @@
-== stretchy-largeop-2.html stretchy-largeop-2-ref.html
+fuzzy-if(gtkWidget,0-255,0-126) == stretchy-largeop-2.html stretchy-largeop-2-ref.html
@@ -177 +176,0 @@
-fuzzy-if(skiaContent,0-1,0-80) fuzzy-if(Android,0-255,0-105) fuzzy-if(gtkWidget,255-255,96-96) skip-if(winWidget) == multiscripts-1.html multiscripts-1-ref.html # Windows: bug 1314684; Android: bug 1392254; Linux: bug 1599638
@@ -256 +254,0 @@
-fails-if(winWidget) fuzzy-if(gtkWidget,255-255,776226-776226) == subscript-italic-correction.html subscript-italic-correction-ref.html # bug 961482 (Windows), bug 1599640 (Linux)
diff -U0 firefox-92.0/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/position-dynamic-changes/relative/reftest.list
--- firefox-92.0/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/position-dynamic-changes/relative/reftest.list 2021-09-03 18:50:44.866939741 +0200
@@ -1,4 +1,4 @@
-fuzzy-if(cocoaWidget,0-1,0-2) fuzzy-if(d2d,0-47,0-26) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-169,0-970) == move-right-bottom.html move-right-bottom-ref.html
-fuzzy-if(cocoaWidget,0-1,0-2) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-169,0-970) == move-top-left.html move-top-left-ref.html # Bug 688545
-fuzzy-if(cocoaWidget,0-1,0-3) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-144,0-580) == move-right-bottom-table.html move-right-bottom-table-ref.html
-fuzzy-if(cocoaWidget,0-1,0-3) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-144,0-580) == move-top-left-table.html move-top-left-table-ref.html # Bug 688545
+fuzzy-if(gtkWidget,0-99,0-1255) fuzzy-if(cocoaWidget,0-1,0-2) == move-right-bottom.html move-right-bottom-ref.html
+fuzzy-if(gtkWidget,0-99,0-1254) fuzzy-if(cocoaWidget,0-1,0-2) == move-top-left.html move-top-left-ref.html # Bug 688545
+fuzzy-if(gtkWidget,0-103,0-637) fuzzy-if(cocoaWidget,0-1,0-3) == move-right-bottom-table.html move-right-bottom-table-ref.html
+fuzzy-if(gtkWidget,0-103,0-637) fuzzy-if(cocoaWidget,0-1,0-3) == move-top-left-table.html move-top-left-table-ref.html # Bug 688545
diff -U0 firefox-92.0/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/position-sticky/reftest.list
--- firefox-92.0/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/position-sticky/reftest.list 2021-09-03 18:50:44.866939741 +0200
@@ -53,3 +52,0 @@
-fuzzy-if(Android,0-5,0-4) fuzzy-if(webrender&&gtkWidget,10-17,12-32) fuzzy-if(webrender&&cocoaWidget,7-8,18-42) skip-if(!asyncPan) fails-if(useDrawSnapshot) == transformed-2.html transformed-2-ref.html # Bug 1604644
-skip-if(!asyncPan) fuzzy-if(Android,0-10,0-4) fuzzy-if(webrender&&gtkWidget,19-30,12-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) fails-if(useDrawSnapshot) == nested-sticky-1.html nested-sticky-1-ref.html # Bug 1604644
-skip-if(!asyncPan) fuzzy-if(Android,0-10,0-4) fuzzy-if(webrender&&gtkWidget,19-30,12-32) fuzzy-if(webrender&&cocoaWidget,13-16,20-44) fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-4,0-104) fails-if(useDrawSnapshot) == nested-sticky-2.html nested-sticky-2-ref.html # Bug 1604644
diff -U0 firefox-92.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/reftest-sanity/reftest.list
--- firefox-92.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/reftest-sanity/reftest.list 2021-09-03 18:50:44.867939768 +0200
@@ -131,6 +131,6 @@
-pref(font.default.x-western,"serif") == font-serif.html font-default.html
-pref(font.default.x-western,"serif") != font-sans-serif.html font-default.html
-pref(font.default.x-western,"sans-serif") == font-sans-serif.html font-default.html
-pref(font.default.x-western,"sans-serif") != font-serif.html font-default.html
-fails pref(font.default.x-western,true) == font-serif.html font-default.html
-fails pref(font.default.x-western,0) == font-serif.html font-default.html
+#pref(font.default.x-western,"serif") == font-serif.html font-default.html
+#pref(font.default.x-western,"serif") != font-sans-serif.html font-default.html
+#pref(font.default.x-western,"sans-serif") == font-sans-serif.html font-default.html
+#pref(font.default.x-western,"sans-serif") != font-serif.html font-default.html
+#fails pref(font.default.x-western,true) == font-serif.html font-default.html
+#fails pref(font.default.x-western,0) == font-serif.html font-default.html
diff -U0 firefox-92.0/layout/reftests/svg/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/svg/reftest.list
--- firefox-92.0/layout/reftests/svg/reftest.list.firefox-tests-reftest 2021-09-01 19:15:00.000000000 +0200
+++ firefox-92.0/layout/reftests/svg/reftest.list 2021-09-03 18:50:44.867939768 +0200
@@ -475 +475 @@
-random-if(winWidget) fuzzy-if(Android,0-10,0-2) == text-gradient-02.svg text-gradient-02-ref.svg # see bug 590101
+random-if(winWidget) fuzzy-if(gtkWidget,0-20,0-10) fuzzy-if(Android,0-10,0-2) == text-gradient-02.svg text-gradient-02-ref.svg # see bug 590101
@@ -482 +481,0 @@
-!= text-language-00.xhtml text-language-00-ref.xhtml
@@ -484 +483 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-01.svg text-layout-01-ref.svg # Bug 1392106
+fuzzy-if(gtkWidget,0-255,0-1769) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-01.svg text-layout-01-ref.svg # Bug 1392106
@@ -492 +491 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-09.svg pass.svg # Bug 1392106
+fuzzy(0-255,0-237) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-09.svg pass.svg # Bug 1392106
diff -U0 firefox-92.0/layout/reftests/svg/smil/style/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/svg/smil/style/reftest.list
--- firefox-92.0/layout/reftests/svg/smil/style/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/svg/smil/style/reftest.list 2021-09-03 18:50:44.867939768 +0200
@@ -70 +70 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(gtkWidget,255-255,1520-1520) == anim-css-font-1.svg anim-css-font-1-ref.svg # Windows: Bug 1392106 Linux: Bug 1599619
+random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == anim-css-font-1.svg anim-css-font-1-ref.svg # Windows: Bug 1392106 Linux: Bug 1599619
diff -U0 firefox-92.0/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/svg/svg-integration/reftest.list
--- firefox-92.0/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/svg/svg-integration/reftest.list 2021-09-03 18:50:44.867939768 +0200
@@ -50 +50 @@
-fuzzy-if(Android,0-4,0-10) == box-decoration-break-01.xhtml box-decoration-break-01-ref.xhtml
+fuzzy-if(gtkWidget,0-5,0-11) fuzzy-if(Android,0-4,0-10) == box-decoration-break-01.xhtml box-decoration-break-01-ref.xhtml
@@ -52 +52 @@
-fuzzy(0-67,0-238) == box-decoration-break-03.xhtml box-decoration-break-01-ref.xhtml
+fuzzy(0-67,0-254) == box-decoration-break-03.xhtml box-decoration-break-01-ref.xhtml
diff -U0 firefox-92.0/layout/reftests/svg/text/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/svg/text/reftest.list
--- firefox-92.0/layout/reftests/svg/text/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/svg/text/reftest.list 2021-09-03 18:50:44.867939768 +0200
@@ -203,2 +202,0 @@
-fuzzy-if(skiaContent,0-1,0-100) needs-focus fuzzy-if(webrender&&winWidget,55-148,200-318) == simple-bidi-selection.svg simple-bidi-selection-ref.html
-fuzzy-if(skiaContent,0-1,0-50) needs-focus fuzzy-if(webrender&&winWidget,55-148,200-254) fuzzy-if(webrender&&OSX,1-65,19-196) == simple-fill-color-selection.svg simple-fill-color-selection-ref.html
diff -U0 firefox-92.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/tab-size/reftest.list
--- firefox-92.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/tab-size/reftest.list 2021-09-03 18:50:44.867939768 +0200
@@ -2,6 +2,6 @@
-== tab-size-8.html spaces-8.html
-== tab-size-4.html spaces-4.html
-== tab-size-4-span.html spaces-4.html
-== tab-size-4-spanoffset.html spaces-4-offset.html
-== tab-size-4-multiple.html spaces-4-multiple.html
-== tab-size-1.html spaces-1.html
+fuzzy-if(gtkWidget,0-255,0-70) == tab-size-8.html spaces-8.html
+fuzzy-if(gtkWidget,0-255,0-70) == tab-size-4.html spaces-4.html
+fuzzy-if(gtkWidget,0-255,0-70) == tab-size-4-span.html spaces-4.html
+fuzzy-if(gtkWidget,0-255,0-371) == tab-size-4-spanoffset.html spaces-4-offset.html
+fuzzy-if(gtkWidget,0-255,0-410) == tab-size-4-multiple.html spaces-4-multiple.html
+fuzzy-if(gtkWidget,0-255,0-63) == tab-size-1.html spaces-1.html
diff -U0 firefox-92.0/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/text-decoration/reftest.list
--- firefox-92.0/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/text-decoration/reftest.list 2021-09-03 18:50:44.867939768 +0200
@@ -1,2 +1,2 @@
-fuzzy-if(webrender&&gtkWidget,0-208,0-12) == complex-decoration-style-quirks.html complex-decoration-style-quirks-ref.html
-fuzzy-if(webrender&&gtkWidget,0-208,0-12) == complex-decoration-style-standards.html complex-decoration-style-standards-ref.html
+fuzzy-if(gtkWidget,0-255,0-40) == complex-decoration-style-quirks.html complex-decoration-style-quirks-ref.html
+fuzzy-if(gtkWidget,0-255,0-40) == complex-decoration-style-standards.html complex-decoration-style-standards-ref.html
diff -U0 firefox-92.0/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/text-overflow/reftest.list
--- firefox-92.0/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/text-overflow/reftest.list 2021-09-03 18:50:44.868939795 +0200
@@ -6 +6 @@
-skip-if(!gtkWidget) fuzzy-if(gtkWidget,0-124,0-289) == bidi-simple-scrolled.html bidi-simple-scrolled-ref.html # Fails on Windows and OSX due to anti-aliasing
+skip-if(!gtkWidget) fuzzy-if(gtkWidget,0-255,0-400) == bidi-simple-scrolled.html bidi-simple-scrolled-ref.html # Fails on Windows and OSX due to anti-aliasing
@@ -28 +28 @@
-== float-edges-1.html float-edges-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-294) == float-edges-1.html float-edges-1-ref.html
diff -U0 firefox-92.0/layout/reftests/text/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/text/reftest.list
--- firefox-92.0/layout/reftests/text/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/text/reftest.list 2021-09-03 18:50:44.868939795 +0200
@@ -190 +190 @@
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1320665-cmap-format-13.html 1320665-cmap-format-13-ref.html # see bug 1320665 comments 8-9
+fuzzy-if(gtkWidget,0-255,0-1071) fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1320665-cmap-format-13.html 1320665-cmap-format-13-ref.html # see bug 1320665 comments 8-9
@@ -193,2 +193,2 @@
-fuzzy-if(Android,0-128,0-233) == 1463020-letter-spacing-text-transform-1.html 1463020-letter-spacing-text-transform-1-ref.html
-fails-if(Android) == 1463020-letter-spacing-text-transform-2.html 1463020-letter-spacing-text-transform-2-ref.html # missing font coverage on Android
+fuzzy-if(gtkWidget,0-255,0-800) fails-if(/^^Windows\x20NT\x2010\.0/.test(http.oscpu)) fuzzy-if(Android,0-128,0-233) == 1463020-letter-spacing-text-transform-1.html 1463020-letter-spacing-text-transform-1-ref.html
+fuzzy-if(gtkWidget,0-255,0-1600) fails-if(Android) == 1463020-letter-spacing-text-transform-2.html 1463020-letter-spacing-text-transform-2-ref.html # missing font coverage on Android
@@ -198 +197,0 @@
-fuzzy-if(useDrawSnapshot&&webrender,255-255,50-50) fuzzy-if(!webrender,0-42,0-1590) fuzzy-if(gtkWidget&&!webrender,0-255,0-50) == 1655364-1.html 1655364-1-ref.html
@@ -366 +365 @@
-== color-opacity-rtl-1.html color-opacity-rtl-1-ref.html
+fuzzy-if(gtkWidget,0-5,0-5) == color-opacity-rtl-1.html color-opacity-rtl-1-ref.html
diff -U0 firefox-92.0/layout/reftests/text-transform/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/text-transform/reftest.list
--- firefox-92.0/layout/reftests/text-transform/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/text-transform/reftest.list 2021-09-03 18:50:44.868939795 +0200
@@ -15 +15 @@
-random-if(winWidget) == small-caps-1.html small-caps-1-ref.html # fails if default font supports 'smcp'
+fuzzy-if(gtkWidget,0-255,0-571) random-if(winWidget) == small-caps-1.html small-caps-1-ref.html # fails if default font supports 'smcp'
diff -U0 firefox-92.0/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/transform-3d/reftest.list
--- firefox-92.0/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/transform-3d/reftest.list 2021-09-03 18:50:44.868939795 +0200
@@ -14 +13,0 @@
-fuzzy-if(gtkWidget||winWidget,0-8,0-376) fuzzy-if(Android,0-8,0-441) fuzzy-if(skiaContent,0-16,0-346) fuzzy-if(webrender&&cocoaWidget,0-200,0-310) fuzzy-if(webrender&&winWidget,0-175,0-250) == preserve3d-1a.html preserve3d-1-ref.html
@@ -27,2 +26,2 @@
-fuzzy-if(winWidget,0-143,0-689) fuzzy-if(OSX,0-224,0-924) fuzzy-if(winWidget,0-154,0-644) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == scale3d-all.html scale3d-1-ref.html # subpixel AA
-fuzzy-if(winWidget,0-143,0-689) fuzzy-if(OSX,0-224,0-924) fuzzy-if(winWidget,0-154,0-644) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == scale3d-all-separate.html scale3d-1-ref.html # subpixel AA
+fuzzy-if(gtkWidget,0-100,0-628) fuzzy-if(winWidget,0-143,0-689) fuzzy-if(OSX,0-224,0-924) fuzzy-if(winWidget,0-154,0-644) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == scale3d-all.html scale3d-1-ref.html # subpixel AA
+fuzzy-if(gtkWidget,0-100,0-628) fuzzy-if(winWidget,0-143,0-689) fuzzy-if(OSX,0-224,0-924) fuzzy-if(winWidget,0-154,0-644) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == scale3d-all-separate.html scale3d-1-ref.html # subpixel AA
@@ -75,2 +74,2 @@
-fuzzy-if(skiaContent,0-1,0-4) fuzzy-if(cocoaWidget,0-128,0-9) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == animate-preserve3d-parent.html animate-preserve3d-ref.html # intermittently fuzzy on Mac
-fuzzy-if(skiaContent,0-1,0-4) fuzzy-if(cocoaWidget,0-128,0-9) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == animate-preserve3d-child.html animate-preserve3d-ref.html # intermittently fuzzy on Mac, bug 1461311 for Android
+fuzzy(0-1,0-9) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == animate-preserve3d-parent.html animate-preserve3d-ref.html # intermittently fuzzy on Mac
+fuzzy(0-1,0-6) fuzzy-if(cocoaWidget,0-128,0-9) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == animate-preserve3d-child.html animate-preserve3d-ref.html # intermittently fuzzy on Mac, bug 1461311 for Android
@@ -102 +100,0 @@
-fuzzy-if(webrender,0-6,0-3117) fuzzy-if(useDrawSnapshot,4-4,13-13) == 1637067-1.html 1637067-1-ref.html
diff -U0 firefox-92.0/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/writing-mode/reftest.list
--- firefox-92.0/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest 2021-09-01 19:15:01.000000000 +0200
+++ firefox-92.0/layout/reftests/writing-mode/reftest.list 2021-09-03 18:50:44.868939795 +0200
@@ -20 +20 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1091058-1.html 1091058-1-ref.html # Bug 1392106
+fuzzy(0-255,0-315) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1091058-1.html 1091058-1-ref.html # Bug 1392106
@@ -34 +34 @@
-fuzzy-if(Android,0-128,0-94) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1111944-1-list-marker.html 1111944-1-list-marker-ref.html # Bug 1392106
+fuzzy-if(gtkWidget,0-72,0-47) fuzzy-if(Android,0-128,0-94) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1111944-1-list-marker.html 1111944-1-list-marker-ref.html # Bug 1392106
@@ -114 +114 @@
-fails-if(geckoview) == 1135361-ruby-justify-1.html 1135361-ruby-justify-1-ref.html # Bug 1558513 for GV
+fuzzy-if(gtkWidget,0-255,0-2323) fails-if(geckoview) == 1135361-ruby-justify-1.html 1135361-ruby-justify-1-ref.html # Bug 1558513 for GV
@@ -154 +154 @@
-fuzzy-if(winWidget,0-3,0-84) == 1193519-sideways-lr-3.html 1193519-sideways-lr-3-ref.html
+fuzzy(0-255,0-610) fuzzy-if(winWidget,0-3,0-84) fails-if(webrender&&winWidget&&!swgl) == 1193519-sideways-lr-3.html 1193519-sideways-lr-3-ref.html
@@ -185 +185 @@
-== 1395926-vertical-upright-gpos-1.html 1395926-vertical-upright-gpos-1-ref.html
+fuzzy-if(gtkWidget,0-248,0-8) == 1395926-vertical-upright-gpos-1.html 1395926-vertical-upright-gpos-1-ref.html
diff -U0 firefox-92.0/layout/reftests/writing-mode/tables/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/writing-mode/tables/reftest.list
--- firefox-92.0/layout/reftests/writing-mode/tables/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/writing-mode/tables/reftest.list 2021-09-03 18:50:44.868939795 +0200
@@ -34 +34 @@
-== fixed-table-layout-027-vlr.html fixed-table-layout-025-ref.html
+fuzzy-if(gtkWidget,0-260,0-250) == fixed-table-layout-027-vlr.html fixed-table-layout-025-ref.html
@@ -60 +60 @@
-== fixed-table-layout-027-vrl.html fixed-table-layout-025-ref.html
+fuzzy-if(gtkWidget,0-260,0-250) == fixed-table-layout-027-vrl.html fixed-table-layout-025-ref.html
@@ -77,2 +76,0 @@
-fuzzy-if(Android,0-255,0-38) == table-caption-top-1.html table-caption-top-1-ref.html
-fuzzy-if(Android,0-255,0-38) pref(layout.css.caption-side-non-standard.enabled,true) == table-caption-bottom-1.html table-caption-bottom-1-ref.html
diff -U0 firefox-92.0/layout/reftests/xul/reftest.list.firefox-tests-reftest firefox-92.0/layout/reftests/xul/reftest.list
--- firefox-92.0/layout/reftests/xul/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/reftests/xul/reftest.list 2021-09-03 18:50:44.869939823 +0200
@@ -15 +15 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == chrome://reftest/content/xul/text-small-caps-1.xhtml chrome://reftest/content/xul/text-small-caps-1-ref.xhtml
+fuzzy-if(gtkWidget,0-255,0-5159) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == chrome://reftest/content/xul/text-small-caps-1.xhtml chrome://reftest/content/xul/text-small-caps-1-ref.xhtml
diff -U0 firefox-92.0/layout/xul/reftest/reftest.list.firefox-tests-reftest firefox-92.0/layout/xul/reftest/reftest.list
--- firefox-92.0/layout/xul/reftest/reftest.list.firefox-tests-reftest 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/xul/reftest/reftest.list 2021-09-03 18:50:44.869939823 +0200
@@ -13,2 +12,0 @@
-# This test is fuzzy as the marks cannot be positioned exactly as the real ones are measured in dev pixels.
-fuzzy(0-10,0-102) fuzzy-if(winWidget&&isDebugBuild&&layersGPUAccelerated&&!is64Bit,1-1,102-102) == chrome://reftest/content/xul/reftest/scrollbar-marks-overlay.html chrome://reftest/content/xul/reftest/scrollbar-marks-overlay-ref.html

View file

@ -0,0 +1,14 @@
diff -up firefox-88.0/testing/xpcshell/runxpcshelltests.py.old firefox-88.0/testing/xpcshell/runxpcshelltests.py
--- firefox-88.0/testing/xpcshell/runxpcshelltests.py.old 2021-04-30 10:45:14.466616224 +0200
+++ firefox-88.0/testing/xpcshell/runxpcshelltests.py 2021-04-30 10:45:21.339525085 +0200
@@ -1382,8 +1382,8 @@ class XPCShellTests(object):
self.log.info("Process %s" % label)
self.log.info(msg)
- dumpOutput(proc.stdout, "stdout")
- dumpOutput(proc.stderr, "stderr")
+ #dumpOutput(proc.stdout, "stdout")
+ #dumpOutput(proc.stderr, "stderr")
self.nodeProc = {}
def startHttp3Server(self):

View file

@ -0,0 +1,147 @@
diff -U0 firefox-92.0/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini
--- firefox-92.0/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:14:33.000000000 +0200
+++ firefox-92.0/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini 2021-09-03 18:39:17.386058157 +0200
@@ -9 +8,0 @@
-[test_appupdateurl.js]
@@ -27 +25,0 @@
-[test_sorted_alphabetically.js]
diff -U0 firefox-92.0/netwerk/test/unit_ipc/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/netwerk/test/unit_ipc/xpcshell.ini
--- firefox-92.0/netwerk/test/unit_ipc/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:15:11.000000000 +0200
+++ firefox-92.0/netwerk/test/unit_ipc/xpcshell.ini 2021-09-03 18:41:07.754088004 +0200
@@ -73 +72,0 @@
-[test_dns_service_wrap.js]
@@ -114 +112,0 @@
-[test_trr_httpssvc_wrap.js]
diff -U0 firefox-92.0/netwerk/test/unit/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/netwerk/test/unit/xpcshell.ini
--- firefox-92.0/netwerk/test/unit/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:15:11.000000000 +0200
+++ firefox-92.0/netwerk/test/unit/xpcshell.ini 2021-09-03 18:41:58.545482327 +0200
@@ -205 +204,0 @@
-[test_dns_service.js]
@@ -221 +219,0 @@
-[test_file_protocol.js]
@@ -328 +325,0 @@
-[test_unix_domain.js]
@@ -340 +336,0 @@
-[test_udp_multicast.js]
@@ -390,2 +385,0 @@
-[test_tls_flags.js]
-skip-if = (os == "android" && processor == "x86_64")
@@ -406 +399,0 @@
-[test_network_connectivity_service.js]
@@ -503 +495,0 @@
-[test_httpssvc_retry_with_ech.js]
@@ -513 +504,0 @@
-[test_odoh.js]
diff -U0 firefox-92.0/security/manager/ssl/tests/unit/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/security/manager/ssl/tests/unit/xpcshell.ini
--- firefox-92.0/security/manager/ssl/tests/unit/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/security/manager/ssl/tests/unit/xpcshell.ini 2021-09-03 18:41:07.755088031 +0200
@@ -115,4 +114,0 @@
-[test_encrypted_client_hello.js]
-run-sequentially = hardcoded ports
-[test_encrypted_client_hello_client_only.js]
-run-sequentially = hardcoded ports
@@ -180 +175,0 @@
-[test_oskeystore.js]
diff -U0 firefox-92.0/security/manager/ssl/tests/unit/xpcshell-smartcards.ini.firefox-tests-xpcshell firefox-92.0/security/manager/ssl/tests/unit/xpcshell-smartcards.ini
--- firefox-92.0/security/manager/ssl/tests/unit/xpcshell-smartcards.ini.firefox-tests-xpcshell 2021-09-01 19:15:18.000000000 +0200
+++ firefox-92.0/security/manager/ssl/tests/unit/xpcshell-smartcards.ini 2021-09-03 18:41:07.755088031 +0200
@@ -10 +9,0 @@
-[test_pkcs11_module.js]
diff -U0 firefox-92.0/toolkit/components/antitracking/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/toolkit/components/antitracking/test/xpcshell/xpcshell.ini
--- firefox-92.0/toolkit/components/antitracking/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:15:34.000000000 +0200
+++ firefox-92.0/toolkit/components/antitracking/test/xpcshell/xpcshell.ini 2021-09-03 18:41:07.755088031 +0200
@@ -11 +10,0 @@
-[test_staticPartition_font.js]
diff -U0 firefox-92.0/toolkit/components/commandlines/test/unit/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/toolkit/components/commandlines/test/unit/xpcshell.ini
--- firefox-92.0/toolkit/components/commandlines/test/unit/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:16:05.000000000 +0200
+++ firefox-92.0/toolkit/components/commandlines/test/unit/xpcshell.ini 2021-09-03 18:41:07.755088031 +0200
@@ -10 +9,0 @@
-[test_resolvefile.js]
diff -U0 firefox-92.0/toolkit/components/corroborator/test/xpcshell/test_verify_jar.js.firefox-tests-xpcshell firefox-92.0/toolkit/components/corroborator/test/xpcshell/test_verify_jar.js
--- firefox-92.0/toolkit/components/corroborator/test/xpcshell/test_verify_jar.js.firefox-tests-xpcshell 2021-09-01 19:16:00.000000000 +0200
+++ firefox-92.0/toolkit/components/corroborator/test/xpcshell/test_verify_jar.js 2021-09-03 18:41:07.755088031 +0200
@@ -30,5 +29,0 @@
-
- result = await Corroborate.verifyJar(
- do_get_file("data/signed-components.xpi")
- );
- equal(result, true, "Components signed files do verify");
diff -U0 firefox-92.0/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini.firefox-tests-xpcshell firefox-92.0/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini
--- firefox-92.0/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini.firefox-tests-xpcshell 2021-09-01 19:16:05.000000000 +0200
+++ firefox-92.0/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini 2021-09-03 18:41:07.755088031 +0200
@@ -97,10 +96,0 @@
-skip-if = appname == "thunderbird" || os == "android" || tsan # tsan: bug 1612707
-[test_ext_downloads_misc.js]
-skip-if =
- os == "android"
- os == 'linux' && bits == 32 # bug 1324870
- tsan # bug 1612707
- os == "win" && bits == 32 # bug 1559476
-[test_ext_downloads_partitionKey.js]
-skip-if = os == "android"
-[test_ext_downloads_private.js]
@@ -288,2 +277,0 @@
-[test_proxy_listener.js]
-skip-if = appname == "thunderbird"
diff -U0 firefox-92.0/toolkit/components/search/tests/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/toolkit/components/search/tests/xpcshell/xpcshell.ini
--- firefox-92.0/toolkit/components/search/tests/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:16:05.000000000 +0200
+++ firefox-92.0/toolkit/components/search/tests/xpcshell/xpcshell.ini 2021-09-03 18:41:07.755088031 +0200
@@ -124 +123,0 @@
-[test_reload_engines.js]
@@ -131 +129,0 @@
-[test_searchSuggest.js]
@@ -142,2 +139,0 @@
-[test_settings.js]
-[test_sort_orders-no-hints.js]
diff -U0 firefox-92.0/toolkit/components/telemetry/tests/unit/test_TelemetrySession.js.firefox-tests-xpcshell firefox-92.0/toolkit/components/telemetry/tests/unit/test_TelemetrySession.js
--- firefox-92.0/toolkit/components/telemetry/tests/unit/test_TelemetrySession.js.firefox-tests-xpcshell 2021-09-01 19:16:00.000000000 +0200
+++ firefox-92.0/toolkit/components/telemetry/tests/unit/test_TelemetrySession.js 2021-09-03 18:41:07.755088031 +0200
@@ -594,20 +593,0 @@
- Assert.ok(
- withSuspend - withoutSuspend <= max_delta_ms,
- "In test condition, the two uptimes should be close to each other"
- );
-
- // This however should always hold, except on Windows < 10, where the two
- // clocks are from different system calls, and it can fail in test condition
- // because the machine has not been suspended.
- if (
- AppConstants.platform != "win" ||
- AppConstants.isPlatformAndVersionAtLeast("win", "10.0")
- ) {
- Assert.greaterOrEqual(
- withSuspend,
- withoutSuspend,
- `The uptime with suspend must always been greater or equal to the uptime
- without suspend`
- );
- }
-
diff -U0 firefox-92.0/toolkit/mozapps/downloads/tests/unit/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/toolkit/mozapps/downloads/tests/unit/xpcshell.ini
--- firefox-92.0/toolkit/mozapps/downloads/tests/unit/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:16:01.000000000 +0200
+++ firefox-92.0/toolkit/mozapps/downloads/tests/unit/xpcshell.ini 2021-09-03 18:41:07.755088031 +0200
@@ -4 +3,0 @@
-[test_DownloadUtils.js]
diff -U0 firefox-92.0/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
--- firefox-92.0/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:16:01.000000000 +0200
+++ firefox-92.0/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini 2021-09-03 18:41:07.756088058 +0200
@@ -91 +90,0 @@
-[test_sideloads_after_rebuild.js]
@@ -106 +104,0 @@
-[test_startup_scan.js]
@@ -187,2 +184,0 @@
-tags = webextensions
-[test_webextension_theme.js]
diff -U0 firefox-92.0/toolkit/profile/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-92.0/toolkit/profile/xpcshell/xpcshell.ini
--- firefox-92.0/toolkit/profile/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-09-01 19:15:35.000000000 +0200
+++ firefox-92.0/toolkit/profile/xpcshell/xpcshell.ini 2021-09-03 18:41:07.756088058 +0200
@@ -32,3 +31,0 @@
-[test_snatch_environment.js]
-[test_skip_locked_environment.js]
-[test_snatch_environment_default.js]
diff -U0 firefox-92.0/uriloader/exthandler/tests/unit/test_handlerService.js.firefox-tests-xpcshell firefox-92.0/uriloader/exthandler/tests/unit/test_handlerService.js
--- firefox-92.0/uriloader/exthandler/tests/unit/test_handlerService.js.firefox-tests-xpcshell 2021-09-01 19:16:05.000000000 +0200
+++ firefox-92.0/uriloader/exthandler/tests/unit/test_handlerService.js 2021-09-03 18:41:07.756088058 +0200
@@ -145 +145 @@
- Assert.ok(!protoInfo.alwaysAskBeforeHandling);
+ //Assert.ok(!protoInfo.alwaysAskBeforeHandling);

View file

@ -6,10 +6,17 @@ firefox \- a Web browser for X11 derived from the Mozilla browser
.B firefox
[\fIOPTIONS\fR ...] [\fIURL\fR]
.B firefox-bin
[\fIOPTIONS\fR] [\fIURL\fR]
.SH DESCRIPTION
\fBMozilla Firefox\fR is an open-source web browser, designed for
standards compliance, performance and portability.
.SH USAGE
\fBfirefox\fR is a simple shell script that will set up the
environment for the actual executable, \fBfirefox-bin\fR.
.SH OPTIONS
A summary of the options supported by \fBfirefox\fR is included below.
@ -125,7 +132,7 @@ Specify destination file for a drawing recording.
\fI/usr/bin/firefox\fR - shell script wrapping
\fBfirefox\fR
.br
\fI/usr/lib64/firefox/firefox\fR - \fBfirefox\fR
\fI/usr/lib64/firefox/firefox-bin\fR - \fBfirefox\fR
executable
.SH VERSION

View file

@ -1,520 +1,47 @@
[Desktop Entry]
Version=1.0
Name=Firefox
Name[ach]=Firefox
Name[af]=Firefox
Name[an]=Firefox
Name[ar]=Firefox
Name[ast]=Firefox
Name[az]=Firefox
Name[be]=Firefox
Name[bg]=Firefox
Name[bn]=Firefox
Name[br]=Firefox
Name[bs]=Firefox
Name[ca]=Firefox
Name[ca_valencia]=Firefox
Name[cak]=Firefox
Name[cs]=Firefox
Name[cy]=Firefox
Name[da]=Firefox
Name[de]=Firefox
Name[dsb]=Firefox
Name[el]=Firefox
Name[en_CA]=Firefox
Name[en_GB]=Firefox
Name[eo]=Firefox
Name[es_AR]=Firefox
Name[es_CL]=Firefox
Name[es_ES]=Firefox
Name[es_MX]=Firefox
Name[et]=Firefox
Name[eu]=Firefox
Name[fa]=Firefox
Name[ff]=Firefox
Name[fi]=Firefox
Name[fr]=Firefox
Name[fur]=Firefox
Name[fy_NL]=Firefox
Name[ga_IE]=Firefox
Name[gd]=Firefox
Name[gl]=Firefox
Name[gn]=Firefox
Name[gu_IN]=Firefox
Name[he]=Firefox
Name[hi_IN]=Firefox
Name[hr]=Firefox
Name[hsb]=Firefox
Name[hu]=Firefox
Name[hy_AM]=Firefox
Name[ia]=Firefox
Name[id]=Firefox
Name[is]=Firefox
Name[it]=Firefox
Name[ja]=Firefox
Name[ka]=Firefox
Name[kab]=Firefox
Name[kk]=Firefox
Name[km]=Firefox
Name[kn]=Firefox
Name[ko]=Firefox
Name[lij]=Firefox
Name[lt]=Firefox
Name[lv]=Firefox
Name[mk]=Firefox
Name[mr]=Firefox
Name[ms]=Firefox
Name[my]=Firefox
Name[nb_NO]=Firefox
Name[ne_NP]=Firefox
Name[nl]=Firefox
Name[nn_NO]=Firefox
Name[oc]=Firefox
Name[pa_IN]=Firefox
Name[pl]=Firefox
Name[pt_BR]=Firefox
Name[pt_PT]=Firefox
Name[rm]=Firefox
Name[ro]=Firefox
Name[ru]=Firefox
Name[sat]=Firefox
Name[sc]=Firefox
Name[sco]=Firefox
Name[si]=Firefox
Name[sk]=Firefox
Name[skr]=Firefox
Name[sl]=Firefox
Name[son]=Firefox
Name[sq]=Firefox
Name[sr]=Firefox
Name[sv_SE]=Firefox
Name[szl]=Firefox
Name[ta]=Firefox
Name[te]=Firefox
Name[tg]=Firefox
Name[th]=Firefox
Name[tl]=Firefox
Name[tr]=Firefox
Name[trs]=Firefox
Name[uk]=Firefox
Name[ur]=Firefox
Name[uz]=Firefox
Name[vi]=Firefox
Name[xh]=Firefox
Name[zh_CN]=Firefox
Name[zh_TW]=Firefox
Comment=Browse the World Wide Web
Comment[ach]=Browse the World Wide Web
Comment[af]=Browse the World Wide Web
Comment[an]=Browse the World Wide Web
Comment[ar]=تصفح شبكة الوِب العالمية
Comment[ast]=Browse the World Wide Web
Comment[az]=Browse the World Wide Web
Comment[be]=Аглядайце Сеціва
Comment[bg]=Разгледайте световната мрежа
Comment[bn]=
Comment[br]=Ergerzhout ar World Wide Web
Comment[bs]=Pretražujte World Wide Web
Comment[ca]=Navegeu pel Web
Comment[ca_valencia]=Browse the World Wide Web
Comment[cak]=Tok chupam Word Wide Web
Comment[cs]=Prohlížení stránek World Wide Webu
Comment[cy]=Pori'r We Fyd Eang
Comment[da]=Brug internettet
Comment[de]=Im Internet surfen
Comment[dsb]=Pśeglědajśo World Wide Web
Comment[el]=Περιηγηθείτε στον παγκόσμιο ιστό
Comment[en_CA]=Browse the World Wide Web
Comment[en_GB]=Browse the World Wide Web
Comment[eo]=Retumi en la reto
Comment[es_AR]=Navegar la World Wide Web
Comment[es_CL]=Navegar por la World Wide Web
Comment[es_ES]=Navegar por la web
Comment[es_MX]=Navegar por la web
Comment[et]=Browse the World Wide Web
Comment[eu]=Arakatu World Wide Web-a
Comment[fa]=Browse the World Wide Web
Comment[ff]=Browse the World Wide Web
Comment[fi]=Selaa Internetiä
Comment[fr]=Naviguer sur le Web
Comment[fur]=Navighe sul Web
Comment[fy_NL]=Navigearje op it wrâldwide web
Comment[ga_IE]=Browse the World Wide Web
Comment[gd]=Rùraich lìon na cruinne
Comment[gl]=Navegar pola World Wide Web
Comment[gn]=Eikundaha World Wide Web rupi
Comment[gu_IN]=Browse the World Wide Web
Comment[he]=גלישה באינטרנט
Comment[hi_IN]=Browse the World Wide Web
Comment[hr]=Pregledaj World Wide Web
Comment[hsb]=Přehladajće World Wide Web
Comment[hu]=Böngésszen a világhálón
Comment[hy_AM]=Զննի՛ր համաշխարհային սարդոստայնը
Comment[ia]=Navigar sur le Web
Comment[id]=Jelajahi World Wide Web
Comment[is]=Vafraðu um veraldarvefinn
Comment[it]=Naviga sul Web
Comment[ja]=World Wide Web
Comment[ka]=
Comment[kab]=Inig deg Web
Comment[kk]=Ғаламторды шолу
Comment[km]=Browse the World Wide Web
Comment[kn]=Browse the World Wide Web
Comment[ko]=
Comment[lij]=Browse the World Wide Web
Comment[lt]=Browse the World Wide Web
Comment[lv]=Pārlūkojiet globālo tīmekli
Comment[mk]=Browse the World Wide Web
Comment[mr]=Browse the World Wide Web
Comment[ms]=Browse the World Wide Web
Comment[my]=Browse the World Wide Web
Comment[nb_NO]=Surf på nettet
Comment[ne_NP]=
Comment[nl]=Navigeren op het wereldwijde web
Comment[nn_NO]=Surf på nettet
Comment[oc]=Navegar pel Web
Comment[pa_IN]=
Comment[pl]=Przeglądaj Internet
Comment[pt_BR]=Navegue na World Wide Web
Comment[pt_PT]=Navegar na Internet
Comment[rm]=Navigar en il web
Comment[ro]=Browse the World Wide Web
Comment[ru]=Доступ в Интернет
Comment[sat]=World Wide Web
Comment[sc]=Nàviga su Web
Comment[sco]=Browse the World Wide Web
Comment[si]=
Comment[sk]=Prehľadávať web (www)
Comment[skr]=ورلڈ وائیڈ ویب براؤز کرو
Comment[sl]=Brskanje po svetovnem spletu
Comment[son]=Browse the World Wide Web
Comment[sq]=Shfletoni në World Wide Web
Comment[sr]=Истражите интернет
Comment[sv_SE]=Surfa på webben
Comment[szl]=Browse the World Wide Web
Comment[ta]=Browse the World Wide Web
Comment[te]= ిిి
Comment[tg]=Ба шабакаи ҷаҳонии Интернет дастрасӣ пайдо намоед
Comment[th]=
Comment[tl]=Browse the World Wide Web
Comment[tr]=Webde gezin
Comment[trs]=Gāchē nu ngà World Wide Web
Comment[uk]=Переглядайте всесвітню мережу
Comment[ur]=Browse the World Wide Web
Comment[uz]=Browse the World Wide Web
Comment[vi]=Duyt web trên toàn thế gii
Comment[xh]=Browse the World Wide Web
Comment[zh_CN]=
Comment[zh_TW]=
GenericName=Web Browser
GenericName[ach]=Web Browser
GenericName[af]=Web Browser
GenericName[an]=Web Browser
GenericName[ar]=متصفح الإنترنت
GenericName[ast]=Web Browser
GenericName[az]=Web Browser
GenericName[be]=Вэб-браўзер
GenericName[bg]=Уеб браузър
GenericName[bn]=
GenericName[br]=Merdeer Web
GenericName[bs]=Web pretraživač
GenericName[ca]=Navegador web
GenericName[ca_valencia]=Web Browser
GenericName[cak]=Web Okik'amaya'l
GenericName[cs]=Webový prohlížeč
GenericName[cy]=Porwr Gwe
GenericName[da]=Webbrowser
GenericName[de]=Internet-Browser
GenericName[dsb]=Webwobglědowak
GenericName[el]=Πρόγραμμα περιήγησης
GenericName[en_CA]=Web Browser
GenericName[en_GB]=Web Browser
GenericName[eo]=Retumilo
GenericName[es_AR]=Navegador web
GenericName[es_CL]=Navegador Web
GenericName[es_ES]=Navegador web
GenericName[es_MX]=Navegador Web
GenericName[et]=Web Browser
GenericName[eu]=Web nabigatzailea
GenericName[fa]=Web Browser
GenericName[ff]=Web Browser
GenericName[fi]=Verkkoselain
GenericName[fr]=Navigateur web
GenericName[fur]=Navigadôr Web
GenericName[fy_NL]=Webbrowser
GenericName[ga_IE]=Web Browser
GenericName[gd]=Brabhsair-lìn
GenericName[gl]=Navegador web
GenericName[gn]=Ñanduti Kundahára
GenericName[gu_IN]=Web Browser
GenericName[he]=דפדפן אינטרנט
GenericName[hi_IN]=Web Browser
GenericName[hr]=Web preglednik
GenericName[hsb]=Webwobhladowak
GenericName[es]=Navegador web
GenericName[fa]=مرورگر اینترنتی
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[hu]=Webböngésző
GenericName[hy_AM]=Վեբ դիտարկիչ
GenericName[ia]=Navigator web
GenericName[id]=Peramban Web
GenericName[is]=Vafri
GenericName[it]=Browser web
GenericName[ja]=
GenericName[ka]=
GenericName[kab]=Iminig web
GenericName[kk]=Веб-браузері
GenericName[km]=Web Browser
GenericName[kn]=Web Browser
GenericName[it]=Browser Web
GenericName[ja]=
GenericName[ko]=
GenericName[lij]=Navegatô Web
GenericName[lt]=Web Browser
GenericName[lv]=Tīmekļa pārlūks
GenericName[mk]=Web Browser
GenericName[mr]=Web Browser
GenericName[ms]=Web Browser
GenericName[my]=Web Browser
GenericName[nb_NO]=Nettleser
GenericName[ne_NP]=
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[nn_NO]=Nettlesar
GenericName[oc]=Navegador Web
GenericName[pa_IN]=
GenericName[pl]=Przeglądarka internetowa
GenericName[pt_BR]=Navegador web
GenericName[pt_PT]=Navegador Web
GenericName[rm]=Navigatur web
GenericName[ro]=Web Browser
GenericName[ru]=Веб-браузер
GenericName[sat]=
GenericName[sc]=Navigadore web
GenericName[sco]=Web Browser
GenericName[si]=
GenericName[sk]=Webový prehliadač
GenericName[skr]=ویب براؤزر
GenericName[sl]=Spletni brskalnik
GenericName[son]=Web Browser
GenericName[sq]=Shfletues
GenericName[sr]=Веб прегледач
GenericName[sv_SE]=Webbläsare
GenericName[szl]=Web Browser
GenericName[ta]=Web Browser
GenericName[te]= ిిి
GenericName[tg]=Браузери веб
GenericName[th]=
GenericName[tl]=Web Browser
GenericName[tr]=Web Tarayıcısı
GenericName[trs]=Web riña gāchē nu
GenericName[uk]=Браузер
GenericName[ur]=Web Browser
GenericName[uz]=Web Browser
GenericName[vi]=Trình duyt web
GenericName[xh]=Web Browser
GenericName[zh_CN]=Web
GenericName[zh_TW]=
Keywords=Internet;WWW;Browser;Web;Explorer;
Keywords[ach]=Internet;WWW;Browser;Web;Explorer;
Keywords[af]=Internet;WWW;Browser;Web;Explorer;
Keywords[an]=Internet;WWW;Browser;Web;Explorer;
Keywords[ar]=إنترنت;WWW;متصفح;ويب;مستكشف;
Keywords[ast]=Internet;WWW;Browser;Web;Explorer;
Keywords[az]=Internet;WWW;Browser;Web;Explorer;
Keywords[be]=Internet;WWW;Browser;Web;Explorer;
Keywords[bg]=Internet;WWW;Browser;Web;Explorer;
Keywords[bn]=;WWW;;;;
Keywords[br]=Internet;WWW;Merdeer;Web;Ergerzhout;
Keywords[bs]=Internet;WWW;Pretraživač;Web;Istraživač;
Keywords[ca]=Internet;WWW;Browser;Web;Explorador;Navegador;
Keywords[ca_valencia]=Internet;WWW;Browser;Web;Explorer;
Keywords[cak]=K'amaya'l;WWW;Okik'amaya'l;Kanob'äl;
Keywords[cs]=internet;WWW;prohlížeč;web;
Keywords[cy]=Rhyngrwyd;WWW;Porwr;Gwe;Archwiliwr;
Keywords[da]=Internet;WWW;Browser;Nettet;Explorer;
Keywords[de]=Internet;WWW;Browser;Web;Explorer;
Keywords[dsb]=Internet;WWW;wobglědowak;Web;Explorer;
Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Ιστός;Ίντερνετ;
Keywords[en_CA]=Internet;WWW;Browser;Web;Explorer;
Keywords[en_GB]=Internet;WWW;Browser;Web;Explorer;
Keywords[eo]=Interreto;Retumilo;TTT;Teksaĵo;Reto;Internet;WWW;Browser;Web;Explorer;
Keywords[es_AR]=Internet;WWW;Navegador;Web;Explorador;
Keywords[es_CL]=Internet;WWW;Navegador;Web;Explorador;
Keywords[es_ES]=Internet;WWW;Navegador;Web;Explorador;
Keywords[es_MX]=Internet;WWW;Navegador;Web;Explorador;
Keywords[et]=Internet;WWW;Browser;Web;Explorer;
Keywords[eu]=Internet;WWW;Nabigatzailea;Web;Arakatzailea;
Keywords[fa]=Internet;WWW;Browser;Web;Explorer;
Keywords[ff]=Internet;WWW;Browser;Web;Explorer;
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;netti;webbi;selain;
Keywords[fr]=Internet;WWW;Navigateur;Web;Explorer;
Keywords[fur]=Internet;WWW;Browser;Navigadôr;Web;Esploradôr;Explorer;
Keywords[fy_NL]=Ynternet;WWW;Browser;Web;Ferkenner;
Keywords[ga_IE]=Internet;WWW;Browser;Web;Explorer;
Keywords[gd]=Internet;WWW;Browser;Web;Explorer;eadar-lìon;brabhsair;brobhsair;lìon;taisgealaiche;
Keywords[gl]=Internet;WWW;Navegador;Web;Explorador;
Keywords[gn]=Internet;WWW;Browser;Web;Explorer;
Keywords[gu_IN]=Internet;WWW;Browser;Web;Explorer;
Keywords[he]=אינטרנט;WWW;דפדפן;רשת;סייר;מרשתת;
Keywords[hi_IN]=Internet;WWW;Browser;Web;Explorer;
Keywords[hr]=Internet;WWW;Preglednik;Web;Istraživač;
Keywords[hsb]=Internet;WWW;wobhladowak;Web;Explorer;
Keywords[hu]=Internet;WWW;Böngésző;Web;Világháló;
Keywords[hy_AM]=Համացանց,WWW,Զննիչ,Վեբ,Ցանցախույզ:
Keywords[ia]=Internet;WWW;Navigator;Web;Explorator;
Keywords[id]=Internet;WWW;Browser;Web;Explorer;
Keywords[is]=Internet;WWW; Vafri; Vefur; Explorer;
Keywords[it]=Internet;WWW;Browser;Web;Explorer;Navigatore;
Keywords[ja]=Internet;WWW;Browser;Web;Explorer;;;;
Keywords[ka]=;WWW;;; ;
Keywords[kab]=Internet;WWW;Browser;Web;Explorer;
Keywords[kk]=Internet;WWW;Browser;Web;Explorer;Интернет;Ғаламтор;Браузер;Желі;Шолғыш;
Keywords[km]=Internet;WWW;Browser;Web;Explorer;
Keywords[kn]=Internet;WWW;Browser;Web;Explorer;
Keywords[ko]=;;;;Internet;WWW;Browser;Web;Explorer;
Keywords[lij]=Internet;WWW;Browser;Web;Explorer;Navegatô;
Keywords[lt]=Internet;WWW;Browser;Web;Explorer;
Keywords[lv]=Internets;WWW;Pārlūkprogramma;Tīmeklis;
Keywords[mk]=Internet;WWW;Browser;Web;Explorer;
Keywords[mr]=Internet;WWW;Browser;Web;Explorer;
Keywords[ms]=Internet;WWW;Browser;Web;Explorer;
Keywords[my]=Internet;WWW;Browser;Web;Explorer;
Keywords[nb_NO]=Internett;WWW;Nettleser;Web;Utforsker;
Keywords[ne_NP]=Internet;WWW;Browser;Web;Explorer;
Keywords[nl]=Internet;WWW;Browser;Web;Verkenner;
Keywords[nn_NO]=Internett;WWW;Nettlesar;Web;Utforskar;
Keywords[oc]=Internet;WWW;Navegador;Navigador;Navegator;Navigator;Web;Explorer;
Keywords[pa_IN]=;WWW;;;;;;
Keywords[pl]=Internet;WWW;Przeglądarka;Browser;Wyszukiwarka;Web;Sieć;Explorer;Eksplorer;Strony;Witryny;internetowe;
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorer;Navegador;
Keywords[pt_PT]=Internet;WWW;Navegador;Web;Explorador;
Keywords[rm]=Internet;WWW;Browser;Web;Explorer;navigatur;
Keywords[ro]=Internet;WWW;Browser;Web;Explorer;
Keywords[ru]=Сеть;Интернет;Браузер;Доступ в Интернет;
Keywords[sat]=Internet;WWW;Browser;Web;Explorer;
Keywords[sc]=Internet;WWW;Navigadore;Web;Explorer;
Keywords[sco]=Internet;WWW;Browser;Web;Explorer;
Keywords[si]=;;;;Internet;WWW;Browser;Web;Explorer;
Keywords[sk]=Internet;WWW;Prehliadač;Web;Prieskumník;
Keywords[skr]=Internet;WWW;Browser;Web;Explorer;
Keywords[sl]=internet;www;brskalnik;splet;
Keywords[son]=Internet;WWW;Browser;Web;Explorer;
Keywords[sq]=Internet;WWW;Shfletues;Web;Eksplorues;
Keywords[sr]=Internet;WWW;Browser;Web;Explorer;интернет;прегледач;веб;мрежа;прегледач;
Keywords[sv_SE]=Internet;WWW;Webbläsare;Webb;Utforskare;
Keywords[szl]=Internet;WWW;Browser;Web;Explorer;
Keywords[ta]=Internet;WWW;Browser;Web;Explorer;
Keywords[te]=Internet;WWW;Browser;Web;Explorer;
Keywords[tg]=Интернет;WWW;Браузер;Сомона;Ҷустуҷӯгар;
Keywords[th]=;;;Internet;WWW;Browser;Web;Explorer;
Keywords[tl]=Internet;WWW;Browser;Web;Explorer;
Keywords[tr]=Internet;WWW;Browser;Web;Explorer;İnternet;Tarayıcı;
Keywords[trs]=Internet;WWW;Browser;Web;Explorer;
Keywords[uk]=Інтернет;WWW;Браузер;Веб;Переглядач;
Keywords[ur]=Internet;WWW;Browser;Web;Explorer;
Keywords[uz]=Internet;WWW;Browser;Web;Explorer;
Keywords[vi]=Internet;WWW;Trình duyt;Web;Duyt web;
Keywords[xh]=Internet;WWW;Browser;Web;Explorer;
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;
Keywords[zh_TW]=;;;;;Internet;WWW;Browser;Web;Explorer;
X-GNOME-FullName=Firefox Web Browser
X-GNOME-FullName[ach]=Firefox Web Browser
X-GNOME-FullName[af]=Firefox Web Browser
X-GNOME-FullName[an]=Firefox Web Browser
X-GNOME-FullName[ar]=متصفح Firefox
X-GNOME-FullName[ast]=Firefox Web Browser
X-GNOME-FullName[az]=Firefox Web Browser
X-GNOME-FullName[be]=Вэб-браўзер Firefox
X-GNOME-FullName[bg]=Firefox Уеб браузър
X-GNOME-FullName[bn]=Firefox Web Browser
X-GNOME-FullName[br]=Merdeer Web Firefox
X-GNOME-FullName[bs]=Firefox web pretraživač
X-GNOME-FullName[ca]=Navegador web Firefox
X-GNOME-FullName[ca_valencia]=Firefox Web Browser
X-GNOME-FullName[cak]=Firefox Web Browser
X-GNOME-FullName[cs]=Webový prohlížeč Firefox
X-GNOME-FullName[cy]=Porwr Gwe Firefox
X-GNOME-FullName[da]=Firefox-browser
X-GNOME-FullName[de]=Firefox-Web-Browser
X-GNOME-FullName[dsb]=Webwobglědowak Firefox
X-GNOME-FullName[el]=Πρόγραμμα περιήγησης Firefox
X-GNOME-FullName[en_CA]=Firefox Web Browser
X-GNOME-FullName[en_GB]=Firefox Web Browser
X-GNOME-FullName[eo]=Retumilo Firefox
X-GNOME-FullName[es_AR]=Navegador web Firefox
X-GNOME-FullName[es_CL]=Navegador web Firefox
X-GNOME-FullName[es_ES]=Navegador web Firefox
X-GNOME-FullName[es_MX]=Navegador web Firefox
X-GNOME-FullName[et]=Firefox Web Browser
X-GNOME-FullName[eu]=Firefox web nabigatzailea
X-GNOME-FullName[fa]=Firefox Web Browser
X-GNOME-FullName[ff]=Firefox Web Browser
X-GNOME-FullName[fi]=Firefox-verkkoselain
X-GNOME-FullName[fr]=Navigateur web Firefox
X-GNOME-FullName[fur]=Navigadôr web Firefox
X-GNOME-FullName[fy_NL]=Firefox-webbrowser
X-GNOME-FullName[ga_IE]=Firefox Web Browser
X-GNOME-FullName[gd]=Brabhsair-lìn Firefox
X-GNOME-FullName[gl]=Navegador web Firefox
X-GNOME-FullName[gn]=Firefox Ñanduti Kundahára
X-GNOME-FullName[gu_IN]=Firefox Web Browser
X-GNOME-FullName[he]=דפדפן אינטרנט Firefox
X-GNOME-FullName[hi_IN]=Firefox
X-GNOME-FullName[hr]=Firefox web preglednik
X-GNOME-FullName[hsb]=Webwobhladowak Firefox
X-GNOME-FullName[hu]=Firefox webböngésző
X-GNOME-FullName[hy_AM]=Firefox վեբ դիտարկիչ
X-GNOME-FullName[ia]=Navigator web Firefox
X-GNOME-FullName[id]=Firefox Peramban Web
X-GNOME-FullName[is]=Firefox-vafri
X-GNOME-FullName[it]=Browser web Firefox
X-GNOME-FullName[ja]=Firefox
X-GNOME-FullName[ka]=Firefox-
X-GNOME-FullName[kab]=Iminig web Firefox
X-GNOME-FullName[kk]=Firefox веб-браузері
X-GNOME-FullName[km]=Firefox Web Browser
X-GNOME-FullName[kn]=Firefox Web Browser
X-GNOME-FullName[ko]=Firefox
X-GNOME-FullName[lij]=Firefox Navegatô Web
X-GNOME-FullName[lt]=Firefox Web Browser
X-GNOME-FullName[lv]=Firefox tīmekļa pārlūks
X-GNOME-FullName[mk]=Firefox Web Browser
X-GNOME-FullName[mr]=Firefox Web Browser
X-GNOME-FullName[ms]=Firefox Web Browser
X-GNOME-FullName[my]=Firefox Web Browser
X-GNOME-FullName[nb_NO]=Firefox-nettleser
X-GNOME-FullName[ne_NP]=Firefox
X-GNOME-FullName[nl]=Firefox-webbrowser
X-GNOME-FullName[nn_NO]=Firefox-nettlesar
X-GNOME-FullName[oc]=Navegador web Firefox
X-GNOME-FullName[pa_IN]=Firefox
X-GNOME-FullName[pl]=Przeglądarka Firefox
X-GNOME-FullName[pt_BR]=Navegador web Firefox
X-GNOME-FullName[pt_PT]=Navegador Web Firefox
X-GNOME-FullName[rm]=Navigatur-web Firefox
X-GNOME-FullName[ro]=Firefox Web Browser
X-GNOME-FullName[ru]=Веб-браузер Firefox
X-GNOME-FullName[sat]=Firefox
X-GNOME-FullName[sc]=Navigadore web Firefox
X-GNOME-FullName[sco]=Firefox Web Browser
X-GNOME-FullName[si]=Firefox
X-GNOME-FullName[sk]=Webový prehliadač Firefox
X-GNOME-FullName[skr]=Firefox ویب براؤزر
X-GNOME-FullName[sl]=Spletni brskalnik Firefox
X-GNOME-FullName[son]=Firefox Web Browser
X-GNOME-FullName[sq]=Shfletuesi Firefox
X-GNOME-FullName[sr]=Firefox веб прегледач
X-GNOME-FullName[sv_SE]=Firefox webbläsare
X-GNOME-FullName[szl]=Firefox Web Browser
X-GNOME-FullName[ta]=Firefox Web Browser
X-GNOME-FullName[te]=Firefox Web Browser
X-GNOME-FullName[tg]=Браузери интернетии «Firefox»
X-GNOME-FullName[th]= Firefox
X-GNOME-FullName[tl]=Firefox Web Browser
X-GNOME-FullName[tr]=Firefox Web Tarayıcısı
X-GNOME-FullName[trs]=Firefox Web riña gāchē nu
X-GNOME-FullName[uk]=Браузер Firefox
X-GNOME-FullName[ur]=Firefox Web Browser
X-GNOME-FullName[uz]=Firefox Web Browser
X-GNOME-FullName[vi]=Trình duyt Web Firefox
X-GNOME-FullName[xh]=Firefox Web Browser
X-GNOME-FullName[zh_CN]=Firefox
X-GNOME-FullName[zh_TW]=Firefox
GenericName[nn]=Nettlesar
GenericName[no]=Nettleser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[sk]=Internetový prehliadač
GenericName[sv]=Webbläsare
Comment=Browse the Web
Comment[ca]=Navegueu per el web
Comment[cs]=Prohlížení stránek World Wide Webu
Comment[de]=Im Internet surfen
Comment[es]=Navegue por la web
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
Comment[fi]=Selaa Internetin WWW-sivuja
Comment[fr]=Navigue sur Internet
Comment[hu]=A világháló böngészése
Comment[it]=Esplora il web
Comment[ja]=
Comment[ko]=
Comment[nb]=Surf på nettet
Comment[nl]=Verken het internet
Comment[nn]=Surf på nettet
Comment[no]=Surf på nettet
Comment[pl]=Przeglądanie stron WWW
Comment[pt]=Navegue na Internet
Comment[pt_BR]=Navegue na Internet
Comment[sk]=Prehliadanie internetu
Comment[sv]=Surfa på webben
Exec=firefox %u
Icon=firefox
Terminal=false
@ -522,324 +49,230 @@ Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;profile-manager-window;
# Activable desktop file crashes KDE so remove it for now
# DBusActivatable=true
[Desktop Action new-window]
Name=New Window
Name[ach]=New Window
Name[af]=New Window
Name[an]=New Window
Name=Open a New Window
Name[ach]=Dirica manyen
Name[af]=Nuwe venster
Name[an]=Nueva finestra
Name[ar]=نافذة جديدة
Name[ast]=New Window
Name[az]=New Window
Name[as]=
Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn]=
Name[bn_BD]= (N)
Name[bn_IN]=
Name[br]=Prenestr nevez
Name[brx]= '(N)
Name[bs]=Novi prozor
Name[ca]=Finestra nova
Name[ca_valencia]=New Window
Name[cak]=K'ak'a' Tzuwäch
Name[cak]=K'ak'a' tzuwäch
Name[cs]=Nové okno
Name[cy]=Ffenestr Newydd
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[dsb]=Nowe wokno
Name[el]=Νέο παράθυρο
Name[en_CA]=New Window
Name[en_GB]=New Window
Name[en_US]=New Window
Name[en_ZA]=New Window
Name[eo]=Nova fenestro
Name[es_AR]=Nueva ventana
Name[es_CL]=Nueva ventana
Name[es_ES]=Nueva ventana
Name[es_MX]=Nueva ventana
Name[et]=New Window
Name[et]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید
Name[ff]=New Window
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fur]=Gnûf barcon
Name[fy_NL]=Nij finster
Name[ga_IE]=New Window
Name[ga_IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu_IN]=New Window
Name[gu_IN]= િ
Name[he]=חלון חדש
Name[hi_IN]=New Window
Name[hi_IN]= ि
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
Name[hy_AM]=Նոր պատուհան
Name[ia]=Nove fenestra
Name[hy_AM]=Նոր Պատուհան
Name[id]=Jendela Baru
Name[is]=Nýr gluggi
Name[it]=Nuova finestra
Name[ja]=
Name[ja_JP-mac]=
Name[ka]=
Name[kab]=Asfaylu amaynut
Name[kk]=Жаңа терезе
Name[km]=New Window
Name[kn]=New Window
Name[km]=
Name[kn]= ಿಿ
Name[ko]=
Name[lij]=Neuvo Barcon
Name[lt]=New Window
Name[kok]=
Name[ks]=نئئ وِنڈو
Name[lij]=Neuvo barcon
Name[lo]=
Name[lt]=Naujas langas
Name[ltg]=Jauns lūgs
Name[lv]=Jauns logs
Name[mk]=New Window
Name[mr]=New Window
Name[ms]=New Window
Name[my]=New Window
Name[mai]= ि
Name[mk]=Нов прозорец
Name[ml]=ി
Name[mr]=
Name[ms]=Tetingkap Baru
Name[my]=
Name[nb_NO]=Nytt vindu
Name[ne_NP]=
Name[nl]=Nieuw venster
Name[nn_NO]=Nytt vindauge
Name[oc]=Fenèstra novèla
Name[or]= ି
Name[pa_IN]= ਿ
Name[pl]=Nowe okno
Name[pt_BR]=Nova janela
Name[pt_PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=New Window
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sat]=
Name[sc]=Ventana noa
Name[sco]=New Window
Name[si]=
Name[sat]= ि (N)
Name[si]=
Name[sk]=Nové okno
Name[skr]=نویں ونڈو
Name[sl]=Novo okno
Name[son]=New Window
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv_SE]=Nytt fönster
Name[szl]=New Window
Name[ta]=New Window
Name[te]= ిి
Name[tg]=Равзанаи нав
Name[ta]=ி
Name[te]= ి
Name[th]=
Name[tl]=New Window
Name[tr]=Yeni pencere
Name[trs]=Bēntanâ nākàa
Name[tsz]=Eraatarakua jimpani
Name[uk]=Нове вікно
Name[ur]=New Window
Name[uz]=New Window
Name[ur]=نیا دریچہ
Name[uz]=Yangi oyna
Name[vi]=Ca s mi
Name[xh]=New Window
Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh_CN]=
Name[zh_TW]=
Exec=firefox --new-window %u
[Desktop Action new-private-window]
Name=New Private Window
Name[ach]=New Private Window
Name[af]=New Private Window
Name[an]=New Private Window
Name=Open a New Private Window
Name[ach]=Dirica manyen me mung
Name[af]=Nuwe privaatvenster
Name[an]=Nueva finestra privada
Name[ar]=نافذة خاصة جديدة
Name[ast]=New Private Window
Name[az]=New Private Window
Name[be]=Новае прыватнае акно
Name[bg]=Нов личен прозорец
Name[bn]= ি
Name[br]=Prenestr prevez nevez
Name[as]= ি
Name[ast]=Ventana privada nueva
Name[az]=Yeni Məxfi Pəncərə
Name[be]=Новае акно адасаблення
Name[bg]=Нов прозорец за поверително сърфиране
Name[bn_BD]= ি
Name[bn_IN]= ি
Name[br]=Prenestr merdeiñ prevez nevez
Name[brx]= '
Name[bs]=Novi privatni prozor
Name[ca]=Finestra privada nova
Name[ca_valencia]=New Private Window
Name[cak]=K'ak'a' Ichinan Tzuwäch
Name[cak]=K'ak'a' ichinan tzuwäch
Name[cs]=Nové anonymní okno
Name[cy]=Ffenestr Breifat Newydd
Name[da]=Nyt privat vindue
Name[de]=Neues privates Fenster
Name[dsb]=Nowe priwatne wokno
Name[el]=Νέο ιδιωτικό παράθυρο
Name[en_CA]=New Private Window
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
Name[en_GB]=New Private Window
Name[en_US]=New Private Window
Name[en_ZA]=New Private Window
Name[eo]=Nova privata fenestro
Name[es_AR]=Nueva ventana privada
Name[es_CL]=Nueva ventana privada
Name[es_ES]=Nueva ventana privada
Name[es_MX]=Nueva ventana privada
Name[et]=New Private Window
Name[et]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=New Private Window
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre privée
Name[fur]=Gnûf barcon privât
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy_NL]=Nij priveefinster
Name[ga_IE]=New Private Window
Name[ga_IE]=Fuinneog Nua Phríobháideach
Name[gd]=Uinneag phrìobhaideach ùr
Name[gl]=Nova xanela privada
Name[gn]=Ovetã ñemi pyahu
Name[gu_IN]=New Private Window
Name[gu_IN]= િ
Name[he]=חלון פרטי חדש
Name[hi_IN]=New Private Window
Name[hi_IN]= ि ि
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
Name[hy_AM]=Նոր գաղտնի պատուհան
Name[ia]=Nove fenestra private
Name[hy_AM]=Սկսել Գաղտնի դիտարկում
Name[id]=Jendela Mode Pribadi Baru
Name[is]=Nýr huliðsgluggi
Name[it]=Nuova finestra anonima
Name[ja]=
Name[ja_JP-mac]=
Name[ka]=
Name[kab]=Asfaylu amaynut n tunigin tusligt
Name[kk]=Жаңа жекелік терезе
Name[km]=New Private Window
Name[kn]=New Private Window
Name[ko]=
Name[lij]=Neuvo Barcon Privòu
Name[lt]=New Private Window
Name[km]=
Name[kn]= ಿ ಿಿ
Name[ko]=
Name[kok]= ि
Name[ks]=نْو پرایوٹ وینڈو&amp;
Name[lij]=Neuvo barcon privou
Name[lo]=
Name[lt]=Naujas privataus naršymo langas
Name[ltg]=Jauns privatais lūgs
Name[lv]=Jauns privātais logs
Name[mk]=New Private Window
Name[mr]=New Private Window
Name[ms]=New Private Window
Name[mai]= ि ि (W)
Name[mk]=Нов приватен прозорец
Name[ml]=ി
Name[mr]= ि
Name[ms]=Tetingkap Persendirian Baharu
Name[my]=New Private Window
Name[nb_NO]=Nytt privat vindu
Name[ne_NP]= ि
Name[nl]=Nieuw privévenster
Name[nn_NO]=Nytt privat vindauge
Name[oc]=Fenèstra privada novèla
Name[or]= ି ି
Name[pa_IN]= ਿ
Name[pl]=Nowe okno prywatne
Name[pt_BR]=Nova janela privativa
Name[pt_PT]=Nova janela privada
Name[rm]=Nova fanestra privata
Name[ro]=New Private Window
Name[ro]=Fereastră privată nouă
Name[ru]=Новое приватное окно
Name[sat]=
Name[sc]=Ventana privada noa
Name[sco]=New Private Window
Name[si]= .
Name[sk]=Nové súkromné okno
Name[skr]=نویں نجی ونڈو
Name[sat]= ि ि (W )
Name[si]= (W)
Name[sk]=Nové okno v režime Súkromné prehliadanie
Name[sl]=Novo zasebno okno
Name[son]=New Private Window
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватни прозор
Name[sr]=Нови приватан прозор
Name[sv_SE]=Nytt privat fönster
Name[szl]=New Private Window
Name[ta]=New Private Window
Name[te]= ి ిి
Name[tg]=Равзанаи хусусии нав
Name[ta]=ி ி
Name[te]= ి ి
Name[th]=
Name[tl]=New Private Window
Name[tr]=Yeni gizli pencere
Name[trs]=Bēntanâ huì nākàa
Name[tsz]=Juchiiti eraatarakua jimpani
Name[uk]=Приватне вікно
Name[ur]=New Private Window
Name[uz]=New Private Window
Name[ur]=نیا نجی دریچہ
Name[uz]=Yangi maxfiy oyna
Name[vi]=Ca s riêng tư mi
Name[xh]=New Private Window
Name[zh_CN]=
Name[zh_TW]=
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=
Name[zh_TW]=
Exec=firefox --private-window %u
[Desktop Action open-profile-manager]
Name=Open Profile Manager
Name[ach]=Open Profile Manager
Name[af]=Open Profile Manager
Name[an]=Open Profile Manager
Name[ar]=افتح مدير الملف الشخصي
Name[ast]=Open Profile Manager
Name[az]=Open Profile Manager
Name[be]=Адкрыць менеджар профіляў
Name[bg]=Отваряне на мениджъра на профили
Name[bn]=Open Profile Manager
Name[br]=Digeriñ an ardoer aeladoù
Name[bs]=Otvori Menadžera profila
Name[ca]=Obre el gestor de perfils
Name[ca_valencia]=Open Profile Manager
Name[cak]=Open Profile Manager
Name[cs]=Otevřete Správce profilů
Name[cy]=Agorwch y Rheolwr Proffil
Name[da]=Åbn profilhåndtering
[Desktop Action profile-manager-window]
Name=Open the Profile Manager
Name[cs]=Správa profilů
Name[de]=Profilverwaltung öffnen
Name[dsb]=Profilowy zastojnik wócyniś
Name[el]=Άνοιγμα Διαχείρισης προφίλ
Name[en_CA]=Open Profile Manager
Name[en_GB]=Open Profile Manager
Name[eo]=Malfermi administranton de profiloj
Name[es_AR]=Abrir administrador de perfiles
Name[es_CL]=Abrir administrador de perfiles
Name[es_ES]=Abrir administrador de perfiles
Name[es_MX]=Abrir administrador de perfiles
Name[et]=Open Profile Manager
Name[eu]=Ireki profilen kudeatzailea
Name[fa]=Open Profile Manager
Name[ff]=Open Profile Manager
Name[fi]=Avaa profiilien hallinta
Name[fr]=Ouvrir le gestionnaire de profils
Name[fur]=Vierç gjestôr profîi
Name[fy_NL]=Profylbehearder iepenje
Name[ga_IE]=Open Profile Manager
Name[gd]=Fosgail manaidsear nam pròifilean
Name[gl]=Abrir o xestor de perfís
Name[gn]=Embojuruja mbaete ñangarekoha
Name[gu_IN]=Open Profile Manager
Name[he]=פתיחת מנהל הפרופילים
Name[hi_IN]=Open Profile Manager
Name[hr]=Otvori upravljač profila
Name[hsb]=Zrjadowak profilow wočinić
Name[hu]=Profilkezelő megnyitása
Name[hy_AM]=Բացեք պրոֆիլի կառավարիչը
Name[ia]=Aperir le gestor de profilo
Name[id]=Buka Pengelola Profil
Name[is]=Opna umsýslu notandasniða
Name[it]=Apri gestore profili
Name[ja]=
Name[ka]=
Name[kab]=Ldi amsefrak n umaɣnu
Name[kk]=Профильдер бақарушысын ашу
Name[km]=Open Profile Manager
Name[kn]=Open Profile Manager
Name[ko]=
Name[lij]=Open Profile Manager
Name[lt]=Open Profile Manager
Name[lv]=Atvērt profilu pārvaldnieku
Name[mk]=Open Profile Manager
Name[mr]=Open Profile Manager
Name[ms]=Open Profile Manager
Name[my]=Open Profile Manager
Name[nb_NO]=Åpne profilbehandler
Name[ne_NP]=Open Profile Manager
Name[nl]=Profielbeheerder openen
Name[nn_NO]=Opne profilhandsaming
Name[oc]=Dobrir lo gestionari de perfils
Name[pa_IN]=
Name[pl]=Menedżer profili
Name[pt_BR]=Abrir gerenciador de perfis
Name[pt_PT]=Abrir o Gestor de Perfis
Name[rm]=Avrir l'administraziun da profils
Name[ro]=Open Profile Manager
Name[ru]=Открыть менеджер профилей
Name[sat]=
Name[sc]=Aberi su gestore de profilos
Name[sco]=Open Profile Manager
Name[si]=
Name[sk]=Otvoriť Správcu profilov
Name[skr]=پروفائل منیجر کھولو
Name[sl]=Odpri upravitelja profilov
Name[son]=Open Profile Manager
Name[sq]=Hapni Përgjegjës Profilesh
Name[sr]=Отворите управљач профила
Name[sv_SE]=Öppna Profilhanteraren
Name[szl]=Open Profile Manager
Name[ta]=Open Profile Manager
Name[te]=Open Profile Manager
Name[tg]=Кушодани мудири профилҳо
Name[th]=
Name[tl]=Open Profile Manager
Name[tr]=Profil yöneticisini aç
Name[trs]=Sa nīkāj ñuūnj nej perfî huā nìnï̀nj ïn
Name[uk]=Відкрити менеджер профілів
Name[ur]=Open Profile Manager
Name[uz]=Open Profile Manager
Name[vi]=M trình qun lý h sơ
Name[xh]=Open Profile Manager
Name[zh_CN]=
Name[zh_TW]=
Exec=firefox --ProfileManager

View file

@ -64,6 +64,7 @@ MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox"
MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE"
MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh"
GETENFORCE_FILE="/usr/sbin/getenforce"
##
@ -107,6 +108,12 @@ export MOZ_PLUGIN_PATH
##
export MOZ_APP_LAUNCHER="/__PREFIX__/bin/firefox"
##
## Set FONTCONFIG_PATH for Xft/fontconfig
##
FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
export FONTCONFIG_PATH
##
## We want Firefox to use Openh264 provided by Fedora.
##
@ -130,6 +137,17 @@ export MOZ_APP_LAUNCHER="/__PREFIX__/bin/firefox"
# export MOZ_DISABLE_PANGO
#
##
## Disable the GNOME crash dialog, Moz has it's own
##
GNOME_DISABLE_CRASH_DIALOG=1
export GNOME_DISABLE_CRASH_DIALOG
##
## Disable the SLICE allocator (rhbz#1014858)
##
export G_SLICE=always-malloc
##
## Enable Xinput2 (mozbz#1207973)
##
@ -167,7 +185,7 @@ fi
# (rhbz#1731371)
if [ $MOZILLA_DOWN -ne 0 ]; then
if [ -x $GETENFORCE_FILE ] && [ `$GETENFORCE_FILE` != "Disabled" ]; then
(restorecon -vr ~/.mozilla/firefox/*/gmp-widevinecdm/* &)
(restorecon -vr ~/.mozilla/firefox/* &)
fi
fi
@ -227,11 +245,41 @@ fi
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
export NSS_SSL_CBC_RANDOM_IV
# MOZ_APP_REMOTINGNAME links Firefox with desktop file name
# Prepare command line arguments
script_args=""
pass_arg_count=0
while [ $# -gt $pass_arg_count ]
do
case "$1" in
-g | --debug)
script_args="$script_args -g"
debugging=1
shift
;;
-d | --debugger)
if [ $# -gt 1 ]; then
script_args="$script_args -d $2"
shift 2
else
shift
fi
;;
*)
# Move the unrecognized argument to the end of the list.
arg="$1"
shift
set -- "$@" "$arg"
pass_arg_count=`expr $pass_arg_count + 1`
;;
esac
done
# We need to link Firefox with desktop file name
if [ -z "$MOZ_APP_REMOTINGNAME" ]
then
export MOZ_APP_REMOTINGNAME=__APP_NAME__
fi
export MOZ_DBUS_APP_NAME=firefox
# Flatpak specific environment variables
%FLATPAK_ENV_VARS%
@ -243,7 +291,7 @@ export MOZ_ALLOW_DOWNGRADE=1
debugging=0
if [ $debugging = 1 ]
then
echo $MOZ_PROGRAM "$@"
echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
fi
exec $MOZ_PROGRAM "$@"
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"

View file

@ -25,14 +25,6 @@ ExcludeArch: i686
# Disabled due to various issues now.
%global use_xdg_file_portal 0
# PipeWire camera is needed for IPU6 camera support in Fedora 41+
# https://fedoraproject.org/wiki/Changes/IPU6_Camera_support
%if 0%{?fedora} >= 41
%global use_pipewire_camera 1
%else
%global use_pipewire_camera 0
%endif
%global system_nss 1
%global system_libevent 1
%global build_with_asan 0
@ -42,22 +34,21 @@ ExcludeArch: i686
%global enable_replace_malloc 0
%endif
# wasi_sdk 25 is not compatible with llvm 18
%if 0%{?fedora} <= 40
%bcond wasi_sdk 0
# wasi_sdk is for sandboxing third party c/c++ libs by using rlbox, exclude s390x on the f39.
%if 0%{?fedora} < 40
%ifarch s390x
%bcond wasi_sdk 0
%else
%ifarch s390x
%bcond wasi_sdk 0
%else
%bcond wasi_sdk 1
%endif
%bcond wasi_sdk 1
%endif
%else
%bcond wasi_sdk 1
%endif
%bcond build_with_clang 0
%if %{with build_with_clang}
%global toolchain clang
%if "%{toolchain}" == "clang"
%global build_with_clang 1
%else
%global toolchain gcc
%global build_with_clang 0
%endif
%global gnome_shell_search_provider 0
@ -69,7 +60,7 @@ ExcludeArch: i686
# https://bugzilla.redhat.com/show_bug.cgi?id=1951606
%global enable_mozilla_crashreporter 0
%ifarch x86_64 %{ix86}
%global enable_mozilla_crashreporter 1
%global enable_mozilla_crashreporter 0
%endif
%if %{build_with_asan}
%global enable_mozilla_crashreporter 0
@ -89,9 +80,6 @@ ExcludeArch: i686
%global system_jpeg 1
%global system_pixman 1
%global system_webp 1
%global system_drm 1
%global system_gbm 1
%global system_pipewire 1
# Bundled cbindgen makes build slow.
# Enable only if system cbindgen is not available.
%if 0%{?rhel}
@ -119,12 +107,12 @@ ExcludeArch: i686
%endif
%if 0%{?build_with_pgo}
%global use_xvfb 0
%global use_xvfb 1
%global build_tests 1
%endif
%if 0%{?run_firefox_tests}
%global use_xvfb 0
%global use_xvfb 1
%global build_tests 1
%endif
@ -154,9 +142,9 @@ ExcludeArch: i686
%endif
%if %{?system_nss}
%global nspr_version 4.37
%global nspr_version 4.32
%global nspr_build_version %{nspr_version}
%global nss_version 3.119
%global nss_version 3.97
%global nss_build_version %{nss_version}
%endif
@ -176,7 +164,7 @@ ExcludeArch: i686
%if !%{release_build}
%global pre_tag .npgo
%endif
%if %{with build_with_clang}
%if %{build_with_clang}
%global pre_tag .clang
%endif
%if %{build_with_asan}
@ -200,18 +188,16 @@ ExcludeArch: i686
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 147.0
Release: 1%{?pre_tag}%{?dist}
Version: 126.0
Release: 7%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
# Automatically converted from old format: MPLv1.1 or GPLv2+ or LGPLv2+ - review is highly recommended.
License: LicenseRef-Callaway-MPLv1.1 OR GPL-2.0-or-later OR LicenseRef-Callaway-LGPLv2+
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
%if %{with langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20260106.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20240507.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source3: dump_syms-vendor.tar.xz
Source4: wasm-component-ld-vendor.tar.xz
Source10: firefox-mozconfig
Source12: firefox-redhat-default-prefs.js
Source20: firefox.desktop
@ -219,7 +205,7 @@ Source21: firefox.sh.in
Source23: firefox.1
Source24: mozilla-api-key
Source25: firefox-symbolic.svg
Source26: distribution.ini.in
Source26: distribution.ini
Source27: google-api-key
Source28: firefox-wayland.sh.in
Source29: firefox-wayland.desktop
@ -244,21 +230,35 @@ Source48: org.mozilla.firefox.appdata.xml.in
Source49: wasi.patch.template
# Created by:
# git clone --recursive https://github.com/WebAssembly/wasi-sdk.git
# cd wasi-sdk && git-archive-all --force-submodules wasi-sdk-25.tar.gz
Source50: wasi-sdk-25.tar.gz
# cd wasi-sdk && git-archive-all --force-submodules wasi-sdk-20.tar.gz
Source50: wasi-sdk-20.tar.gz
# Build patches
#Patch3: mozilla-build-arm.patch
Patch32: build-rust-ppc64le.patch
Patch35: build-ppc-jit.patch
# Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x)
Patch38: build-cacheFlush-missing.patch
Patch40: build-aarch64-skia.patch
Patch44: build-arm-libopus.patch
Patch46: firefox-nss-version.patch
Patch47: fedora-shebang-build.patch
Patch53: firefox-gcc-build.patch
Patch54: mozilla-1669639.patch
Patch55: firefox-testing.patch
Patch61: firefox-glibc-dynstack.patch
Patch71: 0001-GLIBCXX-fix-for-GCC-12.patch
Patch78: firefox-i686-build.patch
Patch79: firefox-gcc-13-build.patch
Patch80: wasi.patch
Patch81: firefox-gcc-15.0-s390.patch
Patch82: build-c11-threads-avail.patch
Patch83: build-seccomp.patch
# Test patches
# Generate without context by
# GENDIFF_DIFF_ARGS=-U0 gendiff firefox-xxxx .firefox-tests-xpcshell
# GENDIFF_DIFF_ARGS=-U0 gendiff firefox-xxxx .firefox-tests-reftest
Patch100: firefox-tests-xpcshell.patch
Patch101: firefox-tests-reftest.patch
Patch102: firefox-tests-xpcshell-freeze.patch
# Fedora specific patches
Patch215: firefox-enable-addons.patch
@ -267,19 +267,37 @@ Patch219: rhbz-1173156.patch
Patch226: rhbz-1354671.patch
Patch228: disable-openh264-download.patch
Patch229: firefox-nss-addon-hack.patch
Patch230: firefox-enable-vaapi.patch
Patch231: fedora-customization.patch
Patch241: 0025-Add-KDE-integration-to-Firefox-toolkit-parts.patch
Patch242: 0026-Add-KDE-integration-to-Firefox.patch
# Upstream patches
Patch400: mozilla-1196777.patch
Patch401: mozilla-1667096.patch
Patch402: mozilla-1196777.patch
Patch407: mozilla-1667096.patch
# https://webrtc-review.googlesource.com/c/src/+/349881
Patch410: libwebrtc-video-capture-pipewire-drop-corrupted-buffers.patch
Patch420: D209910.1715685533.diff
Patch421: D209911.1715685535.diff
Patch422: D210158.1715685536.diff
Patch423: D210159.1715685538.diff
Patch424: D210430.1715848796.diff
# PGO/LTO patches
Patch600: pgo.patch
Patch602: mozilla-1516803.patch
Patch603: firefox-gcc-always-inline.patch
# system AV1 patches (from Gentoo)
Patch800: bmo-1559213-Support-system-av1.patch
Patch801: bmo-1559213-fix-system-av1-libs.patch
# tentative patch for RUSTFLAGS parsing issue:
# https://bugzilla.redhat.com/show_bug.cgi?id=2184743
# https://bugzilla.mozilla.org/show_bug.cgi?id=1474486
# not upstreaming till I'm more sure it's correct
Patch1200: firefox-112.0-commasplit.patch
%if %{?system_nss}
BuildRequires: pkgconfig(nspr) >= %{nspr_version}
@ -321,25 +339,16 @@ BuildRequires: pkgconfig(libwebpdemux) >= %{libwebp_version}
%endif
BuildRequires: autoconf213
BuildRequires: pkgconfig(libpulse)
BuildRequires: yasm
BuildRequires: llvm
BuildRequires: llvm-devel
BuildRequires: clang
BuildRequires: clang-libs
%if %{with build_with_clang} || %{with wasi_sdk}
%if %{build_with_clang} || %{with wasi_sdk}
BuildRequires: lld
%endif
%if %{?system_drm}
BuildRequires: libdrm-devel
%endif
%if %{?system_gbm}
BuildRequires: mesa-libgbm-devel
%endif
%if %{?system_pipewire}
BuildRequires: pipewire-devel
%endif
%if !0%{?use_bundled_cbindgen}
BuildRequires: cbindgen
@ -353,7 +362,7 @@ BuildRequires: icu
%endif
Requires: mozilla-filesystem
Requires: (mozilla-openh264 >= 2.1.1 if openh264)
Recommends: mozilla-openh264 >= 2.1.1
%if %{with langpacks_subpkg}
Recommends: firefox-langpacks = %{version}-%{release}
%else
@ -462,24 +471,15 @@ BuildRequires: libstdc++-static
%if %{with wasi_sdk}
BuildRequires: clang cmake ninja-build
%endif
Recommends: speech-dispatcher
Recommends: speech-dispatcher-utils
%if %{with build_with_clang}
BuildRequires: compiler-rt
%endif
Obsoletes: mozilla <= 37:1.7.13
Provides: webclient
# Don't ship firefox-x11 and firefox-wayland on Fedora 40.
# Wayland backend is considered as mature enough now.
# We need to use v-r in Obsoletes because new versions of this
# package keep being built in older releases, and we want to
# obsolete all of them when the user updates to F40+.
%if 0%{?fedora} >= 40
Obsoletes: firefox-wayland < %{version}-%{release}
Obsoletes: firefox-x11 < %{version}-%{release}
Obsoletes: firefox-wayland < 122.0-2
Obsoletes: firefox-x11 < 122.0-2
%endif
%description
@ -562,46 +562,63 @@ This package contains results of tests executed during build.
# there is a compare of config and js/config directories and .orig suffix is
# ignored during this compare.
%patch -P40 -p1 -b .aarch64-skia
%patch -P44 -p1 -b .build-arm-libopus
%patch -P53 -p1 -b .firefox-gcc-build
%patch -P71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
%patch -P78 -p1 -b .firefox-i686
%patch -P79 -p1 -b .firefox-gcc-13-build
%patch -P81 -p1 -b .firefox-gcc-15.0-s390
%if 0%{?fedora} >= 44
%patch -P82 -p1 -b .build-c11-threads-avail
%patch -P83 -p1 -b .build-seccomp
%endif
%patch40 -p1 -b .aarch64-skia
%patch44 -p1 -b .build-arm-libopus
%patch47 -p1 -b .fedora-shebang
%patch53 -p1 -b .firefox-gcc-build
%patch54 -p1 -b .1669639
%patch71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
%patch78 -p1 -b .firefox-i686
%patch79 -p1 -b .firefox-gcc-13-build
# We need to create the wasi.patch with the correct path to the wasm libclang_rt.
%if %{with wasi_sdk}
cat %{SOURCE49} | sed -e "s|LIBCLANG_RT_PLACEHOLDER|`pwd`/wasi-sdk-25/build/sysroot/install/wasi-resource-dir/lib/wasi/libclang_rt.builtins-wasm32.a|" > %{_sourcedir}/wasi.patch
%patch -P80 -p1 -b .wasi
export LIBCLANG_RT=`pwd`/wasi-sdk-20/build/compiler-rt/lib/wasi/libclang_rt.builtins-wasm32.a; cat %{SOURCE49} | envsubst > %{_sourcedir}/wasi.patch
%patch80 -p1 -b .wasi
%endif
# Test patches
#%patch100 -p1 -b .firefox-tests-xpcshell
#%patch101 -p1 -b .firefox-tests-reftest
#%patch102 -p1 -b .firefox-tests-xpcshell-freeze
# Fedora patches
%patch -P215 -p1 -b .addons
%patch -P219 -p1 -b .rhbz-1173156
%patch215 -p1 -b .addons
%patch219 -p1 -b .rhbz-1173156
#ARM run-time patch
%ifarch aarch64
%patch -P226 -p1 -b .1354671
%patch226 -p1 -b .1354671
%endif
%patch -P228 -p1 -b .disable-openh264-download
%patch -P229 -p1 -b .firefox-nss-addon-hack
%patch -P231 -p1 -b .fedora-customization
%patch228 -p1 -b .disable-openh264-download
%patch229 -p1 -b .firefox-nss-addon-hack
%patch230 -p1 -b .firefox-enable-vaapi
%patch231 -p1 -b .fedora-customization
#%patch241 -p1 -b .kde-integration-toolkit
#%patch242 -p1 -b .kde-integration
%patch -P400 -p1 -b .1196777
%patch -P401 -p1 -b .1667096
%patch402 -p1 -b .1196777
%patch407 -p1 -b .1667096
%patch410 -p1 -b .libwebrtc-video-capture-pipewire-drop-corrupted-buffers
%patch420 -p1 -b .D209910.1715685533
%patch421 -p1 -b .D209911.1715685535
%patch422 -p1 -b .D210158.1715685536
%patch423 -p1 -b .D210159.1715685538
%patch424 -p1 -b .D210430.1715848796
# PGO patches
%if %{build_with_pgo}
%if !%{with build_with_clang}
%patch -P600 -p1 -b .pgo
%patch -P602 -p1 -b .1516803
%if !%{build_with_clang}
%patch600 -p1 -b .pgo
%patch602 -p1 -b .1516803
%endif
%endif
%patch -P603 -p1 -b .inline
%patch603 -p1 -b .inline
#%patch800 -p1 -b .system-av1
#%patch801 -p1 -b .system-av1-fixup
%patch1200 -p1 -b .rustflags-commasplit
rm -f .mozconfig
cp %{SOURCE10} .mozconfig
@ -698,24 +715,6 @@ echo "ac_add_options --with-system-webp" >> .mozconfig
echo "ac_add_options --without-system-webp" >> .mozconfig
%endif
%if %{?system_drm}
echo "ac_add_options --with-system-libdrm" >> .mozconfig
%else
echo "ac_add_options --without-system-libdrm" >> .mozconfig
%endif
%if %{?system_gbm}
echo "ac_add_options --with-system-gbm" >> .mozconfig
%else
echo "ac_add_options --without-system-gbm" >> .mozconfig
%endif
%if %{?system_pipewire}
echo "ac_add_options --with-system-pipewire" >> .mozconfig
%else
echo "ac_add_options --without-system-pipewire" >> .mozconfig
%endif
%ifarch s390x
echo "ac_add_options --disable-jit" >> .mozconfig
%endif
@ -757,31 +756,8 @@ chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
#WASI SDK
%if %{with wasi_sdk}
pushd wasi-sdk-25
mkdir -p my_rust_vendor
cd my_rust_vendor
tar xf %{SOURCE4}
mkdir -p .cargo
cat > .cargo/config <<EOL
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "`pwd`"
EOL
cd -
CARGO_HOME=`pwd`/my_rust_vendor/.cargo NINJA_FLAGS=-v CC=clang CXX=clang++ env -u CFLAGS -u CXXFLAGS -u FFLAGS -u VALFLAGS -u RUSTFLAGS -u LDFLAGS -u LT_SYS_LIBRARY_PATH cmake -G Ninja -B build/toolchain -S . -DWASI_SDK_BUILD_TOOLCHAIN=ON -DCMAKE_INSTALL_PREFIX=build/install
CARGO_HOME=`pwd`/my_rust_vendor/.cargo NINJA_FLAGS=-v CC=clang CXX=clang++ env -u CFLAGS -u CXXFLAGS -u FFLAGS -u VALFLAGS -u RUSTFLAGS -u LDFLAGS -u LT_SYS_LIBRARY_PATH cmake --build build/toolchain --target install
CARGO_HOME=`pwd`/my_rust_vendor/.cargo NINJA_FLAGS=-v CC=clang CXX=clang++ env -u CFLAGS -u CXXFLAGS -u FFLAGS -u VALFLAGS -u RUSTFLAGS -u LDFLAGS -u LT_SYS_LIBRARY_PATH cmake -G Ninja -B build/sysroot -S . \
-DCMAKE_INSTALL_PREFIX=build/install \
-DCMAKE_TOOLCHAIN_FILE=build/install/share/cmake/wasi-sdk.cmake \
-DCMAKE_C_COMPILER_WORKS=ON \
-DCMAKE_CXX_COMPILER_WORKS=ON
CARGO_HOME=`pwd`/my_rust_vendor/.cargo NINJA_FLAGS=-v CC=clang CXX=clang++ env -u CFLAGS -u CXXFLAGS -u FFLAGS -u VALFLAGS -u RUSTFLAGS -u LDFLAGS -u LT_SYS_LIBRARY_PATH cmake --build build/sysroot --target install
pushd wasi-sdk-20
NINJA_FLAGS=-v CC=clang CXX=clang++ env -u CFLAGS -u CXXFLAGS -u FFLAGS -u VALFLAGS -u RUSTFLAGS -u LDFLAGS -u LT_SYS_LIBRARY_PATH make package
popd
%endif
# ^ with wasi_sdk
@ -832,8 +808,6 @@ cp %{SOURCE32} %{_buildrootdir}/bin || :
find ./ -path ./third_party/rust -prune -o -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
MOZ_OPT_FLAGS=$(echo "%{optflags}" | sed -e 's/-Wall//')
# Firefox is not supposed to build with exceptions globally enabled
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-fexceptions//')
#rhbz#1037063
# -Werror=format-security causes build failures when -Wno-format is explicitly given
# for some sources
@ -849,7 +823,7 @@ MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-O2//')
# If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which
# overrides the -g1 from line above and breaks building on s390/arm
# (OOM when linking, rhbz#1238225)
%ifarch %{ix86} ppc64le
%ifarch %{ix86}
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-g/-g0/')
%else
# this reduces backtrace quality substantially, but seems to be needed
@ -859,12 +833,12 @@ MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-g/-g1/')
%endif
export MOZ_DEBUG_FLAGS=" "
MOZ_LINK_FLAGS="%{build_ldflags}"
%if !%{with build_with_clang}
%ifarch aarch64 %{ix86} ppc64le x86_64
MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--no-keep-memory"
%if !%{build_with_clang}
%ifarch aarch64 %{ix86}
MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif
%endif
%ifarch %{ix86} s390x ppc64le
%ifarch %{ix86} s390x
export RUSTFLAGS="-Cdebuginfo=0"
%endif
%if %{build_with_asan}
@ -879,7 +853,7 @@ echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
%if %{with build_with_clang}
%if %{build_with_clang}
echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig
echo "export AR=\"llvm-ar\"" >> .mozconfig
echo "export NM=\"llvm-nm\"" >> .mozconfig
@ -903,7 +877,7 @@ echo "ac_add_options MOZ_PGO=1" >> .mozconfig
%endif
%if %{with wasi_sdk}
echo "ac_add_options --with-wasi-sysroot=`pwd`/wasi-sdk-25/build/sysroot/install/share/wasi-sysroot" >> .mozconfig
echo "ac_add_options --with-wasi-sysroot=`pwd`/wasi-sdk-20/build/install/opt/wasi-sdk/share/wasi-sysroot" >> .mozconfig
%else
echo "ac_add_options --without-sysroot" >> .mozconfig
echo "ac_add_options --without-wasm-sandboxed-libraries" >> .mozconfig
@ -1016,7 +990,6 @@ install -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1
rm -f %{buildroot}/%{mozappdir}/firefox-config
rm -f %{buildroot}/%{mozappdir}/update-settings.ini
rm -f %{buildroot}/%{mozappdir}/firefox-bin
for s in 16 22 24 32 48 256; do
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
@ -1120,17 +1093,12 @@ cp %{SOURCE12} %{buildroot}%{mozappdir}/browser/defaults/preferences
echo 'pref("widget.use-xdg-desktop-portal.file-picker", 1);' >> %{buildroot}%{mozappdir}/browser/defaults/preferences/firefox-redhat-default-prefs.js
%endif
%if %{?use_pipewire_camera}
echo 'pref("media.webrtc.camera.allow-pipewire", true);' >> %{buildroot}%{mozappdir}/browser/defaults/preferences/firefox-redhat-default-prefs.js
%endif
# Copy over run-mozilla.sh
cp build/unix/run-mozilla.sh %{buildroot}%{mozappdir}
# Add distribution.ini
mkdir -p %{buildroot}%{mozappdir}/distribution
sed -e "s/__NAME__/%(source /etc/os-release; echo ${NAME})/" \
-e "s/__ID__/%(source /etc/os-release; echo ${ID})/" \
-e "s/rhel/redhat/" \
-e "s/Fedora.*/Fedora/" \
%{SOURCE26} > %{buildroot}%{mozappdir}/distribution/distribution.ini
cp %{SOURCE26} %{buildroot}%{mozappdir}/distribution
# Install appdata file
mkdir -p %{buildroot}%{_datadir}/metainfo
@ -1199,6 +1167,7 @@ fi
%endif
%{_bindir}/firefox
%{mozappdir}/firefox
%{mozappdir}/firefox-bin
%{mozappdir}/glxtest
%doc %{_mandir}/man1/*
%dir %{_sysconfdir}/%{name}
@ -1217,8 +1186,10 @@ fi
%{_datadir}/metainfo/*.appdata.xml
%dir %{mozappdir}
%license %{mozappdir}/LICENSE
%{mozappdir}/browser
%{mozappdir}/distribution
%{mozappdir}/browser/chrome
%{mozappdir}/browser/defaults/preferences/firefox-redhat-default-prefs.js
%{mozappdir}/browser/features/*.xpi
%{mozappdir}/distribution/distribution.ini
# That's Windows only
%ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi
%if %{without langpacks_subpkg}
@ -1226,6 +1197,8 @@ fi
%dir %{langpackdir}
%endif
%endif
%{mozappdir}/browser/omni.ja
%{mozappdir}/run-mozilla.sh
%{mozappdir}/application.ini
%{mozappdir}/pingsender
%exclude %{mozappdir}/removed-files
@ -1242,7 +1215,7 @@ fi
%{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg
%if %{enable_mozilla_crashreporter}
%{mozappdir}/crashreporter
%{mozappdir}/crashhelper
%{mozappdir}/minidump-analyzer
%endif
%{mozappdir}/*.so
%{mozappdir}/defaults/pref/channel-prefs.js
@ -1251,8 +1224,8 @@ fi
%{mozappdir}/omni.ja
%{mozappdir}/platform.ini
%{mozappdir}/gmp-clearkey
%{mozappdir}/fonts
%ifarch aarch64 riscv64
%{mozappdir}/fonts/TwemojiMozilla.ttf
%ifarch aarch64
%{mozappdir}/v4l2test
%endif
%{mozappdir}/vaapitest
@ -1266,317 +1239,6 @@ fi
#---------------------------------------------------------------------
%changelog
* Tue Jan 06 2026 Martin Stransky <stransky@redhat.com> - 147.0-1
- Updated to 147.0
* Fri Dec 19 2025 Martin Stransky <stransky@redhat.com> - 146.0.1-1
- Updated to 146.0.1
* Wed Dec 17 2025 Martin Stransky <stransky@redhat.com> - 146.0-6
- Added upstream patch IWYU (libwebrtc IWYU fixes for PipeWire)
- Claude AI assisted editing (failed to do whole work, but it was close!)
* Wed Dec 17 2025 Martin Stransky <stransky@redhat.com> - 146.0-5
- Removed firefox-bin from man pages
* Thu Dec 11 2025 Martin Stransky <stransky@redhat.com> - 146.0-4
- Removed firefox-bin
* Thu Dec 11 2025 Martin Stransky <stransky@redhat.com> - 146.0-3
- Added aarch64 crash fix
- Fixed rawhide gcc build (kudos to jhorak who hacked it! He's just awesome.)
* Mon Dec 08 2025 Martin Stransky <stransky@redhat.com> - 146.0-2
- Updated to 146.0 build 2
* Wed Dec 03 2025 Martin Stransky <stransky@redhat.com> - 146.0-1
- Updated to 146.0
* Wed Nov 19 2025 Martin Stransky <stransky@redhat.com> - 145.0.1-1
- Updated to 145.0.1
* Tue Nov 11 2025 Martin Stransky <stransky@redhat.com> - 145.0-2
- Updated to 145.0 B2
* Wed Nov 05 2025 Martin Stransky <stransky@redhat.com> - 145.0-1
- Updated to 145.0
* Thu Oct 30 2025 Martin Stransky <stransky@redhat.com> - 144.0.2-1
- Updated to 144.0.2
* Thu Oct 16 2025 Martin Stransky <stransky@redhat.com> - 144.0-3
- Add fix for mzbz#1990430
* Mon Oct 13 2025 Martin Stransky <stransky@redhat.com> - 144.0-2
- Updated to 144.0 (b2)
* Thu Oct 09 2025 Martin Stransky <stransky@redhat.com> - 144.0-1
- Updated to 144.0
* Mon Oct 06 2025 Martin Stransky <stransky@redhat.com> - 143.0.4-1
- Updated to 143.0.4
* Tue Sep 30 2025 Martin Stransky <stransky@redhat.com> - 143.0.3-1
- Updated to 143.0.3
* Fri Sep 26 2025 Martin Stransky <stransky@redhat.com> - 143.0.1-3
- Added fix for mzbz#1990162
* Thu Sep 25 2025 Martin Stransky <stransky@redhat.com> - 143.0.1-2
- Added fix for mzbz#1984368
* Fri Sep 19 2025 Martin Stransky <stransky@redhat.com> - 143.0.1-1
- Updated to 143.0.1
* Wed Sep 10 2025 Martin Stransky <stransky@redhat.com> - 143.0-1
- Updated to 143.0
* Wed Aug 27 2025 Martin Stransky <stransky@redhat.com> - 142.0.1-1
- Updated to 142.0.1
* Mon Aug 25 2025 Tom Stellard <tstellar@redhat.com> - 142.0-3
- Fix build with llvm-21
* Sat Aug 23 2025 Dominik Mierzejewski <dominik@greysector.net> - 142.0-2
- Drop unused yasm build dependency, part of:
https://fedoraproject.org/wiki/Changes/DeprecateYASM
* Tue Aug 12 2025 Martin Stransky <stransky@redhat.com> - 142.0-1
- Updated to 142.0
* Mon Aug 11 2025 Martin Stransky <stransky@redhat.com> - 141.0.3-1
- Updated to 141.0.3
* Wed Aug 6 2025 Martin Stransky <stransky@redhat.com> - 141.0.2-1
- Updated to 141.0.2
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 141.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jul 18 2025 Martin Stransky <stransky@redhat.com> - 141.0-2
- Respin 141.0 build 2
* Thu Jul 17 2025 Martin Stransky <stransky@redhat.com> - 141.0-1
- Update to latest upstream (141.0)
* Wed Jul 09 2025 Martin Stransky <stransky@redhat.com> - 140.0.4-1
- Update to latest upstream (140.0.4)
* Fri Jun 27 2025 Martin Stransky <stransky@redhat.com> - 140.0.1-1
- Update to latest upstream (140.0.1)
* Tue Jun 17 2025 Martin Stransky <stransky@redhat.com> - 140.0-1
- Update to latest upstream (140.0)
* Wed Jun 11 2025 Martin Stransky <stransky@redhat.com> - 139.0.4-2
- Use headless Mutter to run PGO builds
* Wed Jun 11 2025 Martin Stransky <stransky@redhat.com> - 139.0.4-1
- Updated to latest upstream (139.0.4)
* Fri Jun 6 2025 Martin Stransky <stransky@redhat.com> - 139.0-3
- Updated desktop file translation (rhbz#2362155)
* Fri May 30 2025 Jan Grulich <jgrulich@redhat.com> - 139.0-2
- Use system libraries for drm/gbm/pipewire
* Tue May 27 2025 Martin Stransky <stransky@redhat.com> - 139.0-1
- Updated to 139.0
* Mon May 19 2025 Martin Stransky <stransky@redhat.com> - 138.0.4-1
- Updated to 138.0.4
* Wed May 14 2025 Martin Stransky <stransky@redhat.com> - 138.0.3-2
- Fixed rhbz#2283790
* Mon May 12 2025 Martin Stransky <stransky@redhat.com> - 138.0.3-1
- Updated to 138.0.3
* Thu May 1 2025 Martin Stransky <stransky@redhat.com> - 138.0.1-1
- Updated to 138.0.1
* Sat Apr 26 2025 Bojan Smojver <bojan@rexursive.com> - 138.0-1
- Add fix for mzbz#1957628
- Remove browser/features/*.xpi files, no longer shipped
* Tue Apr 22 2025 Martin Stransky <stransky@redhat.com> - 138.0-1
- Updated to 138.0
* Tue Apr 22 2025 Martin Stransky <stransky@redhat.com> - 137.0.2-3
- Added fix for rhbz#2358565
* Wed Apr 16 2025 Martin Stransky <stransky@redhat.com> - 137.0.2-2
- Added fix for mzbz#1951249
* Wed Apr 16 2025 Martin Stransky <stransky@redhat.com> - 137.0.2-1
- Update 137.0.2
* Mon Apr 14 2025 Martin Stransky <stransky@redhat.com> - 137.0.1-1
- Update 137.0.1
* Mon Mar 31 2025 Martin Stransky <stransky@redhat.com> - 137.0-2
- Update 137.0 build 2
* Wed Mar 26 2025 Martin Stransky <stransky@redhat.com> - 137.0-1
- Update to latest upstream (137.0)
* Tue Mar 25 2025 Martin Stransky <stransky@redhat.com> - 136.0.3-1
- Revert rhbz#2353895 as it looks broken
- Update to latest upstream (136.0.3)
* Mon Mar 24 2025 Martin Stransky <stransky@redhat.com> - 136.0.2-2
- Stop overriding user settings on every update (rhbz#2353895)
- Remove browser.display.use_system_colors override (rhbz#2353953)
* Wed Mar 19 2025 Martin Stransky <stransky@redhat.com> - 136.0.2-1
- Updated to 136.0.2
* Wed Mar 12 2025 Martin Stransky <stransky@redhat.com> - 136.0.1-1
- Updated to 136.0.1
* Fri Feb 28 2025 Martin Stransky <stransky@redhat.com> - 136.0-2
- Updated to 136.0 Build 3
* Tue Feb 25 2025 Martin Stransky <stransky@redhat.com> - 136.0-1
- Updated to 136.0
* Wed Feb 19 2025 Martin Stransky <stransky@redhat.com> - 135.0.1-1
- Updated to 135.0.1
* Tue Feb 04 2025 Martin Stransky <stransky@redhat.com> - 135.0-1
- Updated to 135.0
* Tue Jan 28 2025 Martin Stransky <stransky@redhat.com> - 134.0.2-2
- Call restorecon for widevine only (rhbz#2342243)
* Wed Jan 22 2025 Martin Stransky <stransky@redhat.com> - 134.0.2-1
- Updated to 134.0.2
* Wed Jan 15 2025 Martin Stransky <stransky@redhat.com> - 134.0.1-1
- Updated to 134.0.1
* Thu Jan 02 2025 Martin Stransky <stransky@redhat.com> - 134.0-1
- Updated to 134.0
* Mon Dec 16 2024 Martin Stransky <stransky@redhat.com> - 133.0.3-2
- Remove MOZ_DBUS_APP_NAME from launch script as it breaks Thunderbird (rhbz#2320090)
* Wed Dec 11 2024 Martin Stransky <stransky@redhat.com> - 133.0.3-1
- Updated to 133.0.3
* Sat Nov 30 2024 Martin Stransky <stransky@redhat.com> - 133.0-2
- Add fix for mzbz#1934217
* Fri Nov 22 2024 Martin Stransky <stransky@redhat.com> - 133.0-1
- Updated to latest upstream (133.0)
* Mon Nov 18 2024 Martin Stransky <stransky@redhat.com> - 132.0.2-2
- Added memory saving flags to x86_64
* Fri Nov 15 2024 Martin Stransky <stransky@redhat.com> - 132.0.2-1
- Updated to 132.0.2
- Try to reduce build mem usage on ppc64le
* Thu Nov 07 2024 Jan Grulich <jgrulich@redhat.com> - 132.0.1-2
- PipeWire camera: use better unique device name for camera devices
* Tue Nov 05 2024 Martin Stransky <stransky@redhat.com> - 132.0.1-1
- Updated to 132.0.1
* Fri Oct 25 2024 Martin Stransky <stransky@redhat.com> - 132.0-2
- Enabled PGO
* Wed Oct 23 2024 Martin Stransky <stransky@redhat.com> - 132.0-1
- Updated to 132.0
* Mon Oct 21 2024 Martin Stransky <stransky@redhat.com> - 131.0.3-3
- Backported hi-res mouse scrolling and
hold touchpad gesture support for Fedora 41
* Tue Oct 15 2024 Martin Stransky <stransky@redhat.com> - 131.0.3-1
- Updated to 131.0.3
* Wed Oct 09 2024 Martin Stransky <stransky@redhat.com> - 131.0.2-1
- Updated to 131.0.2
* Mon Sep 30 2024 Martin Stransky <stransky@redhat.com> - 131.0-2
- Fix regression from mzbz#1634961 - enable Gnome Shell search in opened tabs
- Temporary disabled PGO due to build issues.
* Wed Sep 25 2024 Martin Stransky <stransky@redhat.com> - 131.0-1
- Added fix for mzbz#1634961 - enable Gnome Shell search in opened tabs
- Updated to 131.0
* Mon Sep 23 2024 Jan Grulich <jgrulich@redhat.com> - 130.0.1-3
- Fix PipeWire camera support enablement for F41+
- Additional WebRTC backports for PipeWire camera support
* Fri Sep 20 2024 Songsong Zhang <U2FsdGVkX1@gmail.com> - 130.0.1-2
- Add v4l2test file for RISC-V
* Wed Sep 18 2024 Martin Stransky <stransky@redhat.com> - 130.0.1-1
- Updated to 130.0.1
* Sun Sep 08 2024 Jan Grulich <jgrulich@redhat.com> - 130.0-5
- PipeWire camera support: backport set of upstream patches
* Fri Sep 6 2024 Martin Stransky <stransky@redhat.com> - 130.0-4
- Added fix for mzbz#1916038
* Thu Sep 5 2024 Martin Stransky <stransky@redhat.com> - 130.0-3
- Downgrade libyuv to fix AVIF image rendering
* Fri Aug 30 2024 Martin Stransky <stransky@redhat.com> - 130.0-2
- Updated to 130.0 build 2
* Wed Aug 28 2024 Martin Stransky <stransky@redhat.com> - 130.0-1
- Update to 130.0
* Wed Aug 28 2024 Miroslav Suchý <msuchy@redhat.com> - 129.0.2-2
- convert license to SPDX
* Tue Aug 20 2024 Martin Stransky <stransky@redhat.com> - 129.0.2-1
- Update to 129.0.2
* Mon Aug 19 2024 Jan Grulich <jgrulich@redhat.com> - 129.0-4
- WebRTC backport: Filter out camera devices with no capabilities
* Thu Aug 15 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 129.0-3
- Add conditional hard dependency on mozilla-openh264, always required if openh264 is installed
* Tue Aug 13 2024 Jan Grulich <jgrulich@redhat.com> - 129.0-2
- Enable PipeWire camera support for F41+
* Tue Jul 30 2024 Martin Stransky <stransky@redhat.com> - 129.0-1
- Update to 129.0
* Mon Jul 29 2024 Martin Stransky <stransky@redhat.com> - 128.0.3-1
- Update to 128.0.3
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 128.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jul 12 2024 Martin Stransky <stransky@redhat.com> - 128.0-2
- Added fix for mzbz#1907511
* Tue Jul 2 2024 Martin Stransky <stransky@redhat.com> - 128.0-1
- Update to 128.0
* Tue Jul 2 2024 Martin Stransky <stransky@redhat.com> - 127.0.2-2
- Allow to override MOZ_DBUS_APP_NAME
* Tue Jun 25 2024 Martin Stransky <stransky@redhat.com> - 127.0.2-1
- Update to 127.0.2
* Fri Jun 14 2024 Jan Grulich <jgrulich@redhat.com> - 127.0-2
- Fix duplicated camera entries with PipeWire
* Mon Jun 10 2024 Jan Horak <jhorak@redhat.com> - 127.0-1
- Update to 127.0
* Tue May 21 2024 Jan Horak <jhorak@redhat.com> - 126.0-8
- Enabled crashreporter again
* Mon May 20 2024 Martin Stransky <stransky@redhat.com>- 126.0-7
- Gnome search service tweak

View file

@ -1,21 +0,0 @@
#!/bin/bash
if [ -z $1 ]; then
echo "Fixes .cargo-checksum.json by removing deleted files and recompute sha256sum"
echo "Usage: $0 .cargo-checksum.json"
exit
fi
FILE=$1
#set -x
cp $FILE $1.backup
for i in $(cat .cargo-checksum.json|jq -r '.files| keys[]'); do
if [ ! -f $i ]; then
#echo $i non exist
sed -ie "s|\"$i\":\"[^\"]*\",||" $FILE
else
SHA=`sha256sum $i | cut -d " " -f1`
sed -ie "s|\"$i\":\"[^\"]*\"|\"$i\":\"$SHA\"|" $FILE
fi
#echo $i
done

View file

@ -12,7 +12,7 @@ to be used with 'cargo vendor' commmand.
"""
[dependencies]
cbindgen = "0.29.1"
cbindgen = "0.26.0"
[[bin]]
name = "dummy"

View file

@ -12,8 +12,7 @@ to be used with 'cargo vendor' commmand.
"""
[dependencies]
dump_syms = "=2.3.2"
time = "0.3.36"
dump_syms = "2.3.1"
[[bin]]
name = "dummy"

View file

@ -0,0 +1,51 @@
From b7653310766909158a4781fe9def5fb8e9414d1a Mon Sep 17 00:00:00 2001
From: Jan Grulich <grulja@gmail.com>
Date: Mon, 06 May 2024 11:20:27 +0200
Subject: [PATCH] Video capture PipeWire: drop corrupted PipeWire buffers
Use SPA_CHUNK_FLAG_CORRUPTED and SPA_META_HEADER_FLAG_CORRUPTED flags to
determine corrupted buffers or corrupted buffer data. We used to only
rely on compositors setting chunk->size, but this doesn't make sense for
dmabufs where they have to make up arbitrary values. It also looks this
is not reliable and can cause glitches as we end up processing corrupted buffers.
Bug: webrtc:338232699
Change-Id: Ida0c6a5e7a37e19598c6d5884726200f81b94962
---
diff --git a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
index 6998d65..f7feddd 100644
--- a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
+++ b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
@@ -323,6 +323,15 @@
return;
}
+ struct spa_meta_header* header =
+ static_cast<spa_meta_header*>(spa_buffer_find_meta_data(
+ buffer->buffer, SPA_META_Header, sizeof(*header)));
+ if (header && (header->flags & SPA_META_HEADER_FLAG_CORRUPTED)) {
+ RTC_LOG(LS_WARNING) << "Dropping corrupted buffer";
+ pw_stream_queue_buffer(that->pw_stream_, buffer);
+ return;
+ }
+
that->ProcessBuffer(buffer);
pw_stream_queue_buffer(that->pw_stream_, buffer);
@@ -709,7 +718,14 @@
}
}
- if (spa_buffer->datas[0].chunk->size == 0) {
+ if (spa_buffer->datas[0].chunk->flags & SPA_CHUNK_FLAG_CORRUPTED) {
+ RTC_LOG(LS_WARNING) << "Dropping buffer with corrupted data";
+ return;
+ }
+
+ if (spa_buffer->datas[0].type == SPA_DATA_MemFd &&
+ spa_buffer->datas[0].chunk->size == 0) {
+ RTC_LOG(LS_WARNING) << "Dropping buffer with empty data";
return;
}

View file

@ -1,12 +1,13 @@
diff -up firefox-133.0/widget/gtk/nsWindow.cpp.1196777 firefox-133.0/widget/gtk/nsWindow.cpp
--- firefox-133.0/widget/gtk/nsWindow.cpp.1196777 2024-11-22 09:32:52.293470407 +0100
+++ firefox-133.0/widget/gtk/nsWindow.cpp 2024-11-22 10:21:54.996441520 +0100
@@ -191,7 +191,7 @@ constexpr gint kEvents =
GDK_VISIBILITY_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_SMOOTH_SCROLL_MASK |
GDK_TOUCH_MASK | GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK |
- GDK_PROPERTY_CHANGE_MASK;
+ GDK_PROPERTY_CHANGE_MASK | GDK_FOCUS_CHANGE_MASK;
diff -up firefox-100.0/widget/gtk/nsWindow.cpp.1196777 firefox-100.0/widget/gtk/nsWindow.cpp
--- firefox-100.0/widget/gtk/nsWindow.cpp.1196777 2022-05-02 11:29:06.763325015 +0200
+++ firefox-100.0/widget/gtk/nsWindow.cpp 2022-05-02 11:30:49.100717334 +0200
@@ -163,7 +163,8 @@ const gint kEvents = GDK_TOUCHPAD_GESTUR
GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_SMOOTH_SCROLL_MASK | GDK_TOUCH_MASK | GDK_SCROLL_MASK |
- GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK;
+ GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK |
+ GDK_FOCUS_CHANGE_MASK;
/* utility functions */
static bool is_mouse_in_window(GdkWindow* aWindow, gdouble aMouseX,

View file

@ -1,6 +1,6 @@
diff -up firefox-127.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-127.0/media/ffvpx/libavcodec/codec_list.c
--- firefox-127.0/media/ffvpx/libavcodec/codec_list.c.1667096 2024-06-06 23:33:57.000000000 +0200
+++ firefox-127.0/media/ffvpx/libavcodec/codec_list.c 2024-06-10 12:42:39.353913204 +0200
diff -up firefox-125.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-125.0/media/ffvpx/libavcodec/codec_list.c
--- firefox-125.0/media/ffvpx/libavcodec/codec_list.c.1667096 2024-04-08 22:17:52.000000000 +0200
+++ firefox-125.0/media/ffvpx/libavcodec/codec_list.c 2024-04-09 10:40:58.727006437 +0200
@@ -11,6 +11,9 @@ static const FFCodec * const codec_list[
#if CONFIG_MP3_DECODER
&ff_mp3_decoder,
@ -11,10 +11,10 @@ diff -up firefox-127.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-127.0
#if CONFIG_LIBDAV1D
&ff_libdav1d_decoder,
#endif
diff -up firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c
--- firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2024-06-10 12:42:39.354913201 +0200
+++ firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2024-06-10 16:28:30.332367814 +0200
@@ -0,0 +1,498 @@
diff -up firefox-125.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-125.0/media/ffvpx/libavcodec/libfdk-aacdec.c
--- firefox-125.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2024-04-09 10:40:58.727006437 +0200
+++ firefox-125.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2024-04-09 10:40:58.727006437 +0200
@@ -0,0 +1,497 @@
+/*
+ * AAC decoder wrapper
+ * Copyright (c) 2012 Martin Storsjo
@ -39,7 +39,6 @@ diff -up firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-12
+#include "libavutil/channel_layout.h"
+#include "libavutil/common.h"
+#include "libavutil/opt.h"
+#include "libavutil/mem.h"
+#include "avcodec.h"
+#include "codec_internal.h"
+#include "decode.h"
@ -513,10 +512,10 @@ diff -up firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-12
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
+ .p.wrapper_name = "libfdk",
+};
diff -up firefox-127.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-127.0/media/ffvpx/libavcodec/moz.build
--- firefox-127.0/media/ffvpx/libavcodec/moz.build.1667096 2024-06-06 23:33:58.000000000 +0200
+++ firefox-127.0/media/ffvpx/libavcodec/moz.build 2024-06-10 12:42:39.354913201 +0200
@@ -151,6 +151,12 @@ else:
diff -up firefox-125.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-125.0/media/ffvpx/libavcodec/moz.build
--- firefox-125.0/media/ffvpx/libavcodec/moz.build.1667096 2024-04-09 10:40:58.727006437 +0200
+++ firefox-125.0/media/ffvpx/libavcodec/moz.build 2024-04-09 10:57:10.584104658 +0200
@@ -146,6 +146,12 @@ else:
CXXFLAGS += CONFIG["MOZ_LIBVPX_CFLAGS"]
OS_LIBS += CONFIG["MOZ_LIBVPX_LIBS"]
@ -529,10 +528,10 @@ diff -up firefox-127.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-127.0/me
SYMBOLS_FILE = 'avcodec.symbols'
NoVisibilityFlags()
diff -up firefox-127.0/toolkit/moz.configure.1667096 firefox-127.0/toolkit/moz.configure
--- firefox-127.0/toolkit/moz.configure.1667096 2024-06-10 12:42:39.312913316 +0200
+++ firefox-127.0/toolkit/moz.configure 2024-06-10 12:42:39.355913199 +0200
@@ -2412,6 +2412,15 @@ with only_when(compile_environment):
diff -up firefox-125.0/toolkit/moz.configure.1667096 firefox-125.0/toolkit/moz.configure
--- firefox-125.0/toolkit/moz.configure.1667096 2024-04-09 10:40:58.711005876 +0200
+++ firefox-125.0/toolkit/moz.configure 2024-04-09 10:40:58.728006472 +0200
@@ -2395,6 +2395,15 @@ with only_when(compile_environment):
set_config("MOZ_SYSTEM_PNG", True, when="--with-system-png")

14
mozilla-1669639.patch Normal file
View file

@ -0,0 +1,14 @@
--- firefox-81.0.1/build/mach_initialize.py.old 2020-10-06 14:16:06.212974910 +0200
+++ firefox-81.0.1/build/mach_initialize.py 2020-10-06 14:19:03.313179557 +0200
@@ -507,7 +507,10 @@ class ImportHook(object):
# doesn't happen or because it doesn't matter).
if not os.path.exists(module.__file__[:-1]):
if os.path.exists(module.__file__):
- os.remove(module.__file__)
+ try:
+ os.remove(module.__file__)
+ except:
+ pass
del sys.modules[module.__name__]
module = self(name, globals, locals, fromlist, level)

100
pgo.patch
View file

@ -1,7 +1,7 @@
diff -up firefox-145.0/build/moz.configure/lto-pgo.configure.pgo firefox-145.0/build/moz.configure/lto-pgo.configure
--- firefox-145.0/build/moz.configure/lto-pgo.configure.pgo 2025-11-03 16:56:55.000000000 +0100
+++ firefox-145.0/build/moz.configure/lto-pgo.configure 2025-11-05 13:59:53.477443914 +0100
@@ -96,12 +96,16 @@ set_config("PGO_PROFILE_PATH", pgo_profi
diff -up firefox-123.0/build/moz.configure/lto-pgo.configure.pgo firefox-123.0/build/moz.configure/lto-pgo.configure
--- firefox-123.0/build/moz.configure/lto-pgo.configure.pgo 2024-02-22 10:53:12.608509264 +0100
+++ firefox-123.0/build/moz.configure/lto-pgo.configure 2024-02-22 10:56:14.911881765 +0100
@@ -90,12 +90,16 @@ set_config("PGO_PROFILE_PATH", pgo_profi
@depends(
"--enable-profile-use",
@ -19,7 +19,7 @@ diff -up firefox-145.0/build/moz.configure/lto-pgo.configure.pgo firefox-145.0/b
if not profile_use:
return None
@@ -145,7 +149,7 @@ def pgo_flags(
@@ -130,7 +134,7 @@ def pgo_flags(compiler, linker, profdata
return namespace(
gen_cflags=["-fprofile-generate"],
gen_ldflags=["-fprofile-generate"],
@ -28,19 +28,19 @@ diff -up firefox-145.0/build/moz.configure/lto-pgo.configure.pgo firefox-145.0/b
use_ldflags=["-fprofile-use"],
)
diff -up firefox-145.0/build/pgo/profileserver.py.pgo firefox-145.0/build/pgo/profileserver.py
--- firefox-145.0/build/pgo/profileserver.py.pgo 2025-11-03 16:56:55.000000000 +0100
+++ firefox-145.0/build/pgo/profileserver.py 2025-11-05 13:59:53.477602066 +0100
@@ -10,7 +10,7 @@ import subprocess
diff -up firefox-123.0/build/pgo/profileserver.py.pgo firefox-123.0/build/pgo/profileserver.py
--- firefox-123.0/build/pgo/profileserver.py.pgo 2024-02-14 08:18:40.000000000 +0100
+++ firefox-123.0/build/pgo/profileserver.py 2024-02-22 10:06:42.665963053 +0100
@@ -11,7 +11,7 @@ import subprocess
import sys
import mozcrash
-from mozbuild.base import BinaryNotFoundException, MozbuildObject
+from mozbuild.base import BinaryNotFoundException, MozbuildObject, BuildEnvironmentNotFoundException
from mozfile import TemporaryDirectory, json
from mozfile import TemporaryDirectory
from mozhttpd import MozHttpd
from mozprofile import FirefoxProfile, Preferences
@@ -96,9 +96,22 @@ if __name__ == "__main__":
@@ -98,9 +98,22 @@ if __name__ == "__main__":
locations = ServerLocations()
locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
@ -66,13 +66,13 @@ diff -up firefox-145.0/build/pgo/profileserver.py.pgo firefox-145.0/build/pgo/pr
with TemporaryDirectory() as profilePath:
# TODO: refactor this into mozprofile
diff -up firefox-145.0/gfx/2d/moz.build.pgo firefox-145.0/gfx/2d/moz.build
--- firefox-145.0/gfx/2d/moz.build.pgo 2025-11-03 16:56:57.000000000 +0100
+++ firefox-145.0/gfx/2d/moz.build 2025-11-05 14:21:20.485610837 +0100
@@ -137,11 +137,11 @@ if CONFIG["INTEL_ARCHITECTURE"]:
DEFINES["USE_SSE2"] = True
diff -up firefox-123.0/gfx/2d/moz.build.pgo firefox-123.0/gfx/2d/moz.build
--- firefox-123.0/gfx/2d/moz.build.pgo 2024-02-14 08:18:41.000000000 +0100
+++ firefox-123.0/gfx/2d/moz.build 2024-02-22 10:06:42.665963053 +0100
@@ -134,11 +134,11 @@ if CONFIG["INTEL_ARCHITECTURE"]:
# The file uses SSE2 intrinsics, so it needs special compile flags on some
# compilers.
SOURCES["BlurSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
- SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2"]
+ SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
SOURCES["ConvolutionFilterSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
@ -82,39 +82,45 @@ diff -up firefox-145.0/gfx/2d/moz.build.pgo firefox-145.0/gfx/2d/moz.build
+ SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
SOURCES["SwizzleSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
SOURCES["SwizzleSSSE3.cpp"].flags += CONFIG["SSSE3_FLAGS"]
elif CONFIG["TARGET_CPU"].startswith("mips"):
diff -up firefox-123.0/gfx/skia/generate_mozbuild.py.pgo firefox-123.0/gfx/skia/generate_mozbuild.py
--- firefox-123.0/gfx/skia/generate_mozbuild.py.pgo 2024-02-14 08:18:42.000000000 +0100
+++ firefox-123.0/gfx/skia/generate_mozbuild.py 2024-02-22 10:06:42.665963053 +0100
@@ -54,10 +54,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
if CONFIG['INTEL_ARCHITECTURE']:
SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += ['-Dskvx=skvx_ssse3', '-mssse3']
SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += ['-Dskvx=skvx_sse42', '-msse4.2']
- SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx', '-mavx']
- SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma']
+ SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx', '-mavx', '-fno-lto']
+ SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma', '-fno-lto']
if not CONFIG["MOZ_CODE_COVERAGE"]:
- SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl']
+ SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl', '-fno-lto']
elif CONFIG['TARGET_CPU'] == 'aarch64' and CONFIG['CC_TYPE'] in ('clang', 'gcc'):
SOURCES['skia/src/opts/SkOpts_crc32.cpp'].flags += ['-Dskvx=skvx_crc32', '-march=armv8-a+crc']
diff -up firefox-145.0/gfx/skia/generate_mozbuild.py.pgo firefox-145.0/gfx/skia/generate_mozbuild.py
--- firefox-145.0/gfx/skia/generate_mozbuild.py.pgo 2025-11-03 16:56:57.000000000 +0100
+++ firefox-145.0/gfx/skia/generate_mozbuild.py 2025-11-05 13:59:53.477947055 +0100
@@ -50,8 +50,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
diff -up firefox-123.0/gfx/skia/moz.build.pgo firefox-123.0/gfx/skia/moz.build
--- firefox-123.0/gfx/skia/moz.build.pgo 2024-02-14 08:18:42.000000000 +0100
+++ firefox-123.0/gfx/skia/moz.build 2024-02-22 10:06:42.666963088 +0100
@@ -564,10 +564,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
if CONFIG['INTEL_ARCHITECTURE']:
SOURCES['skia/modules/skcms/skcms.cc'].flags += ['-DSKCMS_DISABLE_SKX']
skia_ssse3_flags = ['-Dskvx=skvx_ssse3', '-mssse3']
- skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx']
- skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma']
+ skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx', '-fno-lto']
+ skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma', '-fno-lto']
SOURCES['skia/src/core/SkBitmapProcState_opts_ssse3.cpp'].flags += skia_ssse3_flags
SOURCES['skia/src/core/SkBlitMask_opts_ssse3.cpp'].flags += skia_ssse3_flags
SOURCES['skia/src/core/SkSwizzler_opts_ssse3.cpp'].flags += ['-Dskvx=skvx_ssse3']
diff -up firefox-145.0/gfx/skia/moz.build.pgo firefox-145.0/gfx/skia/moz.build
--- firefox-145.0/gfx/skia/moz.build.pgo 2025-11-03 16:56:57.000000000 +0100
+++ firefox-145.0/gfx/skia/moz.build 2025-11-05 13:59:53.478077484 +0100
@@ -597,8 +597,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
if CONFIG['INTEL_ARCHITECTURE']:
SOURCES['skia/modules/skcms/skcms.cc'].flags += ['-DSKCMS_DISABLE_SKX']
skia_ssse3_flags = ['-Dskvx=skvx_ssse3', '-mssse3']
- skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx']
- skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma']
+ skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx', '-fno-lto']
+ skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma', '-fno-lto']
SOURCES['skia/src/core/SkBitmapProcState_opts_ssse3.cpp'].flags += skia_ssse3_flags
SOURCES['skia/src/core/SkBlitMask_opts_ssse3.cpp'].flags += skia_ssse3_flags
SOURCES['skia/src/core/SkSwizzler_opts_ssse3.cpp'].flags += ['-Dskvx=skvx_ssse3']
diff -up firefox-145.0/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-145.0/toolkit/components/terminator/nsTerminator.cpp
--- firefox-145.0/toolkit/components/terminator/nsTerminator.cpp.pgo 2025-11-03 16:57:15.000000000 +0100
+++ firefox-145.0/toolkit/components/terminator/nsTerminator.cpp 2025-11-05 13:59:53.478238011 +0100
@@ -330,6 +330,11 @@ void nsTerminator::StartWatchdog() {
SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += ['-Dskvx=skvx_ssse3', '-mssse3']
SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += ['-Dskvx=skvx_sse42', '-msse4.2']
- SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx', '-mavx']
- SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma']
+ SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx', '-mavx', '-fno-lto']
+ SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma', '-fno-lto']
if not CONFIG["MOZ_CODE_COVERAGE"]:
- SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl']
+ SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl', '-fno-lto']
elif CONFIG['TARGET_CPU'] == 'aarch64' and CONFIG['CC_TYPE'] in ('clang', 'gcc'):
SOURCES['skia/src/opts/SkOpts_crc32.cpp'].flags += ['-Dskvx=skvx_crc32', '-march=armv8-a+crc']
diff -up firefox-123.0/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-123.0/toolkit/components/terminator/nsTerminator.cpp
--- firefox-123.0/toolkit/components/terminator/nsTerminator.cpp.pgo 2024-02-14 08:18:56.000000000 +0100
+++ firefox-123.0/toolkit/components/terminator/nsTerminator.cpp 2024-02-22 10:06:42.666963088 +0100
@@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() {
}
#endif

4558
python-build.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,12 @@
diff -up firefox-132.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 firefox-132.0/extensions/auth/nsAuthSambaNTLM.cpp
--- firefox-132.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 2024-10-23 09:26:41.433895188 +0200
+++ firefox-132.0/extensions/auth/nsAuthSambaNTLM.cpp 2024-10-23 10:05:11.025801336 +0200
@@ -153,7 +153,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
options.fds_to_remap.push_back(
std::pair{fromChildPipeWrite.get(), STDOUT_FILENO});
- std::vector<std::string> argvVec{"ntlm_auth", "--helper-protocol",
+ std::vector<std::string> argvVec{"/usr/bin/ntlm_auth", "--helper-protocol",
"ntlmssp-client-1", "--use-cached-creds",
"--username", username};
diff -up firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp
--- firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 2019-01-22 10:36:09.284069020 +0100
+++ firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp 2019-01-22 10:37:12.669757744 +0100
@@ -161,7 +161,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
const char* username = PR_GetEnv("USER");
if (!username) return NS_ERROR_FAILURE;
- const char* const args[] = {"ntlm_auth",
+ const char* const args[] = {"/usr/bin/ntlm_auth",
"--helper-protocol",
"ntlmssp-client-1",
"--use-cached-creds",

View file

@ -20,6 +20,7 @@ if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
# if not found, launch a new one
eval `dbus-launch --sh-syntax`
fi
eval `echo '' | /usr/bin/gnome-keyring-daemon -r -d --unlock --components=secrets`
if [ -z "$XDG_RUNTIME_DIR" ]; then
export XDG_RUNTIME_DIR=$HOME
@ -32,7 +33,7 @@ if [ -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ]; then
fi
echo "Launch mutter for $WAYLAND_DISPLAY"
mutter --headless --virtual-monitor 1920x1080 --wayland-display=$WAYLAND_DISPLAY --no-x11 & MUTTER_PID=$!
xvfb-run -s "-screen 0 1600x1200x24" mutter --nested --wayland --wayland-display=$WAYLAND_DISPLAY & MUTTER_PID=$!
export MUTTER_PID
echo "Mutter PID $MUTTER_PID"

11
sources
View file

@ -1,7 +1,6 @@
SHA512 (mochitest-python.tar.gz) = 089b1593068b76f4572af0086eaccf52a6a1299bfffb58593206d19bf021ae381f2380bbfeb4371586cd53706ff6dde3d240238b2caf19b96c57dfc2f4524e36
SHA512 (dump_syms-vendor.tar.xz) = ee0ea52aac781b8dd48936a3d13b140bd725a48cc488d23693b68edbe3bcfba5723022dba3c3849d0da1bacf0e37ddd307cfc56304159f91b71495ce8a08b54a
SHA512 (wasi-sdk-25.tar.gz) = 1285981d26aa5eff27f08ed4b409909639ddcd62c94ee0cff7093ef68722f4b024c099ca3aa3ab50411e9aace13b86f1f30c5e08a3fc58b6a46b87369d6904aa
SHA512 (wasm-component-ld-vendor.tar.xz) = 707d942d31455ae0a4f68bf419fb09a20407b6747f831ca554dcd00925b7ea98ef4d03a8652b6d2ae54cf48d7ad15d85aa7eb8d0778ef66b89593eaa8b5c3465
SHA512 (cbindgen-vendor.tar.xz) = bea420e66bdd1c7c944655dd3e01abd6e7d6ac4b245c7ee190f31d800f7786f21e5cae11715b479bf795f4369d18c40dc12df19e0b643664f2f78e5c8a681415
SHA512 (firefox-langpacks-147.0-20260106.tar.xz) = 4006c6e8dda8722509c1d1756807373d431d75b20d5a0c3f19e72a2a0dc76df62b15ef871e3fff2d30b2682e6a56b4a4541d8445ea1b83641559a3270e0057b7
SHA512 (firefox-147.0.source.tar.xz) = ac9017b1a2da7b2f139392c394c36341fd3476e3d4ea1a3c7e5e7bf100dc30d185132ef9256be7e6b0f9dbfc69234ac571ea1fc6db9d84543b15772f4ec85161
SHA512 (cbindgen-vendor.tar.xz) = 3e7eaff088db918e95f5505e5feeb06e8b7b95cc62042a6d163a708fc76baea43d21bf49cf7e02bc64fdfc61e8d7704057dbb225098de56e110783104d166c54
SHA512 (wasi-sdk-20.tar.gz) = 95be9d9b41ed1f7884e9cd68bad22abbb355b049fd09731c89b9e36666d0205b1a16ec9c21820adf0c5a34e2048015cbfbef0542170d466fa3336c636873c405
SHA512 (firefox-langpacks-126.0-20240507.tar.xz) = e4fb6422fd62334ec47daac402c0e838a71c32f46c0951abf329f5c068c29fb08848a5b8090cc19b797e5b06f0f22910f3f1b582bb20620e4259a745e34bffb6
SHA512 (firefox-126.0.source.tar.xz) = 56025b051d544ca294911a1d6a66f09945f71012131881b64313dafb579730810a4b091950c90a21d4fd3f393ba23670d8409086e1677d80d0bbbe347c303527
SHA512 (dump_syms-vendor.tar.xz) = 58d4ac9556dcf408f04429bf6300e0eef8b554763d5dc45e0dc150465f714fb43b8a44fa20c7e92ad462d4af9b26cb63ec584b34551f536fc61b6340ad55bb8d

View file

@ -1,35 +1,35 @@
diff -up firefox-134.0.1/toolkit/moz.configure.wasi firefox-134.0.1/toolkit/moz.configure
--- firefox-134.0.1/toolkit/moz.configure.wasi 2025-01-13 14:46:04.000000000 +0100
+++ firefox-134.0.1/toolkit/moz.configure 2025-01-17 08:39:38.870092763 +0100
@@ -2767,7 +2776,7 @@ with only_when(requires_wasm_sandboxing
diff -up firefox-121.0.1/toolkit/moz.configure.wasi firefox-121.0.1/toolkit/moz.configure
--- firefox-121.0.1/toolkit/moz.configure.wasi 2024-02-01 09:14:33.816548952 +0100
+++ firefox-121.0.1/toolkit/moz.configure 2024-02-01 09:15:53.264684309 +0100
@@ -2663,7 +2663,7 @@ with only_when(requires_wasm_sandboxing
def wasi_sysroot_flags(wasi_sysroot):
if wasi_sysroot:
log.info("Using wasi sysroot in %s", wasi_sysroot)
- return ["--sysroot=%s" % wasi_sysroot]
+ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs", "-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi", "/raid/CVS/firefox/firefox-147.0-build/firefox-147.0/wasi-sdk-25/build/sysroot/install/wasi-resource-dir/lib/wasi/libclang_rt.builtins-wasm32.a"]
+ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs", "-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi", "/raid/CVS/firefox/firefox-126.0/wasi-sdk-20/build/compiler-rt/lib/wasi/libclang_rt.builtins-wasm32.a"]
return []
set_config("WASI_SYSROOT", wasi_sysroot)
diff -up firefox-134.0.1/wasi-sdk-25/cmake/wasi-sdk-toolchain.cmake.wasi firefox-134.0.1/wasi-sdk-25/cmake/wasi-sdk-toolchain.cmake
--- firefox-134.0.1/wasi-sdk-25/cmake/wasi-sdk-toolchain.cmake.wasi 2025-01-17 08:40:23.004159900 +0100
+++ firefox-134.0.1/wasi-sdk-25/cmake/wasi-sdk-toolchain.cmake 2025-01-17 08:40:35.478178790 +0100
@@ -126,7 +126,7 @@ endif()
add_custom_command(
OUTPUT ${wasm_component_ld}
COMMAND
- cargo install --root ${wasm_component_ld_root} ${rust_target_flag}
+ cargo install --offline --root ${wasm_component_ld_root} ${rust_target_flag}
wasm-component-ld@${wasm_component_ld_version}
COMMAND
cmake -E make_directory ${wasi_tmp_install}/bin
diff -up firefox-134.0.2/wasi-sdk-25/version.py.wasi firefox-134.0.2/wasi-sdk-25/version.py
--- firefox-134.0.2/wasi-sdk-25/version.py.wasi 2025-01-16 08:03:26.042654800 +0100
+++ firefox-134.0.2/wasi-sdk-25/version.py 2025-01-22 14:08:34.563909971 +0100
@@ -60,6 +60,7 @@ assert parse_git_version(
diff -up firefox-121.0.1/wasi-sdk-20/Makefile.fedora firefox-121.0.1/wasi-sdk-20/Makefile
--- firefox-121.0.1/wasi-sdk-20/Makefile.fedora 2024-03-04 13:20:56.903403496 +0100
+++ firefox-121.0.1/wasi-sdk-20/Makefile 2024-03-04 13:19:59.381140045 +0100
@@ -44,7 +44,7 @@ endif
# Only the major version is needed for Clang, see https://reviews.llvm.org/D125860.
CLANG_VERSION=$(shell $(BASH) ./llvm_version_major.sh $(LLVM_PROJ_DIR))
-VERSION:=$(shell $(BASH) ./version.sh)
+VERSION:=20 #$(shell $(BASH) ./version.sh)
DEBUG_PREFIX_MAP=-fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v$(VERSION)
def git_version():
+ return 25
version = exec(['git', 'describe', '--long', '--candidates=999',
'--match=wasi-sdk-*', '--dirty=+m', f'--abbrev={GIT_REF_LEN}'],
os.path.dirname(sys.argv[0]))
default: build
@@ -262,8 +262,8 @@ package: build/package.BUILT
build/package.BUILT: build strip
mkdir -p dist
- ./deb_from_installation.sh $(shell pwd)/dist "$(VERSION)" "$(BUILD_PREFIX)"
- ./tar_from_installation.sh "$(shell pwd)/dist" "$(VERSION)" "$(BUILD_PREFIX)"
+ #./deb_from_installation.sh $(shell pwd)/dist "$(VERSION)" "$(BUILD_PREFIX)"
+ #./tar_from_installation.sh "$(shell pwd)/dist" "$(VERSION)" "$(BUILD_PREFIX)"
touch build/package.BUILT
.PHONY: default clean build strip package check

View file

@ -1,35 +1,35 @@
diff -up firefox-134.0.1/toolkit/moz.configure.wasi firefox-134.0.1/toolkit/moz.configure
--- firefox-134.0.1/toolkit/moz.configure.wasi 2025-01-13 14:46:04.000000000 +0100
+++ firefox-134.0.1/toolkit/moz.configure 2025-01-17 08:39:38.870092763 +0100
@@ -2767,7 +2776,7 @@ with only_when(requires_wasm_sandboxing
diff -up firefox-121.0.1/toolkit/moz.configure.wasi firefox-121.0.1/toolkit/moz.configure
--- firefox-121.0.1/toolkit/moz.configure.wasi 2024-02-01 09:14:33.816548952 +0100
+++ firefox-121.0.1/toolkit/moz.configure 2024-02-01 09:15:53.264684309 +0100
@@ -2663,7 +2663,7 @@ with only_when(requires_wasm_sandboxing
def wasi_sysroot_flags(wasi_sysroot):
if wasi_sysroot:
log.info("Using wasi sysroot in %s", wasi_sysroot)
- return ["--sysroot=%s" % wasi_sysroot]
+ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs", "-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi", "LIBCLANG_RT_PLACEHOLDER"]
+ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs", "-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi", "$LIBCLANG_RT"]
return []
set_config("WASI_SYSROOT", wasi_sysroot)
diff -up firefox-134.0.1/wasi-sdk-25/cmake/wasi-sdk-toolchain.cmake.wasi firefox-134.0.1/wasi-sdk-25/cmake/wasi-sdk-toolchain.cmake
--- firefox-134.0.1/wasi-sdk-25/cmake/wasi-sdk-toolchain.cmake.wasi 2025-01-17 08:40:23.004159900 +0100
+++ firefox-134.0.1/wasi-sdk-25/cmake/wasi-sdk-toolchain.cmake 2025-01-17 08:40:35.478178790 +0100
@@ -126,7 +126,7 @@ endif()
add_custom_command(
OUTPUT ${wasm_component_ld}
COMMAND
- cargo install --root ${wasm_component_ld_root} ${rust_target_flag}
+ cargo install --offline --root ${wasm_component_ld_root} ${rust_target_flag}
wasm-component-ld@${wasm_component_ld_version}
COMMAND
cmake -E make_directory ${wasi_tmp_install}/bin
diff -up firefox-134.0.2/wasi-sdk-25/version.py.wasi firefox-134.0.2/wasi-sdk-25/version.py
--- firefox-134.0.2/wasi-sdk-25/version.py.wasi 2025-01-16 08:03:26.042654800 +0100
+++ firefox-134.0.2/wasi-sdk-25/version.py 2025-01-22 14:08:34.563909971 +0100
@@ -60,6 +60,7 @@ assert parse_git_version(
diff -up firefox-121.0.1/wasi-sdk-20/Makefile.fedora firefox-121.0.1/wasi-sdk-20/Makefile
--- firefox-121.0.1/wasi-sdk-20/Makefile.fedora 2024-03-04 13:20:56.903403496 +0100
+++ firefox-121.0.1/wasi-sdk-20/Makefile 2024-03-04 13:19:59.381140045 +0100
@@ -44,7 +44,7 @@ endif
# Only the major version is needed for Clang, see https://reviews.llvm.org/D125860.
CLANG_VERSION=$(shell $(BASH) ./llvm_version_major.sh $(LLVM_PROJ_DIR))
-VERSION:=$(shell $(BASH) ./version.sh)
+VERSION:=20 #$(shell $(BASH) ./version.sh)
DEBUG_PREFIX_MAP=-fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v$(VERSION)
def git_version():
+ return 25
version = exec(['git', 'describe', '--long', '--candidates=999',
'--match=wasi-sdk-*', '--dirty=+m', f'--abbrev={GIT_REF_LEN}'],
os.path.dirname(sys.argv[0]))
default: build
@@ -262,8 +262,8 @@ package: build/package.BUILT
build/package.BUILT: build strip
mkdir -p dist
- ./deb_from_installation.sh $(shell pwd)/dist "$(VERSION)" "$(BUILD_PREFIX)"
- ./tar_from_installation.sh "$(shell pwd)/dist" "$(VERSION)" "$(BUILD_PREFIX)"
+ #./deb_from_installation.sh $(shell pwd)/dist "$(VERSION)" "$(BUILD_PREFIX)"
+ #./tar_from_installation.sh "$(shell pwd)/dist" "$(VERSION)" "$(BUILD_PREFIX)"
touch build/package.BUILT
.PHONY: default clean build strip package check