Compare commits

..

1,352 commits

Author SHA1 Message Date
Martin Stransky
5cae6ba548 Build fix 2026-01-07 12:52:11 +01:00
Martin Stransky
4705e57bd9 Added build-c11-threads-avail.patch 2026-01-07 11:39:58 +01:00
Martin Stransky
f146ba56bb Updated NSS version 2026-01-07 10:41:20 +01:00
Martin Stransky
24fd754487 build fix 2026-01-06 10:15:20 +01:00
Martin Stransky
462718a74b Updated to 147.0 - removed unused patches 2026-01-06 09:39:20 +01:00
Martin Stransky
1e7c0442f3 Updated to 147.0 2026-01-06 09:13:17 +01:00
Martin Stransky
89608198f4 Updated to 146.0.1 2025-12-19 09:25:39 +01:00
Martin Stransky
23c7be839d build fix 2025-12-17 14:22:49 +01:00
Martin Stransky
72f755bd6f Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2025-12-17 14:04:26 +01:00
Martin Stransky
bab13b94df Removed -Wl,--reduce-memory-overheads as it throws unknown option error 2025-12-17 14:03:48 +01:00
Martin Stransky
6f0f3b9cb3 -m 2025-12-17 14:01:48 +01:00
Martin Stransky
eafa7d4b2b Removed firefox-bin from man pages 2025-12-17 13:26:05 +01:00
Martin Stransky
64c0ad783f Remove firefox-bin 2025-12-12 08:53:48 +01:00
Jan Horak
d96e56c1d7 Fix build-c11-threads-avail patch 2025-12-11 13:33:43 +01:00
Martin Stransky
e611a5f217 Fixed rawhide gcc build (kudos to jhorak who hacked it! He's just awesome.) 2025-12-11 13:08:48 +01:00
Jan Horak
ed74b03b2d Added D275955.1765540580 2025-12-11 13:02:33 +01:00
Jan Horak
853aa9dc99 Added build patches for rawhide 2025-12-11 12:39:21 +01:00
Martin Stransky
0c021524a4 Updated to 146.0 build 2 2025-12-08 21:59:20 +01:00
Martin Stransky
f99934eed5 Updated cbindgen 2025-12-03 12:04:57 +01:00
Martin Stransky
dc17442e7c Updated to 146.0 2025-12-03 09:23:46 +01:00
Martin Stransky
c462501e8d Updated to 145.0.1, enabled PGO 2025-11-19 10:13:11 +01:00
Martin Stransky
2d4ef1e9c6 Updated to 145.0 build 2 2025-11-11 10:05:59 +01:00
Martin Stransky
b562ef83c9 Release version update 2025-11-10 11:54:15 +01:00
Martin Stransky
1b8800e37a Removed unused patch 2025-11-10 11:52:32 +01:00
Martin Stransky
9477265072 Remporary disable LTO due to https://gcc.gnu.org/PR122620 2025-11-10 10:44:00 +01:00
Martin Stransky
2762f92444 Really remove libwebrtc-update-pipewire-headers.patch 2025-11-06 12:55:38 +01:00
Martin Stransky
e3513faf0e Temporary disabled libwebrtc-update-pipewire-headers.patch 2025-11-06 09:26:42 +01:00
Martin Stransky
e0c0d9da86 Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2025-11-05 14:29:14 +01:00
Martin Stransky
1c782e34ff Updated to 145.0 2025-11-05 14:29:08 +01:00
Jan Grulich
b58666ee94 Backport: libwebrtc - update PipeWire headers 2025-11-03 13:25:27 +01:00
Martin Stransky
842bd5a7be removed unused patch 2025-10-31 07:52:36 +01:00
Martin Stransky
e87ce54e2a updated sources 2025-10-30 11:32:54 +01:00
Martin Stransky
5984ba2190 Updated to 144.0.2 2025-10-30 11:31:59 +01:00
Martin Stransky
6806656d32 changelog fix 2025-10-16 14:37:50 +02:00
Martin Stransky
d2b8868214 Add fix for mzbz#1990430 2025-10-16 14:32:25 +02:00
Martin Stransky
f2736110e3 Removed unused patches 2025-10-16 10:39:35 +02:00
Martin Stransky
abb284ea0a Updated to 144.0 build 2 2025-10-13 14:10:40 +02:00
Martin Stransky
7d1764e955 Updated NSS version 2025-10-09 15:30:28 +02:00
Martin Stransky
b7cf0be137 Updated to 144.0 2025-10-09 10:03:48 +02:00
Martin Stransky
9a2664b2bc Updated to 143.0.4 2025-10-06 09:06:24 +02:00
Martin Stransky
e6b7799cc6 Remover merged patch 2025-09-30 09:11:32 +02:00
Martin Stransky
32ea580787 removed already merged patch 2025-09-30 09:08:17 +02:00
Martin Stransky
0aced88ad7 Updated to 143.0.3 2025-09-30 09:07:07 +02:00
Martin Stransky
90c68a6ff3 Added fix for mzbz#1990162 2025-09-26 08:45:49 +02:00
Martin Stransky
4b7cbfdd1f Added fix for mzbz#1984368 2025-09-25 11:32:43 +02:00
Martin Stransky
634cc6b04f Updated to 143.0.1 2025-09-19 09:24:51 +02:00
Martin Stransky
6304afcc4b nss version update 2025-09-11 14:14:38 +02:00
Martin Stransky
feb0fe313d Updated to 143.0 2025-09-10 10:51:05 +02:00
Martin Stransky
2d7fde7ef1 Updated to 142.0.1 2025-08-27 12:02:10 +02:00
Martin Stransky
56372fb8f8 Changelog fix 2025-08-25 17:07:55 +02:00
Martin Stransky
74ec41e9ec Fix build with llvm-21 2025-08-25 14:34:03 +02:00
Dominik 'Rathann' Mierzejewski
13c9319e5f Drop unused yasm build dependency
Part of: https://fedoraproject.org/wiki/Changes/DeprecateYASM

A quick grep in sources suggests that yasm is used only in bundled
libvpx sources (we're using the system one), and even that can be built
with nasm instead.
2025-08-23 21:40:12 +02:00
Martin Stransky
b11c19c1ff Build updates 2025-08-14 15:29:38 +02:00
Martin Stransky
461eda4671 Updated to 142.0 2025-08-12 11:56:48 +02:00
Martin Stransky
b1a854bf0a Updated to 141.0.3 2025-08-11 09:17:41 +02:00
Martin Stransky
2d720ae2e5 sources upload 2025-08-06 12:09:23 +02:00
Martin Stransky
92be14d9ab sources update 2025-08-06 11:52:31 +02:00
Martin Stransky
f1ffcae639 merge 2025-08-06 11:50:37 +02:00
Martin Stransky
c71c4ce322 Updated to 141.0.2 2025-08-06 11:49:08 +02:00
Fedora Release Engineering
14acb37320 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 20:32:35 +00:00
Martin Stransky
3a3ae1f6e7 Respin 141.0 build 2 2025-07-18 13:15:14 +02:00
Martin Stransky
1b2d75db03 build fixes 2025-07-17 11:02:24 +02:00
Martin Stransky
66392400ba changelog fix 2025-07-17 10:57:19 +02:00
Martin Stransky
170d89d3ae Updated to 141.0 2025-07-17 08:09:48 +02:00
Martin Stransky
2b5a89f8e1 Updated to 141.0 2025-07-16 10:16:36 +02:00
Martin Stransky
4ef0ebecb5 Removed gnome keyring from PGO build script 2025-07-14 07:21:18 +02:00
Martin Stransky
17a61ecf81 Update to latest upstream (140.0.4) 2025-07-09 12:56:09 +02:00
Martin Stransky
431d7e98cf Updated to 140.0.1 2025-06-27 14:09:38 +02:00
Martin Stransky
f79bda8a61 Revert mutter PGO changes 2025-06-18 20:04:27 +02:00
Martin Stransky
1d89f3ced4 build fix - sources 2025-06-17 21:35:51 +02:00
Martin Stransky
9597b231df Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2025-06-17 09:41:34 +02:00
Martin Stransky
6049c4d71a Update to latest upstream (140.0) 2025-06-17 09:41:11 +02:00
Martin Stransky
3dd27b4f6e mutter PGO build fix 2025-06-12 11:18:49 +02:00
Martin Stransky
725d62009a Use headless Mutter to run PGO builds 2025-06-11 20:15:58 +02:00
Martin Stransky
8309e8fbbc build fix 2025-06-11 08:29:36 +02:00
Martin Stransky
f09f930358 Updated to 139.0.4 2025-06-11 08:18:45 +02:00
Martin Stransky
a5c1b68cbb Updated desktop file translation (rhbz#2362155) 2025-06-06 08:31:30 +02:00
Jan Grulich
10619cea11 Use system libraries for drm/gbm/pipewire 2025-05-30 13:52:11 +02:00
Jan Horak
e87a3826bc Disable wasi sdk on s390x due to unsupported configuration 2025-05-28 12:01:28 +02:00
Martin Stransky
4943887c79 Build fixed, thanks to Bojan Smojver 2025-05-27 21:37:02 +02:00
Martin Stransky
0b8ab68f72 Removed unused patch 2025-05-27 11:32:31 +02:00
Martin Stransky
5c006a337e Updated to 139.0 2025-05-27 11:30:44 +02:00
Martin Stransky
f07dadb0c2 Updated to 138.0.4 2025-05-19 12:09:12 +02:00
Martin Stransky
968cc7c29e Fixed rhbz#2283790 2025-05-14 10:24:15 +02:00
Martin Stransky
69bd5c304a Updated to 138.0.3 2025-05-12 21:08:55 +02:00
Martin Stransky
f09793d1a4 Updated to 138.0.1 2025-05-01 20:04:45 +02:00
Martin Stransky
9547d5f181 build fixed by Bojan Smojver 2025-04-29 00:12:57 +02:00
Martin Stransky
63cced6f15 Build fix 2025-04-28 09:16:32 +02:00
Martin Stransky
e99b0b9e6b Update llvm setup for Fedora 42+, NSS version up 2025-04-23 14:48:10 +02:00
Martin Stransky
d06ba1cb58 Add HDR fix, update cbindgen 2025-04-23 13:45:08 +02:00
Martin Stransky
28b6b2d3aa Updated to 138.0 2025-04-22 13:25:42 +02:00
Martin Stransky
f027bb52f4 Added fix for rhbz#2358565 2025-04-22 11:55:06 +02:00
Martin Stransky
47ca594e39 Added fix for Firefox freezes (mzbz#1951249) 2025-04-16 21:08:39 +02:00
Martin Stransky
540d80f5e2 Update 137.0.2 2025-04-16 10:26:09 +02:00
Martin Stransky
28fda94a3b Update to 137.0.1 2025-04-14 09:43:36 +02:00
Martin Stransky
9b737f0495 Update 137.0 build 2 2025-03-31 17:25:43 +02:00
Martin Stransky
022fac0b47 Updated to 137.0 2025-03-26 12:14:46 +01:00
Martin Stransky
4cf000a2ec Removed unused GNOME_DISABLE_CRASH_DIALOG=1 2025-03-25 08:42:14 +01:00
Martin Stransky
96dc4115d3 Update to latest upstream (136.0.3), Revert rhbz#2353895 as it looks broken 2025-03-25 08:11:54 +01:00
Martin Stransky
0f065b22d3 Remove browser.display.use_system_colors override (rhbz#2353953) 2025-03-24 11:01:01 +01:00
Martin Stransky
1b3593d295 Stop overriding user settings on every update (rhbz#2353895) 2025-03-24 10:58:54 +01:00
Martin Stransky
dfb73a5412 Updated sources 2025-03-19 22:29:00 +01:00
Martin Stransky
56e5a95e64 removed old sources 2025-03-19 19:15:14 +01:00
Martin Stransky
4d9e561f5a Updated to 136.0.2 2025-03-19 13:54:50 +01:00
Martin Stransky
a2f3fb9e88 Merge #70 Remove unused patch 2025-03-19 12:45:18 +00:00
Martin Stransky
f342a95238 Merge #73 Add option to easier build with clang 2025-03-19 12:44:38 +00:00
Martin Stransky
118114e20a Merge #74 Fix build with Clang 2025-03-19 12:44:20 +00:00
Martin Stransky
cc53e14331 Merge #82 Generate distribution.ini using /etc/os-release values 2025-03-19 12:44:02 +00:00
Martin Stransky
d6a652127e Merge #83 stop disabling the use of colors from system theme 2025-03-19 12:42:14 +00:00
Martin Stransky
6a5bf93895 Merge #84 Properly obsolete firefox-{x11,wayland} 2025-03-19 12:40:52 +00:00
Martin Stransky
b369691c13 Merge #87 Remove setting non-existent font config path 2025-03-19 12:39:59 +00:00
Martin Stransky
c59de797c2 Merge #86 Remove G_SLICE workaround as it was dropped from upstream glib 2025-03-19 12:38:30 +00:00
Martin Stransky
233edd69e3 Updated to 136.0.1 2025-03-12 11:48:55 +01:00
Christian Stadelmann
b373f8ce38 Remove setting non-existent font config path
- The file or folder `/usr/lib64/firefox/res/Xft` does not exist and is not provided by firefox package itself or any other package on Fedora 41
- The folder `/etc/fonts` is the _default font configuration directory_ according to fonts-conf(5) (see also: https://fontconfig.pages.freedesktop.org/fontconfig/fontconfig-user.html) so there is no need to specify it explicitly

This line has not been changed since importing the repo from CVS over 20 years ago, so I guess it is just a leftover.
2025-02-28 17:24:14 +00:00
Christian Stadelmann
2ca6a09a02 Remove G_SLICE workaround as it was dropped from upstream glib
Upstream GLib has dropped the GSlice allocator in GLib 2.76, which renders the G_SLICE environment variable useless.

See:
* https://gitlab.gnome.org/GNOME/glib/-/blob/main/docs/reference/glib/running.md
* 45b5a6c1e5
2025-02-28 16:40:57 +00:00
Martin Stransky
8e7e68ad75 Merge branch 'main' into f42 2025-02-28 14:09:53 +01:00
Martin Stransky
29cb80df95 Updated to 136.0 Build 3 2025-02-28 14:06:41 +01:00
Dominik 'Rathann' Mierzejewski
281e7fc594 stop disabling the use of colors from system theme
This was originally disabled as fix for rhbz#1226489 in Firefox 38
time. However, the corresponding upstream bug
https://bugzilla.mozilla.org/show_bug.cgi?id=1158076
was fixed in Firefox 55, so it looks like there's no reason to keep
this anymore.

I checked a few pages with browser.display.use_system_colors set to
true and I couldn't notice any visual issues.
2025-02-26 12:33:26 +00:00
Martin Stransky
60fe59c69f Merge branch 'main' into f42 2025-02-25 13:07:57 +01:00
Martin Stransky
dafa26f99e Updated to 136.0 2025-02-25 13:07:21 +01:00
Martin Stransky
45702faa29 Updated to 136.0 2025-02-25 13:06:07 +01:00
Martin Stransky
7c1006e94a Updated to 135.0.1 2025-02-19 10:19:46 +01:00
Martin Stransky
5766f71b77 Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2025-02-04 13:15:13 +01:00
Martin Stransky
374d0dbade Updated to 135.0 2025-02-04 13:13:48 +01:00
Jan Horak
5e17e3db83 Fixing wasi build 2025-01-29 08:13:34 +01:00
Martin Stransky
4d033ce29a Call restorecon for widevine only (rhbz#2342243) 2025-01-28 08:05:46 +01:00
Jan Horak
986578da51 Fixing wasi build on f40 2025-01-22 15:06:29 +01:00
Martin Stransky
e617d07476 Updated to 134.0.2 2025-01-22 09:17:52 +01:00
Martin Stransky
9008253b4d Updated to 134.0.2 2025-01-22 09:11:47 +01:00
Jan Horak
dbd57477ae vendor wasm-component-ld 2025-01-17 12:54:42 +01:00
Jan Horak
06cb25cdc3 Fix wasi build 2025-01-17 11:32:03 +01:00
Jan Horak
7a256903b5 Fixing wasi build again 2025-01-17 08:42:11 +01:00
Jan Horak
6400c3f44b Fixing wasi build 2025-01-16 13:13:05 +01:00
Jan Horak
1e8e362373 Rebase wasi-sdk to version 25 2025-01-16 08:31:57 +01:00
Robert-André Mauchin
a390ac89a8 Fix build with Clang
LLVM 15+ needs compiler-rt to provide libclang_rt.profile-x86_64.a
2025-01-16 04:12:13 +01:00
Robert-André Mauchin
d529b4b41d Remove unused patch 2025-01-16 04:10:27 +01:00
Robert-André Mauchin
aa135fb517 Add option to easier build with clang 2025-01-16 04:02:55 +01:00
Martin Stransky
c8803752f0 Updated to 134.0.1 2025-01-15 20:38:27 +01:00
Martin Stransky
2c1ed0ea17 Updated to 134.0 2025-01-03 01:29:27 +01:00
Martin Stransky
a2fde72d25 Remove MOZ_DBUS_APP_NAME from launch script as it breaks Thunderbird (rhbz#2320090) 2024-12-16 11:02:53 +01:00
Martin Stransky
51be9803b2 Updated to 133.0.3 2024-12-11 10:26:46 +01:00
Martin Stransky
6021cc0be1 Removed unused sources 2024-12-06 10:00:45 +01:00
Martin Stransky
b5b76160bf fixed changelog 2024-11-30 09:37:42 +01:00
Martin Stransky
8e87d0d10d Add fix for mzbz#1934217 2024-11-30 09:35:20 +01:00
Martin Stransky
734ed8d8e6 Build with system nss 2024-11-26 08:13:20 +01:00
Martin Stransky
693c9dd4b7 Build with bundled nss 2024-11-24 20:43:37 +01:00
Martin Stransky
9cb276b93b Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2024-11-22 13:48:05 +01:00
Martin Stransky
fa2ec46f3a Updated to 133.0 2024-11-22 13:46:57 +01:00
Martin Stransky
0e10582f61 Updated to 133.0 2024-11-22 10:41:47 +01:00
Martin Stransky
3b51a028b9 Added memory saving flags to x86_64 2024-11-18 19:28:54 +01:00
Martin Stransky
f3ac8bae08 Updated sources 2024-11-15 23:08:28 +01:00
Martin Stransky
2a1dcfee99 Updated to 132.0.2 2024-11-15 20:35:19 +01:00
Jan Grulich
c7bc0f02ea PipeWire camera: use better unique device name for camera devices 2024-11-12 13:37:58 +01:00
Martin Stransky
2223db9e0f Updated to 132.0.1 2024-11-05 16:30:15 +01:00
Martin Stransky
3e87328081 Enabled PGO on x86_64 2024-10-25 13:15:07 +02:00
Martin Stransky
afe48a021c Updated NSS version 2024-10-24 08:44:46 +02:00
Martin Stransky
06068c9b42 uploaded sources 2024-10-23 13:39:06 +02:00
Andrew Lukoshko
d8c6584438 Generate distribution.ini using /etc/os-release values
This allows to unify source for Fedora/RHEL/CS and generate correct
distribution.ini according to build target. Currently this file is
static and different for Fedora and RHEL/CS.
2024-10-23 10:21:50 +00:00
Martin Stransky
ecaeb2239a Updated to 132.0 2024-10-23 11:47:11 +02:00
Martin Stransky
2b368d7cde build fixes 2024-10-21 20:26:44 +02:00
Martin Stransky
57c29a6f70 Backported hi-res mouse scrolling and hold touchpad gesture support 2024-10-21 13:38:55 +02:00
Martin Stransky
65a47d46b5 Disabled ppc64le on Fedora 39 due to repeated build failures 2024-10-16 07:52:32 +02:00
Martin Stransky
70f2a5c6d7 Updated to 131.0.3 2024-10-15 12:47:01 +02:00
Zbigniew Jędrzejewski-Szmek
98b5183c32 Properly obsolete firefox-{x11,wayland}
On my system I still have firefox-x11-122.0.1-1.fc39.x86_64. I started looking
at why this package was not removed… That version compares higher than 122.0-2,
so the Obsoletes that were present were not effective. Since F39 builds of
firefox still include firefox-x11, the version in Obsoletes has to be made
dynamic.

(This could even be considered a small security problem. Even though I'm an
avid firefox user, I don't follow the details of packaging, so I wasn't aware
that the -x11 subpackage was dropped. In the gnome app overview, I see both
"Firefox" and "Firefox on x11" and nothing indicates that one of them is very
old and insecure. I could easily click on the wrong icon and use a vulnerable
version.)
2024-10-10 16:06:12 +02:00
Martin Stransky
3abe4b4c2f Updated to 131.0.2 2024-10-09 09:07:10 +02:00
Martin Stransky
0bec6f6cb8 Fix regression from mzbz#1634961 - enable Gnome Shell search in opened tabs, Temporary disabled PGO due to build issues 2024-09-30 09:26:43 +02:00
Martin Stransky
e86d77bc73 Updated to 131.0 2024-09-25 09:35:06 +02:00
Martin Stransky
6b1b45349a Added fix for mzbz#1634961 2024-09-25 09:34:24 +02:00
Martin Stransky
6b8e086d0f Added fix for mzbz#1634961 2024-09-25 09:32:15 +02:00
Jan Grulich
6483fd4d66 Fix PipeWire camera support enablement for F41+
Additional WebRTC backports for PipeWire camera support
2024-09-23 15:22:45 +02:00
Songsong Zhang
551e155c73 Add v4l2test file for RISC-V 2024-09-20 10:50:21 +01:00
Martin Stransky
fc19acac9d Removed unused patches 2024-09-18 11:57:02 +02:00
Martin Stransky
7596b9d884 Merge 2024-09-18 10:46:12 +02:00
Martin Stransky
6e089051d3 Update to 130.0.1 2024-09-18 10:44:30 +02:00
Jan Grulich
33de47f343 PipeWire camera support: backport set of upstream patches 2024-09-08 18:02:01 +02:00
Martin Stransky
a67afa06c9 Added fix for mzbz#1916038 2024-09-06 12:38:53 +02:00
Martin Stransky
54317224b2 Updated sources to build 2 2024-09-05 12:35:26 +02:00
Martin Stransky
eeb1bbaed3 Downgrade libyuv to fix AVIF image rendering 2024-09-05 12:02:46 +02:00
Martin Stransky
c287985714 Updated to 130.0 build 2 2024-08-30 13:02:34 +02:00
Martin Stransky
cfa2ac01f5 Removed unused patch 2024-08-29 12:29:31 +02:00
Martin Stransky
bd69cace74 Updated to 130.0 2024-08-28 13:08:11 +02:00
Martin Stransky
c9e75c0786 Update to 130.0 2024-08-28 11:23:54 +02:00
Martin Stransky
78eab9ed2c Update to 130.0 2024-08-28 11:22:30 +02:00
Miroslav Suchý
d495cf8617 convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-08-28 09:36:35 +02:00
Martin Stransky
a2c2654dd7 Updated sources 2024-08-21 13:47:59 +02:00
Martin Stransky
e889d7b892 Updated sources 2024-08-21 13:12:22 +02:00
Martin Stransky
d2d1f52e7c Changelog fix 2024-08-20 21:04:38 +02:00
Martin Stransky
9fca49bffa Updated to 129.0.2 2024-08-20 20:59:33 +02:00
Jan Grulich
b541b31554 WebRTC backport: Filter out camera devices with no capabilities 2024-08-19 16:56:17 +02:00
Michael Catanzaro
ca4f6b0080 Add conditional hard dependency on mozilla-openh264, always required if openh264 is installed 2024-08-15 14:58:13 -05:00
Martin Stransky
b9b254a4f7 Enable PipeWire camera support for F41+ 2024-08-14 13:18:24 +02:00
Martin Stransky
1b229e9131 Updated NSS version 2024-08-06 11:29:07 +02:00
Martin Stransky
25615f169e Updated langpacks 2024-08-06 09:07:20 +02:00
Jan Horak
a8de0be71e Update dump_syms rust crate 2024-08-05 15:45:52 +02:00
Martin Stransky
8e79cd605a new sources 2024-08-02 11:05:39 +02:00
Jan Horak
30c6d64afb Updated dump_sys 2024-07-31 11:35:37 +02:00
Martin Stransky
70d0fad239 Updated cbindgen 2024-07-30 15:34:07 +02:00
Martin Stransky
72a0976166 Update to 129.0 2024-07-30 11:31:03 +02:00
Martin Stransky
51a20c156b Update to 128.0.3 2024-07-29 15:52:50 +02:00
Fedora Release Engineering
f6632082a9 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 23:10:08 +00:00
Martin Stransky
8fb032492e Merged mozilla-1907511.patch to mozilla-1898476-sync.patch 2024-07-12 20:48:34 +02:00
Martin Stransky
31c4cad2a2 Added fix for mzbz#1907511 2024-07-12 11:58:06 +02:00
Martin Stransky
93268d4de0 Removed old langpack 2024-07-09 13:58:37 +02:00
Martin Stransky
cd5314efb3 Updated to 128.0 2024-07-09 13:56:03 +02:00
Martin Stransky
b7cf17c51a Allow to override MOZ_DBUS_APP_NAME 2024-07-02 08:56:10 +02:00
Martin Stransky
fec72bef9f Update to 127.0.2 2024-06-25 11:57:25 +02:00
Jan Grulich
74a3220fcc Fix duplicated camera entries with PipeWire 2024-06-14 14:28:23 +02:00
Jan Horak
ccaca8ccc5 Updated nss version, fixed mozilla-1667096 patch 2024-06-10 16:35:18 +02:00
Jan Horak
b8f11afb6d Fixed sources 2024-06-10 09:22:23 +02:00
Jan Horak
2b5068734c Update to 127.0 2024-06-10 09:16:40 +02:00
Software Management Team
e909cb26be Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:46 +02:00
Jan Horak
21fb2dda89 Enable crashreporter again 2024-05-21 12:04:56 +02:00
Martin Stransky
950f3eea15 build fix 2024-05-20 15:29:36 +02:00
Martin Stransky
7710155d79 Gnome search service tweak 2024-05-20 14:10:22 +02:00
Martin Stransky
4fa72a1163 Added fix for mzbz#1896846 2024-05-15 10:46:18 +02:00
Martin Stransky
7d1a9652e5 Release up, added changelog entry 2024-05-14 11:31:37 +02:00
Martin Stransky
ebf9521d9c Update upstream patches 2024-05-14 11:29:26 +02:00
Martin Stransky
d585e605de Rebuild 2024-05-13 20:40:27 +02:00
Martin Stransky
ae36299595 Fixed launch script 2024-05-13 14:58:22 +02:00
Martin Stransky
96d904afbd More upstream patches for Gnome search provider. 2024-05-13 13:25:18 +02:00
Martin Stransky
1ea403d86b merged 2024-05-10 13:13:26 +02:00
Martin Stransky
ff7edcafc6 Fix Gnome search provider for Fedora 40+, Backport WebRTC fix for screen cast glitches in KDE 2024-05-10 13:11:54 +02:00
Jan Horak
cc170dd2bb Removed no longer shipped files for crashreporter 2024-05-10 11:23:27 +02:00
Jan Horak
2dda7f8609 Update dump_syms 2024-05-09 16:52:13 +02:00
Martin Stransky
ba88b344ea Updated to 126.0 2024-05-09 09:28:12 +02:00
Martin Stransky
f4c7885a69 Added ffmpeg-free to recommends (rhbz#2023833) 2024-05-07 09:14:25 +02:00
Martin Stransky
4b6a0d9ad6 Updated to 125.0.3 2024-04-29 12:10:20 +02:00
Martin Stransky
1ab1054612 Update to 125.0.2 2024-04-20 10:48:16 +02:00
Martin Stransky
48f9b0fcc9 buid config - disable bootstrap 2024-04-11 13:03:39 +02:00
Martin Stransky
60b823914a Update to 125.0 2024-04-09 11:31:06 +02:00
Jan Horak
c000da176c bump release 2024-04-04 21:06:39 +02:00
Jan Horak
ca2c471553 Don't use rpm for the wasi-sdk but build it as bundled 2024-04-04 21:04:06 +02:00
Martin Stransky
920cc52641 Updated to 124.0.2 2024-04-04 14:04:05 +02:00
Jan Horak
5075171b4c Enable wasi rlbox for s390x on f40+ 2024-04-03 15:39:37 +02:00
Jan Horak
fc9a1bf390 Don't define clang 2024-04-03 11:48:18 +02:00
Jan Horak
b4332c158a Trying to use clang for the wasi-sdk 2024-04-03 08:35:55 +02:00
Jan Horak
8d607f862e Trying to use clang for the wasi-sdk 2024-04-02 12:23:34 +02:00
Jan Horak
996d116443 Updated wasi-sdk subpackage 2024-04-02 11:27:49 +02:00
Jan Horak
36ab0cac6d Trying to use clang for the wasi-sdk 2024-04-02 08:27:58 +02:00
Jan Horak
b929e7a15e fixed sources 2024-03-28 09:39:19 +01:00
Jan Horak
60fdd5abb4 Enable wasi rlbox 2024-03-28 09:00:12 +01:00
Jan Horak
45608f2400 Enable wasi rlbox 2024-03-28 07:44:58 +01:00
Martin Stransky
364db1a553 everted IM patch 2024-03-25 21:43:22 +01:00
Martin Stransky
43f91b3884 Updated to 124.0.1 2024-03-22 21:03:03 +01:00
Martin Stransky
910fc4430e Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2024-03-13 12:54:52 +01:00
Martin Stransky
8e2f33c0dc Updated to 124.0 2024-03-13 12:54:43 +01:00
Martin Stransky
e75e749caa Merge #67 Remove the .desktop suffix from AppStream id 2024-03-11 13:06:19 +00:00
Martin Stransky
7a484647f4 Updated to 123.0.1 2024-03-07 13:14:49 +01:00
Daniel Rusek
2ff3942389 Remove the .desktop suffix from AppStream id 2024-02-27 22:32:08 +00:00
Martin Stransky
cc5e395ddc Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2024-02-27 12:38:06 +01:00
Martin Stransky
529383b5e0 Fixed PGO/wayland compositor run 2024-02-27 12:37:56 +01:00
Martin Stransky
7ad97d1f71 Merge #66 Add OARS rating to AppStream metadata 2024-02-27 07:15:38 +00:00
Martin Stransky
eacd934cf3 Fixed & enabled PGO builds 2024-02-23 19:31:52 +01:00
Daniel Rusek
c7916c91f8 Add OARS rating to AppStream metadata 2024-02-22 12:26:08 +00:00
Martin Stransky
79c81d2629 Add matching AppStream metadata for org.mozilla.firefox.desktop 2024-02-22 09:17:33 +01:00
Martin Stransky
6411e9e377 Disabled PGO 2024-02-21 20:25:14 +01:00
Martin Stransky
d7219ad705 disabled system AV1 due to build issues. 2024-02-20 12:15:44 +01:00
Martin Stransky
2075e765cc Updated NSS version 2024-02-19 14:41:27 +01:00
Martin Stransky
51ab1ccbbc Update to 123.0 2024-02-19 11:00:46 +01:00
Martin Stransky
922c11b957 langpack fix 2024-02-14 09:30:11 +01:00
Martin Stransky
aa5399618e Updated to 122.0.1 2024-02-13 14:20:27 +01:00
Jan Grulich
879253503b Backport upstream fixes to PipeWire camera support 2024-02-12 10:33:54 +01:00
Martin Stransky
7658746ef7 Temporary removed proxy cache (rhbz#2262959) 2024-02-12 09:50:52 +01:00
Martin Stransky
bdd9cac34e build fix 2024-02-01 14:41:51 +01:00
Martin Stransky
69510db050 Build with enable-replace-malloc on intel only 2024-02-01 14:25:58 +01:00
Martin Stransky
7609d4e357 Build against static libstdc++ 2024-02-01 11:50:42 +01:00
Martin Stransky
76471413b2 Disabled system libvpx due to WebRTC/camera issues (mzbz#1875201) 2024-01-31 21:17:31 +01:00
Martin Stransky
fce8323a24 fix obsoletes 2024-01-30 13:24:09 +01:00
Martin Stransky
fc0a23427b Build with --enable-replace-malloc (rhbz#2260766) 2024-01-30 13:13:27 +01:00
Martin Stransky
0f5857cb63 Added version to obsolete firefox-wayland/x11 2024-01-30 11:08:42 +01:00
Martin Stransky
919e30e38f Obsolete firefox-wayland and firefox-x11 on Fedora 40+ 2024-01-29 09:55:29 +01:00
Martin Stransky
331eced30e Include vaapitest on ppc64le and s390x 2024-01-22 23:39:00 +01:00
Martin Stransky
34f14f0c2a merge 2024-01-22 16:56:27 +01:00
Martin Stransky
8454fdf13f Updated to 122.0 2024-01-22 16:52:36 +01:00
Fedora Release Engineering
b469d44cd5 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 19:21:07 +00:00
Jan Horak
588e3b01fb Fixed bug for langpack loading under Fedora Silverblue 2024-01-19 13:46:45 +01:00
Fabio Valentini
e7f0cbc6ca
Rebuild for dav1d 1.3.0 2024-01-12 19:13:58 +01:00
Martin Stransky
2eaa0458a5 Update to 121.0.1, Fixed Firefox icon on Rawhide 2024-01-12 12:33:00 +01:00
Martin Stransky
5d26feb548 Really enable proxy cache 2024-01-02 15:22:55 +01:00
Martin Stransky
55e1497866 Updated proxy cache 2024-01-02 15:08:13 +01:00
Martin Stransky
6b33407501 Disabled DBus activations 2023-12-22 12:37:57 +01:00
Martin Stransky
82ad299a88 Wayland is enabled by default now 2023-12-20 10:47:30 +01:00
Martin Stransky
d14fa011f0 Added Wayland proxy cache (mzbz#1743144) 2023-12-19 09:56:23 +01:00
Martin Stransky
722aeaae74 Enable Gnome Shell Search provider for Fedora 40+, Don't ship firefox-x11 and firefox-wayland on Fedora 40+ 2023-12-18 22:05:27 +01:00
Martin Stransky
2714c26204 Updated changelog 2023-12-18 20:30:44 +01:00
Martin Stransky
e302fd714c Updated to 121.0 2023-12-18 20:28:57 +01:00
Martin Stransky
91f5d4fe1b Uploaded langpacks 2023-12-01 10:22:53 +01:00
Martin Stransky
203cb80595 Updated to 120.0.1 2023-12-01 10:16:14 +01:00
Martin Stransky
911eba94d0 Added fix for rhbz#2251202 2023-11-27 11:56:19 +01:00
Martin Stransky
ada751ca27 Updated to 120.0 Build 2 2023-11-20 09:20:40 +01:00
Martin Stransky
e5fa239064 merge 2023-11-14 11:00:52 +01:00
Martin Stransky
ba397925f8 Updated to 120.0 2023-11-14 10:59:36 +01:00
Jan Horak
0bd6b03b91 Enable crash reporter again 2023-11-13 09:04:53 +01:00
Jan Horak
8bc6287eb9 We need to build dump_syms into separate vendored sources - to avoid collision with cbindgen 2023-11-10 14:56:28 +01:00
Martin Stransky
cb96cce64f Fixed version-release 2023-11-10 12:52:26 +01:00
Martin Stransky
8b2f340656 Release up 2023-11-10 10:12:20 +01:00
Martin Stransky
48e82ba9fb Disable crashreporter 2023-11-10 10:09:58 +01:00
Martin Stransky
a0a1cfe51b Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2023-11-10 10:03:14 +01:00
Martin Stransky
a0d8cf6efb Updated to 119.0.1 2023-11-10 10:02:57 +01:00
Jan Horak
712736a215 Enable crash reporter 2023-11-08 14:50:24 +01:00
Martin Stransky
5364193d8d Added fix for rhbz#2247665 2023-11-07 13:07:16 +01:00
Martin Stransky
ffa346e745 Added fix for mzbz#1762816 2023-11-06 10:28:24 +01:00
Jan Horak
118a6c91ec Enable crash reporter 2023-10-30 08:50:43 +01:00
Martin Stransky
b896e22d66 Added fix for mzbz#1861615 2023-10-27 12:10:26 +02:00
Martin Stransky
29b8dda20b Temporary disable crashreporter 2023-10-24 17:18:08 +02:00
Martin Stransky
8ddd19880e Updated requested NSS version 2023-10-24 14:46:15 +02:00
Martin Stransky
13ca66bf71 merge 2023-10-24 11:01:02 +02:00
Martin Stransky
875665f62d Update to 119.0 2023-10-24 10:59:21 +02:00
Jan Horak
bf2835c53d Bump release 2023-10-24 09:09:22 +02:00
Jan Horak
be149410b9 Enable crashreporter 2023-10-24 09:08:36 +02:00
Martin Stransky
8be16df639 Updated to 118.0.2 2023-10-10 11:46:35 +02:00
Adam Williamson
5cdf6fcd2d Sigh: per Kalev, -g1 is for gcc, not find-debuginfo 2023-10-07 13:46:06 -07:00
Adam Williamson
06172c51b4 Looks like it should be -g, not -g1 2023-10-07 10:00:24 -07:00
Adam Williamson
d551f9cd18 Add -g1 to find-debuginfo flags to try and get builds through
F38 and F39 builds are failing a lot on x86_64 with gdb-add-index
being killed, even with the %limit_build thing I added previously,
so we'll have to try this. This is a big hammer which reduces
the quality of backtraces a lot, but we really need to get
builds through right now to fix major bugs.
2023-10-07 08:15:46 -07:00
Alessandro Astone
b85953896b Don't include -x11 and -wayland desktop files in the main package (rhbz#2242523)
Regression caused by 36a09da5bc
2023-10-06 20:47:13 +02:00
Martin Stransky
c6dbf096e6 Removed DBusActivatable flag from desktop file as it crashes KDE (rhbz#2242454) 2023-10-06 17:10:58 +02:00
Martin Stransky
4135db16cc Removed DBusActivatable flag from desktop file as it crashes KDE (rhbz#2242454) 2023-10-06 17:09:30 +02:00
Kalev Lember
66f31e3216 Fix flatpak build
Don't assume libclang is going to be in the same prefix as firefox - in
flatpak builds, libclang is in /usr and firefox is in /app.

As a fix, use 'llvm-config --libdir' to find out the actual libclang
path during the build.
2023-10-05 18:43:55 +02:00
Adam Williamson
a5727f9054 Always apply the find-debuginfo opts from previous commit
Whoops, missed that this was in a conditional.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-10-04 17:26:43 -07:00
Adam Williamson
35e6001e2e Limit cores used for find-debuginfo (thanks kalev)
As suggested by Kalev Lember:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7CX676QRC2QVZATX34WTCF2GL26AAWCL/
try using %limit_build to use only one CPU core per 32G of RAM
for find-debuginfo, to try and avoid builds failing due to lack
of memory:
https://bugzilla.redhat.com/show_bug.cgi?id=2241690
2023-10-04 10:47:03 -07:00
Martin Stransky
0115959c8c Updated man page 2023-10-02 08:23:25 +02:00
Martin Stransky
6bd9bbbb15 Fixed changelog 2023-10-02 08:13:47 +02:00
Martin Stransky
cd32c2e28f Avoid to launch Firefox by gnome-shell search 2023-10-02 08:07:55 +02:00
Martin Stransky
86e26c4189 Use firefox.desktop again 2023-09-29 22:27:15 +02:00
Martin Stransky
edd5f80c82 Updated changelog order 2023-09-29 14:17:56 +02:00
Martin Stransky
1548005c0d Removed old sources 2023-09-29 12:14:17 +02:00
Martin Stransky
6c0e8c3949 Updated to 118.0.1, Use system libraries for AV1, VP8, VP9, and WebP 2023-09-29 11:43:29 +02:00
Martin Stransky
36a09da5bc build fix 2023-09-29 11:00:18 +02:00
Martin Stransky
85de885472 Fixed Gnome search provider 2023-09-27 12:12:28 +02:00
Martin Stransky
e78a18fe12 Update to 118.0 2023-09-25 15:14:40 +02:00
Adam Williamson
230a3cfdd7 Whoops, we need to set --with-libclang-path, not --with-clang-path
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-14 17:15:27 -07:00
Adam Williamson
c10a044ca5 Pass --with-clang-path to fix build with clang 17 (rhbz#2239047) 2023-09-14 17:03:57 -07:00
Martin Stransky
5c11948fd0 Updated to 117.0.1 2023-09-13 12:13:03 +02:00
Martin Stransky
34b0ea8714 Added fix for rhbz#2235654 2023-08-30 13:23:38 +02:00
Martin Stransky
5fa8b8e9eb Updated sources 2023-08-28 14:07:43 +02:00
Martin Stransky
fce974e85f Update to 117.0 2023-08-28 11:26:02 +02:00
Martin Stransky
8089009cb4 Updated to 116.0.3 2023-08-17 12:21:23 +02:00
Martin Stransky
a35e8720bb Fixed changelog 2023-08-16 11:05:23 +02:00
Martin Stransky
c68eef9fb2 Added Fedora customization patch 2023-08-16 11:02:52 +02:00
Martin Stransky
309cf4ddc2 Updated to 116.0.2 2023-08-07 21:50:03 +02:00
Martin Stransky
1053146416 Updated to 116.0.2 2023-08-07 21:19:21 +02:00
Martin Stransky
d101b753fb Updated to 116.0.1 2023-08-04 11:13:11 +02:00
Martin Stransky
60bfa9889d Added Canvas/WebGL VA-API playback patch (D167159 / mzbz#1769747) 2023-08-02 11:51:09 +02:00
Martin Stransky
4195044fad Updated to build 2, request 4GB / per core 2023-07-31 12:51:27 +02:00
Martin Stransky
bd405c0fbd Python3.11 build hack by jhorak 2023-07-27 13:34:34 +02:00
Martin Stransky
ef1b31a8c2 Build fixes - vaapitest and v4l2test 2023-07-27 12:12:55 +02:00
Martin Stransky
e1da8d7871 Updated to 116.0 2023-07-26 14:27:10 +02:00
Martin Stransky
b8e076ae59 Don't set MOZ_GMP_PATH as it's configured by /etc/profile.d/gmpopenh264.sh from mozilla-openh264 package (rhbz#2221317). 2023-07-24 09:48:46 +02:00
Yaakov Selkowitz
9955d54a56 Use bundled cbindgen in RHEL builds
RHEL does not include cbindgen nor its Rust crate dependencies.
2023-07-24 02:52:50 +00:00
Martin Stransky
a2075ecfbc Disable LTO for rust again due to build crashes on koji 2023-07-20 11:22:32 +02:00
Martin Stransky
be98fb4794 Fix the previous fix (rhbz#2221317) 2023-07-19 15:10:22 +02:00
Martin Stransky
88e057cc4f Don't overwrite MOZ_GMP_PATH (rhbz#2221317) 2023-07-18 10:25:41 +02:00
Martin Stransky
4eca3ad8d0 Added changelog 2023-07-17 15:55:01 +02:00
Martin Stransky
6cd9c47625 Removed old sources 2023-07-17 15:52:46 +02:00
Martin Stransky
c33e16b99e Update to 115.0.2 2023-07-17 13:24:28 +02:00
Dan Horák
9243512991 - re-enable ppc64le (rhbz#2212748) 2023-07-11 10:59:17 +02:00
Martin Stransky
4dc43e7ccf Disabled LTO due to rhbz#2218885 2023-07-04 10:04:11 +02:00
Martin Stransky
bcb41f5083 Update to build 2 2023-07-03 15:49:52 +02:00
Martin Stransky
8f1c30db91 Updated to 115.0 2023-06-29 12:39:27 +02:00
Martin Stransky
9baa8f7c2d Enabled elf-hack for PGO builds 2023-06-29 11:23:13 +02:00
Martin Stransky
d89dc22930 Updated PGO build setup 2023-06-28 22:49:38 +02:00
Martin Stransky
b81896fdd8 Added missing file 2023-06-28 08:29:10 +02:00
Martin Stransky
d175d93ecc PGO update 2023-06-28 08:28:09 +02:00
Martin Stransky
2606d6a50c PGO build fixes 2023-06-27 21:23:28 +02:00
Martin Stransky
456ad350a8 Added back mozilla-1516803.patch 2023-06-23 11:59:49 +02:00
Martin Stransky
b2c506e3b4 Enable PGO/LTO 2023-06-22 13:14:14 +02:00
Martin Stransky
80f05818c3 Updated to 114.0.2 2023-06-20 09:53:39 +02:00
Martin Stransky
e9c16e2628 Disabled ppc64le due t build issues (rhbz#2212748) 2023-06-06 10:52:18 +02:00
Martin Stransky
0e3e51fea7 Disable webrtc on ppc64le 2023-06-05 22:44:04 +02:00
Martin Stransky
e2f9245924 merge 2023-06-05 13:35:49 +02:00
Martin Stransky
39bb25cd6f Updated to 114.0 2023-06-05 13:32:25 +02:00
Kalev Lember
d693ba16a5 Drop F37 build conditionals
Now that F36 is EOL, we can get rid of ">= 37" conditionals that always
evaluate to true.
2023-05-24 12:37:38 +02:00
Kalev Lember
7f69d4c3f0 Drop an arm-specific patch
We don't build for 32 bit arm any more now that F36 is EOL.
2023-05-24 12:37:38 +02:00
Kalev Lember
fc6d180230 Drop arm build conditionals
F36 was the last release that supported 32 bit arm architectures and F36
just reached EOL.
2023-05-24 12:37:38 +02:00
Martin Stransky
fc3b817e29 Added rawhide rust fix, added patches from 113.0.2 2023-05-24 11:08:25 +02:00
Martin Stransky
d13c7dc2b6 Disabled libproxy support due to regressions (rhbz#2207469) 2023-05-19 13:06:14 +02:00
Jan Grulich
4bb32b2390 Backport libwebrtc commit 7b0d7f48fb
Fix fcntl call when duplicating a file descriptor
2023-05-16 09:44:06 +02:00
Martin Stransky
b44a610b50 Updated to 113.0.1 2023-05-15 12:08:17 +02:00
Martin Stransky
e81ff02c0f Update to 113.0 2023-05-09 20:44:33 +02:00
Martin Stransky
d5f2b2028f Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2023-04-27 16:27:06 +02:00
Martin Stransky
ad7ecb97b8 Update to 112.0.2 2023-04-27 16:26:55 +02:00
Yaakov Selkowitz
ce6d27cc38 Remove unused gtk2 BuildRequires 2023-04-17 22:24:27 +00:00
Martin Stransky
33aaf8942f Updated to 112.0.1 2023-04-18 00:22:47 +02:00
Martin Stransky
9f85dc3c25 Added wayland window fix mzbz#1827429 2023-04-11 16:51:42 +02:00
Martin Stransky
1449db1d63 -m 2023-04-11 12:57:42 +02:00
Martin Stransky
29ecde0d62 Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2023-04-06 19:46:45 +02:00
Martin Stransky
d698bc4eec Updated to build 2, added fix for mzbz#1826583/rhbz#2184842 2023-04-06 19:46:36 +02:00
Adam Williamson
24c9accce1 Add a patch to fix the RUSTFLAGS parsing issue (#2184743) 2023-04-05 09:55:42 -07:00
Martin Stransky
afd2fc66a8 Update to 112.0 2023-04-05 13:04:27 +02:00
Martin Stransky
01c680ce6a Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2023-04-05 10:46:43 +02:00
Martin Stransky
18483fc2bb Don't override MOZ_USE_XINPUT2 in startup script (hrbz#2184297) by GalaxyMaster 2023-04-05 10:46:34 +02:00
Adam Williamson
46be314a6e Actually, set _package_note_status to 0 2023-04-04 20:07:00 -07:00
Adam Williamson
eaaa442861 Also undefine _package_note_status (#2184553)
Only undefining _package_note_flags causes build failure. See
https://bugzilla.redhat.com/show_bug.cgi?id=2184553 for more
details.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-04 20:02:12 -07:00
Martin Stransky
a67d903dec Build fix 2023-03-23 12:56:07 +01:00
Martin Stransky
7289b9e9a7 Update to 111.0.1 2023-03-22 14:23:26 +01:00
Martin Stransky
416ea4ae97 Added D172864.diff to build on arm 2023-03-22 11:21:55 +01:00
Jan Grulich
255820fae0 libwebrtc: backport upstream fix/improvement for DmaBuf screen sharing 2023-03-22 11:09:41 +01:00
Martin Stransky
b35d0d6682 Added libproxy support (rhbz#2177806), Added build fixes on arm 2023-03-21 18:09:42 +01:00
Martin Stransky
701cde858b Disabled arm on F36 2023-03-21 09:35:08 +01:00
Martin Stransky
065757c3b4 Disabled arm on F36 2023-03-21 09:33:42 +01:00
Martin Stransky
e8035fe0a1 Updated to 111.0 2023-03-20 15:02:19 +01:00
Martin Stransky
b5fde26b8f Updated to latest 110.0 upstream build 2023-02-14 11:07:07 +01:00
Martin Stransky
13c22b1d0b Added fix for orca 2023-02-13 09:07:01 +01:00
Martin Stransky
c5357ea592 Updated to 110.0 2023-02-10 11:33:03 +01:00
Martin Stransky
ee371f01de Rawhide/GCC 13 build fixes 2023-02-07 11:52:32 +01:00
Martin Stransky
5bddf2e064 removed unused patch 2023-02-02 08:58:33 +01:00
Martin Stransky
f2d423870e Updated to 109.0.1, Added fix for rhbz#2147344 / mzbz#1813500. 2023-02-01 21:31:08 +01:00
Martin Stransky
6163653e0d Removed mozbz#1809162 2023-01-19 11:02:50 +01:00
Martin Stransky
f58ac6040c Removed mozbz#1809162 2023-01-19 11:02:02 +01:00
Fedora Release Engineering
e2711446e1 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 03:27:52 +00:00
Martin Stransky
d1c72896f3 build fix 2023-01-17 22:32:33 +01:00
Martin Stransky
b2b36e851e Added VA-API fixes mozbz#1809162, mozbz#1801576 2023-01-17 14:28:43 +01:00
Martin Stransky
54310019ec Second arch build fix 2023-01-16 13:31:38 +01:00
Martin Stransky
1913d82157 Added fix for mozbz#1804973 Wayland/EGL window crash 2023-01-16 11:43:35 +01:00
Martin Stransky
2871a2e567 Updated to build 2 2023-01-16 10:45:56 +01:00
Martin Stransky
92926706f3 disabled webrtc patch on aarch64 2023-01-13 14:10:45 +01:00
Martin Stransky
4ea325ddca source upload 2023-01-13 11:42:48 +01:00
Martin Stransky
42899b8728 updates nss version 2023-01-13 11:28:12 +01:00
Martin Stransky
c33aba22e6 merge conflicts fixed 2023-01-13 11:26:46 +01:00
Martin Stransky
916853162b Updated to 109.0 2023-01-13 11:25:04 +01:00
Jan Horak
802ee5c394 Update to 108.0.2 2023-01-13 09:26:17 +01:00
Kalev Lember
8bed0f2480 Drop rpm scriptlets for things that are handled by rpm file triggers
update-desktop-database and gtk-update-icon-cache are both handled by
file triggers in desktop-file-utils and hicolor-icon-theme packages
these days and there is no need to invoke them manually in individual
packages any more.
2023-01-10 12:25:39 +01:00
Kalev Lember
4f8d37fe68 Avoid using rpm macros for simple shell commands
Using e.g. %{__cp} instead of cp makes everything just harder to read
without any clear benefits.
2023-01-09 23:51:38 +01:00
Kalev Lember
8c2f692734 Drop conditionals for F35
Fedora 35 is now EOL.
2023-01-09 15:39:25 +01:00
Martin Stransky
cd7d2b004a Added second arch build fix 2022-12-21 10:41:32 +01:00
Martin Stransky
ec6b601b49 Added mozbz#1795851 [wayland] Crash buffer size (170x113) is not divisible by scale (2) 2022-12-21 10:23:23 +01:00
Martin Stransky
dc1af54df8 Build fix - typo 2022-12-20 13:25:21 +01:00
Martin Stransky
37e93aca4b Update to 108.0.1 - merge 2022-12-19 13:58:10 +01:00
Martin Stransky
50222bf393 Update to 108.0.1 2022-12-19 13:57:06 +01:00
Martin Stransky
b8542b1767 Update to 108.0.1 2022-12-19 13:56:57 +01:00
Martin Stransky
5c5335d4f7 Changelog update 2022-12-15 10:07:09 +01:00
Martin Stransky
6fa1c4438c Added fix for mozbz#1802327 2022-12-15 10:05:22 +01:00
Martin Stransky
1d86ce0d55 build fixes 2022-12-15 09:46:54 +01:00
Martin Stransky
d04948255c Updated to build 2 2022-12-14 16:33:57 +01:00
Martin Stransky
6d4d79277f Exclude armv7hl due to bugzilla.redhat.com/show_bug.cgi?id=2153213 2022-12-14 11:38:44 +01:00
Martin Stransky
69f67c3201 disable elf hack on aarch64 2022-12-14 11:34:10 +01:00
Martin Stransky
8cc8a04159 Disabled s390x due to https://bugzilla.redhat.com/show_bug.cgi?id=2153213 2022-12-14 11:26:36 +01:00
Martin Stransky
2abef0ec2b build fixes 2022-12-08 11:05:41 +01:00
Martin Stransky
de85410030 Updated nss version 2022-12-07 08:42:18 +01:00
Martin Stransky
5acb5af57f Updated to 108.0 2022-12-07 08:18:22 +01:00
Martin Stransky
df84cc2cb6 Update to 107.0.1 2022-12-06 16:25:27 +01:00
Martin Stransky
753639d380 Added fix for mozbz#1779186 - fix VA-API playback artifacts 2022-11-24 22:10:59 +01:00
Martin Stransky
4dc4e22ba3 crashreporter fixes on second arches 2022-11-22 21:00:59 +01:00
Martin Stransky
9d15a20e5c Disabled crashreporter 2022-11-22 11:04:14 +01:00
Jan Horak
5da6e10440 Enabled mozilla crashreporter again 2022-11-21 14:04:07 +01:00
Martin Stransky
e6bc05547a Temporary disable crashreporter 2022-11-21 10:34:25 +01:00
Jan Horak
6018070ba3 Reintroduced the mozilla symbols 2022-11-18 09:24:31 +01:00
Martin Stransky
34d53c32b5 Updated NSS version to 3.84 2022-11-15 16:08:46 +01:00
Martin Stransky
dc74e4c39e Uploaded sources 2022-11-15 13:01:13 +01:00
Martin Stransky
caacd1dc09 Update to 107.0 2022-11-15 12:36:03 +01:00
Martin Stransky
97a5bb3a97 Update to 106.0.4 2022-11-04 10:39:34 +01:00
Martin Stransky
2d32336ce6 Update to 106.0.3 2022-10-31 20:37:24 +01:00
Martin Stransky
c93bbf6684 Build fix, disabled portals on F37+ 2022-10-24 08:31:17 +02:00
Martin Stransky
041f2c131b Updated to 106.0.1 2022-10-23 15:41:32 +02:00
Martin Stransky
724c03d265 Merge #48 Enable upstream WebRTC code for screensharing on Wayland 2022-10-21 07:35:56 +00:00
Martin Stransky
beb5e712a1 no sysctl on aarch64 2022-10-20 20:56:13 +02:00
Jan Grulich
f0029706ce Enable upstream WebRTC code for screensharing on Wayland 2022-10-20 15:28:51 +02:00
Martin Stransky
38d5cff9df Bug 2134527 Set widget.use-xdg-desktop-portal.file-picker=1 by default for Firefox / Fedora 37+ 2022-10-20 11:53:27 +02:00
Martin Stransky
904a6ec37f Disabled PGO build due to rhbz#2136401 2022-10-20 11:33:35 +02:00
Martin Stransky
c3c6c167a2 Update to 106.0 2022-10-14 15:03:58 +02:00
Martin Stransky
949ba97268 Fixed crashes on multi-monitor systems 2022-10-14 10:26:51 +02:00
Martin Stransky
1f98173a5b Update to 105.0.2 2022-10-05 10:20:26 +02:00
Martin Stransky
61ea27fc64 Fixed changelog 2022-09-30 10:33:30 +02:00
Martin Stransky
7b980b9542 Added fix for mozilla#1791856 / rhbz#2130087 2022-09-30 10:28:39 +02:00
Martin Stransky
d0beb2802b Added RHBZ to i686 build failure 2022-09-26 09:13:54 +02:00
Martin Stransky
ea59033f8e Excluded i686 due to https://bugzilla.mozilla.org/show_bug.cgi?id=1792159 2022-09-23 11:23:57 +02:00
Martin Stransky
ddc85ef643 langpack fix 2022-09-22 22:44:50 +02:00
Martin Stransky
420bed369a Updated to 105.0.1 2022-09-22 22:11:05 +02:00
Martin Stransky
64f367594e Updated to 105.0.1 2022-09-22 22:10:39 +02:00
Martin Stransky
c8fd8993ea updated nss version 2022-09-22 09:11:08 +02:00
Martin Stransky
fc66484a39 Update to 105.0 2022-09-21 11:20:26 +02:00
Martin Stransky
d033d1ab68 Updated to 104.0.2 2022-09-07 08:49:32 +02:00
Leo Bunel
64c0f9493e Update French translation in firefox.desktop
This change proposes a French translation for the "Open the Profile Manager" entry in the top bar menu.
2022-09-05 13:55:20 +00:00
Martin Stransky
8cc909acb9 Updated to 104.0.1 2022-08-30 14:18:31 +02:00
Kalev Lember
5075a9d0d6 Fix typo in ifarch condition
It's supposed to be "%ifarch s390x", not "%ifarch %{s390x}" as %{s390x}
macro doesn't exist.
2022-08-24 11:33:27 +02:00
Kalev Lember
3e4bfaceac Fix the build on F35
Add back previous RPM_BUILD_NCPUS limiting code as F35 doesn't have the
new %constrain_build macro.

We can drop the compat code as soon as F35 is EOL.
2022-08-23 16:31:43 +02:00
Kalev Lember
f5c2bd2d80 Re-enable s390x builds
It builds fine again after latest fixes.
2022-08-23 11:54:02 +02:00
Kalev Lember
73c24a4d45 Drop hardened_build option
Now that we correctly use Fedora's ldflags (previous commit), there's
no need to do anything special to enable hardened build. All of it is
already included in the default build flags.
2022-08-23 11:54:02 +02:00
Kalev Lember
078b597b1e Use build_ldflags
These are the LDFLAGS that all packages are supposed to use, including
hardening and other flags.
2022-08-23 11:54:02 +02:00
Kalev Lember
594959d6f8 Drop unused patches 2022-08-23 11:54:02 +02:00
Kalev Lember
1ad3bd1b24 Drop obsolete build conditionals
This drops ifarch conditionals on architectures that are no longer used
in koji (ppc64, s390, arm on F37+), and conditionals on EOL Fedora
versions.
2022-08-23 11:54:02 +02:00
Kalev Lember
7e1b07c41a Use constrain_build macro to simplify parallel make handling
With constrain_build it is possible to just say how much RAM per process
/ CPU core we need to build and it automatically calculates out the
right -jXX number to use.

I've used 2 GB per CPU as the initial setting, but if we run into issues
with gcc running out of memory on e.g. s390x, the number can be easily
increased (which then reduces parallelism on low memory builders).
2022-08-23 11:53:55 +02:00
Jan Horak
720c2b63eb bump release due to ppc64le fixes 2022-08-23 11:18:15 +02:00
Jan Horak
809044f0dd Merge #45 work around broken moz.build file on ppc64le 2022-08-23 06:26:16 +00:00
Eike Rathke
2300fa46f5 Update to 104.0 respin 2022-08-22 21:28:13 +02:00
Dan Horák
9d9142cadb work around broken moz.build file on ppc64le
Patch the pre-generated file with the missing bits.

Related: mozb#1779545, mozb#1775202
2022-08-22 09:30:44 +02:00
Martin Stransky
a23c216427 Added build fix 2022-08-17 10:30:53 +02:00
Martin Stransky
babecc662f Updated to 104.0 2022-08-16 20:57:04 +02:00
Martin Stransky
b65f309bcd Updated to 103.0.2 2022-08-12 13:34:40 +02:00
Martin Stransky
c6d827cb4e Don't use clang suffix on arm 2022-08-05 11:30:09 +02:00
Martin Stransky
bd3fc12e39 Enable VA-API (rhbz#2115253) 2022-08-04 11:48:18 +02:00
Martin Stransky
d9f5bf9ed4 fixed changelog 2022-08-04 11:38:01 +02:00
Martin Stransky
85f5f771e9 -m 2022-08-04 11:32:33 +02:00
Martin Stransky
c1b363d122 Update to 103.0.1 2022-08-02 17:29:21 +02:00
Martin Stransky
36a931ea7a Disabled ppc64le due to webrtc build failures (rhbz#2113850) 2022-08-02 08:59:36 +02:00
Martin Stransky
6b8336e97f Disabled webrtc-screen-cast patch on ppc64le due to build failures 2022-08-01 13:52:21 +02:00
Martin Stransky
ea24aeef45 updated webrtc patch 2022-07-29 11:31:44 +02:00
Martin Stransky
d101c7b7f4 Build fixes 2022-07-28 13:52:37 +02:00
Martin Stransky
c27f9f504e Updated cbindgen 2022-07-27 11:20:07 +02:00
Martin Stransky
0d92801bb9 Update to 103.0 - build fixes 2022-07-26 17:03:28 +02:00
Jan Horak
71b3ae64d2 Removing no longer required D147721-python3.11.diff 2022-07-21 12:03:34 +02:00
Martin Stransky
1469e57b10 Updated to 103.0 2022-07-21 11:41:14 +02:00
Fedora Release Engineering
de02f241c5 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 03:11:43 +00:00
Jan Horak
4d45de9bff Fixing build on rawhide due to python 3.11 2022-07-15 16:19:14 +02:00
Jan Horak
3f1c25e40c Fixing build on rawhide due to python 3.11 2022-07-15 15:57:23 +02:00
Jan Horak
2f128006b4 Fixing build on rawhide due to python 3.11 2022-07-15 14:46:05 +02:00
Martin Stransky
39f02cbd91 -m 2022-07-15 09:28:29 +02:00
Jan Horak
a76220b146 Fixing build on rawhide due to python 3.11 2022-07-13 17:00:26 +02:00
Martin Stransky
d3ebfe3ad7 Added ARM fixes by Gabriel Hojda 2022-07-13 14:54:04 +02:00
Jan Grulich
72a660f091 Backport upstream fixes to WebRTC for screensharing on Wayland 2022-07-11 11:12:34 +02:00
Martin Stransky
65d5b6f154 Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2022-06-28 18:18:33 +02:00
Martin Stransky
ba25b2cbc3 Updated to 102.0, Applied patch from https://src.fedoraproject.org/rpms/firefox/pull-request/43 2022-06-28 18:18:25 +02:00
Jan Horak
6a83fb069e Revert "Enable rlbox"
This reverts commit e88b5e06a7.
2022-06-28 15:30:16 +02:00
Jan Horak
1ae08943fc Revert "Enable release build again"
This reverts commit aa451636d1.
2022-06-28 15:30:10 +02:00
Jan Horak
aa451636d1 Enable release build again 2022-06-28 15:10:59 +02:00
Jan Horak
e88b5e06a7 Enable rlbox 2022-06-28 15:07:03 +02:00
Martin Stransky
386d29543d Rebuild 2022-06-27 13:39:19 +02:00
Jan Horak
8af042bc54 Reverting RLbox enablement because the sysroot is not on the koji builders - obviously. I was confused by my local envinment which went fine during local build. 2022-06-27 10:43:19 +02:00
Jan Horak
cad15cfb85 Enable rlbox sandboxed libraries 2022-06-22 10:49:27 +02:00
Jan Horak
db7de5356d Enable wasm sandboxed libraries 2022-06-22 10:34:50 +02:00
Jan Horak
eb4214a710 Use $GETENFORCE_FILE to call getenforce with full path: rhbz#2091219 2022-06-21 11:20:16 +02:00
Martin Stransky
5128ca8e5f Added fix for mozilla#1774271 2022-06-17 12:54:46 +02:00
Martin Stransky
cd6ef2bb82 Added fix for mozbz#1758948 (AV1 VA-API playback shuttering) 2022-06-15 15:05:58 +02:00
Martin Stransky
92e16f9069 Added more VA-API and WebGL fixes 2022-06-14 14:33:53 +02:00
Martin Stransky
bfdfd329b2 Fix WebGL mem leaks (mzbz#1773968) 2022-06-13 16:36:43 +02:00
Martin Stransky
33fd704cce Fixed openh264 decode 2022-06-09 20:34:42 +02:00
Martin Stransky
e2a4b7e32d Adjust GMP plugin setting (rhbz#2094319) 2022-06-09 17:21:56 +02:00
Martin Stransky
6edb288b6f Updated cbindgen to 0.24.0 2022-06-09 16:40:46 +02:00
Martin Stransky
980a9af4dd cbindgen build fix 2022-06-09 12:12:48 +02:00
Martin Stransky
b707846f45 Fixed langpack name 2022-06-09 11:18:33 +02:00
Martin Stransky
fc1bf47cd8 Updated to 101.0.1, More VA-API sandbox fixes (mzbz#1769182) 2022-06-09 11:14:27 +02:00
Martin Stransky
61879d2c53 Enabled VA-API by default (+ added VA-API fixes from upstream), Fixed WebGL performance on NVIDIA drivers (mzbz#1735929) 2022-06-07 11:19:41 +02:00
Martin Stransky
2c9b4467e2 Updated cbindgen to 0.23.0 2022-06-02 15:25:54 +02:00
Martin Stransky
3ef84c7bac Updated WebRTC patch 2022-06-02 14:15:48 +02:00
Martin Stransky
888df264aa Update to 101.0 2022-05-30 21:40:33 +02:00
Martin Stransky
972fcbe039 Added fix for mzbz#1771104 2022-05-25 11:52:47 +02:00
Martin Stransky
02b4146177 Updated to 100.0.2 2022-05-20 10:37:38 +02:00
Jan Horak
23596a6fd9 Fix the sed command for default prefs 2022-05-19 08:08:03 +02:00
Martin Stransky
c917e8ec4f merge 2022-05-18 09:28:49 +02:00
Martin Stransky
b6cd53938d Updated to 100.0.1 2022-05-18 09:27:05 +02:00
Jan Horak
300248bcb6 Fix spellchecker.dictionary_path of F36+ 2022-05-16 20:50:22 +02:00
Jan Horak
4fc8990952 Removed already added patch: mozilla-1767916-multimonitor-crash.patch 2022-05-11 09:11:20 +02:00
Jan Horak
c66f451d52 Fix crashes on f36 multimonitor setup and too big profile manager 2022-05-10 17:17:03 +02:00
Martin Stransky
db2e77cf9f Added fix for mozbz#1767916 2022-05-09 14:17:09 +02:00
Martin Stransky
94ad0536cd Removed Fedora user agent patch (rhbz#2081791) 2022-05-05 12:29:17 +02:00
Martin Stransky
b311ef1fb8 Added fix for mozbz#1759137 2022-05-03 09:54:03 +02:00
Martin Stransky
e4c24fcfb3 Updated to 100.0 2022-05-02 13:37:20 +02:00
Jan Horak
40fd3206bd Fixing bookmark install location - rhbz#2054953 2022-04-28 13:03:55 +02:00
Martin Stransky
5ff18ae10d Updated to 99.0.1 2022-04-13 15:48:10 +02:00
Martin Stransky
93042ae00c Added ppc64le build fixes 2022-04-07 11:34:40 +02:00
Martin Stransky
2dbae13edb Removed D142257.diff 2022-04-06 15:07:45 +02:00
Martin Stransky
c7aece4788 removed aarch64 unused patch 2022-04-06 10:55:42 +02:00
Martin Stransky
3b1730925b Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2022-04-06 10:36:11 +02:00
Martin Stransky
35a5afbafa Updated to 99.0 2022-04-06 10:36:00 +02:00
Florian Schneidereit
f14b87008a Update firefox.desktop
Added German localization for profile-manager-window desktop action
2022-03-31 14:32:44 +00:00
Martin Stransky
73ee25f87e Updated to 98.0.2 2022-03-31 12:17:27 +02:00
Jan Grulich
70203c58f5 Wayland screensharing: avoid potential crash when cursor metadata are not set 2022-03-30 12:14:50 +02:00
Martin Stransky
32ae24f618 Added 0001-GLIBCXX-fix-for-GCC-12.patch back due to gcc failure 2022-03-16 13:31:58 +01:00
Martin Stransky
b939827f77 updated changelog 2022-03-16 10:45:43 +01:00
Martin Stransky
97fc0b9c63 Added a workaround for rhbz#2063961 2022-03-16 10:36:47 +01:00
Martin Stransky
a3c8768d1f Updated to Build 3 2022-03-05 09:04:16 +01:00
Martin Stransky
70d0fd995c ppc64le temp build fix 2022-03-05 08:51:40 +01:00
Martin Stransky
bd5a45a42f spec fixes 2022-03-04 12:38:37 +01:00
Martin Stransky
b9596148e4 Added fix for gcc12 build errors 2022-03-04 12:11:14 +01:00
Martin Stransky
12e554d703 Added missing files, updated to build2 2022-03-04 11:59:22 +01:00
Martin Stransky
34e2f4991c Added support for ffmpeg 5.0, spec tweaks 2022-03-02 15:58:15 +01:00
Martin Stransky
e7fac329e3 i686 build fixes 2022-03-02 10:51:06 +01:00
Martin Stransky
ebcad50e22 merge 2022-03-01 12:35:06 +01:00
Martin Stransky
e07951b09b Updated to 98.0 2022-03-01 12:33:16 +01:00
Jan Grulich
ecd56d6e3a Backport WebRTC changes to PipeWire/Wayland screen sharing support 2022-02-22 10:01:04 +01:00
Martin Stransky
af44b86020 Updated to 97.0.1 / GCC 12 build fixes 2022-02-18 10:02:34 +01:00
Martin Stransky
6d9b08e92b updated preferences 2022-02-17 08:00:10 +01:00
Martin Stransky
aa082530eb Added alsa build req 2022-02-09 15:31:15 +01:00
Martin Stransky
16e6b6b266 -m 2022-02-08 12:42:36 +01:00
Martin Stransky
be5c6d4f08 Updated to 93.0.3 2022-01-31 14:17:03 +01:00
Jan Horak
95a88fb616 Use myspell directory for older fedoras 2022-01-25 10:46:15 +01:00
Parag Nemade
e1f5156d0b
Update hunspell-dir path
F36 Change https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change

Signed-off-by: Parag Nemade <pnemade@fedoraproject.org>
2022-01-25 14:27:39 +05:30
Fedora Release Engineering
d36bfd1a15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 03:01:31 +00:00
Martin Stransky
b3b37bff8a Update to 96.0.1 2022-01-18 14:02:21 +01:00
Martin Stransky
bacd3c4200 merge 2022-01-11 19:49:24 +01:00
Martin Stransky
9956bb1eaf Update to Firefox 96 2022-01-11 19:47:58 +01:00
Miro Hrončok
ad9300d2e7 Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 2022-01-08 20:32:30 +01:00
Martin Stransky
951280922d Added fix fox mozbz#1744896 (VSync) 2021-12-23 11:57:55 +01:00
Martin Stransky
caf7474858 Added Fedora 36 build fix (mzbz#1745560) 2021-12-22 13:08:56 +01:00
Martin Stransky
c70ece2f35 changelog fix 2021-12-20 12:57:28 +01:00
Martin Stransky
4bdababddf Updated to 95.0.2 / Enabled Wayland on KDE by default 2021-12-20 12:46:02 +01:00
Martin Stransky
68f9ad4d6a Updated symbolic icon (rhbz#2028939) 2021-12-09 22:00:55 +01:00
Martin Stransky
4cb1381d80 build fixes 2021-12-06 13:12:31 +01:00
Martin Stransky
660dba72e9 Updated to 95.0 2021-12-03 16:08:19 +01:00
Martin Stransky
9d731f880f Updated to 92.0.2 2021-11-25 10:22:35 +01:00
Martin Stransky
3bb9b07009 Added fix for mozbz#1739924 / rhbz#2020981 2021-11-19 09:31:58 +01:00
Martin Stransky
ff8d52acc2 Disable aarch64 due to build failures bugzilla.redhat.com/show_bug.cgi?id=2019160 2021-11-02 09:32:25 +01:00
Martin Stransky
3b9f829218 Disabled debuginfo on aarch64/fedora33 2021-11-01 18:53:51 +01:00
Martin Stransky
8af4634e76 Updated to 94.0 2021-11-01 12:38:56 +01:00
Martin Stransky
7694527ef5 Require NSS 3.70 2021-10-07 23:13:13 +02:00
Martin Stransky
9a6959ca22 Updated to Firefox 93.0 2021-10-06 09:22:57 +02:00
Martin Stransky
33af61101f Updated to 92.0.1 2021-09-27 11:37:08 +02:00
Martin Stransky
fc69159c16 fixed GMP sandbox patch 2021-09-13 18:00:51 +02:00
Martin Stransky
375e665e34 Added fix for mozbz#1725828 2021-09-13 17:03:20 +02:00
Martin Stransky
94eceee642 Fix build dependecies 2021-09-09 12:15:10 +02:00
Martin Stransky
338e1bb21b disabled tests 2021-09-09 05:50:23 +02:00
Martin Stransky
7efdcffe59 Added pciutils-libs to buildreq 2021-09-07 17:44:56 +02:00
Martin Stransky
b1cadbebbf Build fixes 2021-09-07 15:33:17 +02:00
Martin Stransky
02021e6135 Added fix for mozbz#1708709 2021-09-07 10:47:32 +02:00
Martin Stransky
79e725aec1 Updated to 92.0 2021-09-03 19:25:17 +02:00
Martin Stransky
bca8519a80 Updated 91.0.2 2021-08-26 09:36:19 +02:00
Martin Stransky
9bcddab8fd Added fix for mozbz#1726515 2021-08-23 12:45:27 +02:00
Martin Stransky
43910c991d Updated Fedora UA patch by Eric Engestrom (https://src.fedoraproject.org/rpms/firefox/pull-request/21) 2021-08-23 12:11:05 +02:00
Martin Stransky
c4b86655eb Set %%build_with_clang automatically based on %%toolchain 2021-08-23 12:03:44 +02:00
Martin Stransky
bda8acc88f Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2021-08-23 11:34:39 +02:00
Martin Stransky
712ce7d35c Updated to 91.0.1 2021-08-23 11:34:31 +02:00
Jan Horak
6cbbe92554 Make mach build verbose 2021-08-18 09:36:09 +02:00
Martin Stransky
6f1bee9d19 Update test files 2021-08-12 15:19:00 +02:00
Martin Stransky
b9def774e6 Updated to 91.0 2021-08-11 13:56:24 +02:00
Martin Stransky
a153f8a474 Fixed typo at with-unsigned-addon-scopes 2021-08-04 09:54:59 +02:00
Martin Stransky
9ff5974999 Added fix for rhbz#1988841 - Allow unsigned extensions when installed under non-user-writable dirs 2021-08-04 08:44:21 +02:00
Martin Stransky
4bbd4de4be merged 2021-07-22 22:05:40 +02:00
Martin Stransky
fa16d5b5aa Updated to 90.0.2 2021-07-22 22:03:50 +02:00
Fedora Release Engineering
62edaad605 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 22:59:09 +00:00
Martin Stransky
690197670a Updated to 90.0.1, build fixes 2021-07-21 12:16:23 +02:00
Martin Stransky
f1a9c76f38 Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2021-07-15 13:07:37 +02:00
Martin Stransky
d03875f6f3 Disabled Wayland backend on KDE due to https://bugzilla.mozilla.org/show_bug.cgi?id=1714132 2021-07-15 13:07:26 +02:00
Kalev Lember
3448cc856c Fix files list for flatpak builds
Add new files from commit e4a12e3825 to
files list.
2021-07-14 09:51:37 +02:00
Martin Stransky
93f35fa8fd Added xorg-x11-server-Xwayland dependency for Mutter 2021-07-13 10:04:55 +02:00
Martin Stransky
9bf28589c3 Enable testing 2021-07-12 14:18:44 +02:00
Martin Stransky
07a0a494bf Updated to 90.0 2021-07-12 14:17:08 +02:00
Martin Stransky
3c537224b4 Update to 90.0 2021-07-12 14:15:33 +02:00
Daiki Ueno
e4a12e3825 flatpak: Enable loading system trust store on the host
This directs the libnssckbi.so symlink to p11-kit-client.so, instead
of p11-kit-trust.so, so Firefox flatpak can access the system trust
store on the host.  Since the /usr filesystem is read-only, this
creates the link in /app/lib64, which is added to LD_LIBRARY_PATH
inside flatpak.  A symlink to libnss3.so also needs to be created in
the same directory, to trick the directory search order in
ListPossibleLoadableRootsLocations:
https://hg.mozilla.org/mozilla-central/file/8e850fd29a957f505e0355c1326279e06e9040bb/security/manager/ssl/nsNSSComponent.cpp#l970

Signed-off-by: Daiki Ueno <dueno@redhat.com>
2021-07-12 13:38:30 +02:00
Martin Stransky
7edb7c195a changelog fix 2021-06-30 12:27:19 +02:00
Martin Stransky
30110df460 Added fix for mozbz#1715254 (rhbz#1976892) 2021-06-30 12:24:15 +02:00
Martin Stransky
a581231171 Updated to latest upstream (89.0.2) 2021-06-24 10:43:43 +02:00
Martin Stransky
268d397a30 Disable armv7hl on Fedora 33 due to https://bugzilla.redhat.com/show_bug.cgi?id=1966949 2021-06-15 14:33:53 +02:00
Martin Stransky
4be27bb7af Added fix for mozbz#1646135 - Disabled Wayland/Webrender on NVIDIA drivers 2021-06-14 17:36:56 +02:00
Martin Stransky
53b26adcc4 Disabled arm due to bugzilla.redhat.com/show_bug.cgi?id=1966949 2021-06-02 10:39:41 +02:00
Martin Stransky
cb71b53f7d Removed mozilla-1580595.patch 2021-06-01 17:15:16 +02:00
Martin Stransky
6f7b8dbb9a Nss req up 2021-06-01 17:12:53 +02:00
Martin Stransky
5ac20193cb Updated cbindgen 2021-06-01 16:40:28 +02:00
Martin Stransky
17d890fb1e new sources 2021-06-01 12:07:33 +02:00
Martin Stransky
9dfa7a1527 Updated to Firefox 89.0 2021-06-01 10:15:57 +02:00
Martin Stransky
1acf4796b3 Updated to latest upstream (88.0.1) 2021-05-10 10:32:54 +02:00
Martin Stransky
c213080431 Added fix for WebRTC indicator - mozilla#1705048 2021-05-04 15:49:34 +02:00
Martin Stransky
63a2618a07 Added pciutils-libs req (rhbz#1955338), Enabled Wayland on KDE (rhbz#1922608) 2021-04-30 11:46:47 +02:00
Martin Stransky
5571ee7403 Fixed xpcshell freezes 2021-04-30 10:58:16 +02:00
Martin Stransky
4d8fcd73a4 Test fix 2021-04-27 22:44:20 +02:00
Martin Stransky
fcf7279272 Build fixes, test update 2021-04-27 14:35:17 +02:00
Martin Stransky
53dac96cc2 release up 2021-04-23 10:32:49 +02:00
Martin Stransky
899bfb43c6 Added fix for mozbz#1580595 - mouse pointer lock. 2021-04-23 10:30:49 +02:00
Martin Stransky
48cc4c5be5 Added missing patch 2021-04-22 16:01:55 +02:00
Martin Stransky
3180583dfa build fixes 2021-04-22 15:55:40 +02:00
Martin Stransky
defc416c28 Build with crashreporter enabled 2021-04-22 08:07:34 +02:00
Martin Stransky
156f7fd734 Added clipboard fix mzbz#1703763 2021-04-21 09:58:14 +02:00
Martin Stransky
bdb2a668ff Disabled crashreporer, require nss 3.63 2021-04-20 16:46:41 +02:00
Martin Stransky
97efc42d63 Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2021-04-20 09:11:59 +02:00
Martin Stransky
c78ce968a8 Updated to 88.0 2021-04-20 09:11:49 +02:00
Tomas Hrnciar
ee402591ab BuildRequire setuptools explicitly
See https://fedoraproject.org/wiki/Changes/Reduce_dependencies_on_python3-setuptools
2021-04-19 13:18:31 +02:00
Martin Stransky
18b80a26fe Added fix for mozbz#1701089 (Widevine playback issues) 2021-04-12 10:46:19 +02:00
Martin Stransky
05b9a9097b Added wayland focus workaround - mzbz#1703657 2021-04-07 22:06:27 +02:00
Martin Stransky
0dc9710418 Enabled xpcshell/crashtests on Wayland 2021-04-06 09:58:31 +02:00
Martin Stransky
f6cd43f449 Add missing build deps 2021-04-05 20:30:08 +02:00
Martin Stransky
9869746357 Fixed wayland tests/PGO, enable PGO on Fedora 33+ 2021-04-04 18:51:01 +02:00
Martin Stransky
bbea15a874 Added fix for mozbz#1702606 / rhbz#1936071, Switched tests back to X11 due to massive failures 2021-04-01 20:21:43 +02:00
Martin Stransky
146396135c spec fix 2021-04-01 11:34:35 +02:00
Martin Stransky
bcf0095538 Run testsuite on Wayland on Fedora 33+, Spec cleanup 2021-04-01 11:32:10 +02:00
Martin Stransky
d060f6fe29 Added fix for mozbz#1693472 - Wayland/KDE rendering issues 2021-03-31 18:06:16 +02:00
Martin Stransky
8f6a5e7dc4 Added fix for mozbz#1693472 - Wayland/KDE rendering issues 2021-03-31 18:05:14 +02:00
Jonathan Wakely
83290b83e7 Rebuilt for removed libstdc++ symbol (#1937698) 2021-03-30 19:36:06 +01:00
Martin Stransky
f9687bc9ac Merge branch 'main' into f34 2021-03-30 09:02:14 +02:00
Martin Stransky
92a764c2a3 Reftest fix 2021-03-30 09:01:38 +02:00
Martin Stransky
d75359e733 Merge branch 'main' into f34 2021-03-29 18:58:06 +02:00
Martin Stransky
90ab351db0 Fedora 32 build fix 2021-03-29 18:57:40 +02:00
Martin Stransky
77d68081bc Merge branch 'main' into f34 2021-03-29 16:31:00 +02:00
Martin Stransky
deea491260 More test fixes, Enabled ppc64le, Disabled crashreporter on Fedora 34+ 2021-03-29 16:27:02 +02:00
Martin Stransky
ecc897a619 Merge branch 'main' into f34 2021-03-25 20:15:25 +01:00
Martin Stransky
126134329e Enable crashreporter on Fedora 34+ 2021-03-25 20:14:55 +01:00
Martin Stransky
8204271009 Merge branch 'main' into f34 2021-03-24 19:31:40 +01:00
Martin Stransky
624b802b9c xpcshell-test fixes 2021-03-24 19:31:06 +01:00
Martin Stransky
e6c8746d37 Merge branch 'main' into f34 2021-03-24 15:59:29 +01:00
Martin Stransky
e4ae574472 Enabled tests, disabled arm 2021-03-24 15:58:33 +01:00
Martin Stransky
cd5875a817 Merge branch 'main' into f34 2021-03-23 10:31:39 +01:00
Martin Stransky
91add2d4f7 Updated to 87.0 2021-03-23 10:29:22 +01:00
Martin Stransky
3d13c8adfa Merge branch 'main' into f34 2021-03-13 16:42:18 +01:00
Martin Stransky
8ce8e0ad9f Enabled arm 2021-03-13 16:41:44 +01:00
Martin Stransky
d943482a84 Merge branch 'main' into f34 2021-03-13 16:33:29 +01:00
Martin Stransky
ca19f446c5 Disable ppc64le on Fedora 34 due to https://bugzilla.redhat.com/show_bug.cgi?id=1933742 2021-03-13 16:33:00 +01:00
Martin Stransky
66c538f0f2 Merge branch 'main' into f34 2021-03-12 12:36:59 +01:00
Martin Stransky
5e9102a9fe Update to latest upstream (86.0.1) 2021-03-12 12:36:34 +01:00
Martin Stransky
a1c75d68cf Merge branch 'main' into f34 2021-03-10 09:19:58 +01:00
Martin Stransky
ba88443605 Temporary disable ppc64le/Fedora 35 due to https://bugzilla.redhat.com/show_bug.cgi?id=1933742 2021-03-10 09:17:10 +01:00
Martin Stransky
b40693305c Merge branch 'main' into f34 2021-03-03 17:31:25 +01:00
Martin Stransky
efc3d162e1 Reftest fix 2021-03-03 17:30:01 +01:00
Martin Stransky
4a8ca8ee45 Merge branch 'main' into f34 2021-03-03 15:14:44 +01:00
Martin Stransky
c9b8b418a1 Merge branch 'f33' into rawhide 2021-03-03 15:02:45 +01:00
Martin Stransky
6d9335e885 Merge branch 'main' into f34 2021-03-03 15:01:22 +01:00
Martin Stransky
8f2ad85567 Merge branch 'main' into f33 2021-03-03 15:01:16 +01:00
Martin Stransky
806d3f55bd Run tests on intel only 2021-03-03 15:01:05 +01:00
Martin Stransky
9ebc9be748 Added fix for mozbz#1694670 - merge 2021-03-03 14:59:03 +01:00
Martin Stransky
0cbb109e1c Added fix for mozilla#1694670 2021-03-03 14:57:59 +01:00
Martin Stransky
8f5618205c Added fix for mozilla#1694670 2021-03-03 14:57:49 +01:00
Martin Stransky
5e9709c411 Merge branch 'f33' into rawhide 2021-03-02 19:25:51 +01:00
Martin Stransky
1a0e643278 Removed test_encrypted_client_hello.js test 2021-03-02 19:25:35 +01:00
Martin Stransky
06166d7401 test fix 2021-03-02 15:15:35 +01:00
Martin Stransky
e606513ccc test polish 2021-03-02 11:34:41 +01:00
Martin Stransky
8746ce4b3a Release up 2021-03-02 09:02:46 +01:00
Martin Stransky
4c51d6a65a Test fixes 2021-03-02 09:01:48 +01:00
Martin Stransky
eda702a952 Log reftest results as HTML 2021-03-02 08:11:18 +01:00
Martin Stransky
2859c0f127 Run xpcshell tests sequential 2021-03-01 19:39:12 +01:00
Martin Stransky
818bcfb481 Enable Wayland backend when Wayland display is set 2021-03-01 15:10:18 +01:00
Martin Stransky
d0f12344f4 Added icecat-78.7.1-fix_error_template_with_C_linkage.patch to build on F34+ 2021-03-01 13:48:20 +01:00
Martin Stransky
a57a03dc89 Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide 2021-03-01 13:47:02 +01:00
Martin Stransky
3507a285d1 Added icecat-78.7.1-fix_error_template_with_C_linkage.patch to build on F34+ 2021-03-01 13:46:57 +01:00
Martin Stransky
0e3347ccfd Added icecat-78.7.1-fix_error_template_with_C_linkage.patch to build on F34+ 2021-03-01 13:46:44 +01:00
Martin Stransky
57fcfb5e75 Nss version up 2021-02-27 10:29:30 +01:00
Martin Stransky
11cd4df669 f32 build fixes 2021-02-27 10:21:56 +01:00
Martin Stransky
498b7e2fa5 Build with system nss 2021-02-26 08:26:50 +01:00
Martin Stransky
5f5997630b Updated to 86.0 2021-02-24 12:39:29 +01:00
Martin Stransky
f41f7d868d Merge branch 'main' into f33 2021-02-23 12:09:43 +01:00
Martin Stransky
ad8d32e847 Test tweak 2021-02-23 12:09:27 +01:00
Martin Stransky
2aea7c4973 Merge branch 'main' into f33 2021-02-23 11:54:34 +01:00
Martin Stransky
1f9e6ebbfe Fixed reftests in mock 2021-02-23 11:54:14 +01:00
Martin Stransky
fe0b918890 Merge branch 'main' into f33 2021-02-08 17:21:55 +01:00
Martin Stransky
603d980e8c Updated to 85.0.1 2021-02-08 17:18:10 +01:00
Dan Horák
2fe076f06f Fix parameter passing on ppc64le (mozb#1690152) 2021-02-03 12:07:56 +01:00
Kalev Lember
634d3e1ea3 Remove gtk2 support as flash plugin is no longer supported
ESR91 is supposed to drop gtk2 support, but in the mean time, we can
just rm the gtk2 libmozgtk.so as we are using gtk3 by default. The last
supported plugin -- adobe flash -- is no longer supported in Firefox 85,
so we no longer need to keep the gtk2 libmozgtk around for the plugin
loader.

https://pagure.io/fedora-workstation/issue/180
2021-02-02 16:43:35 +01:00
Martin Stransky
7effc75904 Merge branch 'master' into f33 2021-02-01 16:24:14 +01:00
Martin Stransky
090200f68b Add Changelog 2021-02-01 16:23:56 +01:00
Martin Stransky
08858f399d Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2021-02-01 16:22:39 +01:00
Martin Stransky
68ac29b2c1 Enable WebRender on Wayland/KDE 2021-02-01 16:22:29 +01:00
Kalev Lember
7e3bd66d74 Fix warnings from requires filtering
Avoid using %{name} in %{mozappdir} definition as it's expanded
separately for each subpackage when doing requires filtering, which then
leads to expanding it as /usr/lib64/firefox, /usr/lib64/firefox-x11,
/usr/lib64/firefox-wayland etc, which is incorrect.

Just spell out "firefox" instead of "%{name}" to avoid this.

find: ‘/builddir/build/BUILDROOT/firefox-85.0-8.npgo.fc33.x86_64/usr/lib64/firefox-x11’: No such file or directory
2021-02-01 12:23:49 +01:00
Martin Stransky
939db8b115 Merge branch 'master' into f33 2021-01-31 12:42:27 +01:00
Martin Stransky
70bb7dede6 Disabled crashreporter on rawhide due to bugzilla.redhat.com/show_bug.cgi?id=1922744 2021-01-31 12:42:08 +01:00
Martin Stransky
fd235e9f29 Merge branch 'master' into f33 2021-01-30 16:01:54 +01:00
Martin Stransky
85ed0e903c Enable Wayland backend on Fedora 34/KDE/Plasma (and other compositors) by default. 2021-01-30 16:01:39 +01:00
Martin Stransky
d0cb142ca3 Merge branch 'master' into f33 2021-01-30 15:21:26 +01:00
Martin Stransky
96e0061c83 ARM / Rawhide PGO updates to produce rahide build 2021-01-30 15:20:47 +01:00
Martin Stransky
6bb6aa10c1 Merge branch 'master' into f33 2021-01-30 14:57:46 +01:00
Martin Stransky
5a70ac803a Added clipboard fix mozbz#1631061. 2021-01-30 14:57:30 +01:00
Martin Stransky
490f23e1dd Added clipboard fix mozbz#1631061. 2021-01-30 14:56:07 +01:00
Martin Stransky
cee1091026 Added clipboard fix mozbz#1631061. 2021-01-30 14:55:47 +01:00
Kalev Lember
00f050ca50 Make provides/requires filtering smarter/automatic
The issue with the previous approach was that _everything_ that
firefox's shared libraries required was filtered out. This included e.g.
libxul.so's dependency on libdbus-glib-1.so.2 which definitely should
not be filtered out.

Instead, a better approach is to only filter out all of the private
libraries provides (as they are firefox's implementation detail) and
also all the internal requires on the same private libraries.

RPM doesn't make it very easy, but the rudimentary filtering is there
and we can build upon that. This commit improves the filtering by making
it actually look at what's built, and automatically generating the list
of private libraries to filter based on that.

This also lets us drop manual dbus-glib requires and instead rely on
rpm's automatic dep generator (the results are no longer filtered out).

This should make the filtering future proof when more private libraries
are added in the future (e.g. nss).

https://bugzilla.redhat.com/show_bug.cgi?id=1582116
2021-01-28 14:26:06 +01:00
Martin Stransky
b0526b0936 Merge branch 'master' into f33 2021-01-28 13:45:41 +01:00
Martin Stransky
3ee1da498c Add dbus-glib requires 2021-01-28 13:45:22 +01:00
Martin Stransky
da847de67e Merge branch 'master' into f33 2021-01-26 23:47:20 +01:00
Martin Stransky
9892072ed8 Added fix for mozbz#1679933 - startup crash 2021-01-26 23:47:03 +01:00
Fedora Release Engineering
1fd14fa8e1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 05:33:47 +00:00
Martin Stransky
96ecdd6dff Merge branch 'master' into f33 2021-01-25 15:35:26 +01:00
Martin Stransky
f8dd69acc0 Switch to system NSS 3.60 2021-01-25 15:35:10 +01:00
Martin Stransky
eb94ecde7c Merge branch 'master' into f33 2021-01-25 15:19:01 +01:00
Martin Stransky
afa323cda0 Added mozbz#1678247 2021-01-25 15:18:39 +01:00
Jan Horak
9946e9ffbe Fixing libxul requires 2021-01-22 12:41:56 +01:00
Martin Stransky
56bb57adac Merge branch 'master' into f33 2021-01-22 11:21:26 +01:00
Martin Stransky
96a77865b8 Removed mzbz#1645695 as it causes a popup regression 2021-01-22 11:20:50 +01:00
Martin Stransky
5c8d9b2472 Merge branch 'master' into f33 2021-01-22 09:37:46 +01:00
Martin Stransky
c302989fdf Disable crashreporter when building without debuginfo 2021-01-22 09:37:18 +01:00
Martin Stransky
7f14edb2bc Merge branch 'master' into f33 2021-01-21 19:04:00 +01:00
Martin Stransky
04e2d77e46 Removed unused patches 2021-01-21 19:03:40 +01:00
Martin Stransky
a11efdd503 Merge branch 'master' into f33 2021-01-21 13:56:18 +01:00
Martin Stransky
ef830a0c93 Update to 85.0 2021-01-21 13:55:58 +01:00
Jan Horak
9be9b1e03e Fixing package requires/provides 2021-01-20 16:46:59 +01:00
Martin Stransky
3ee99c9dd9 Merge branch 'master' into f33 2021-01-20 16:35:27 +01:00
Martin Stransky
e369e8cae9 Added patch for mozilla bug 1645695 2021-01-20 16:35:08 +01:00
Martin Stransky
9c6d6274ed Merge branch 'master' into f33 2021-01-19 19:07:34 +01:00
Martin Stransky
c011d6ef88 Fixed mzbz#164294 regression 2021-01-19 19:07:12 +01:00
Martin Stransky
74d4485a49 Merge branch 'master' into f33 2021-01-15 10:30:03 +01:00
Martin Stransky
124546e834 changelog fix 2021-01-15 10:29:37 +01:00
Martin Stransky
51c7ea5b49 Merge branch 'master' into f33 2021-01-15 10:25:06 +01:00
Martin Stransky
8d06c8b3e1 Added WebRender fix (mozbz#1681107). 2021-01-15 10:23:50 +01:00
Martin Stransky
6823826f79 Merge branch 'master' into f33 2021-01-14 14:06:33 +01:00
Martin Stransky
bd21b7a580 firefox test package name fix 2021-01-14 14:06:16 +01:00
Martin Stransky
93f0d9f3e5 Removed failing tests, spec file tweaks 2021-01-14 11:23:35 +01:00
Martin Stransky
8167f607a4 Merge branch 'master' into f33 2021-01-13 09:56:02 +01:00
Martin Stransky
5bdbffadee Updated directory with test results 2021-01-13 09:55:30 +01:00
Martin Stransky
980824ac9b Merge branch 'master' into f33 2021-01-12 22:37:13 +01:00
Martin Stransky
a8b9dbd7d9 Enabled LTO in Firefox build system 2021-01-12 22:36:56 +01:00
Martin Stransky
227f23fb4c Merge branch 'master' into f33 2021-01-12 22:33:58 +01:00
Martin Stransky
1fd16dc661 Enable PGO on Rawhide 2021-01-12 22:33:37 +01:00
Martin Stransky
9fa380d65c Merge branch 'master' into f33 2021-01-12 14:18:01 +01:00
Martin Stransky
23e43ccad7 Fixed changelog 2021-01-12 14:17:45 +01:00
Martin Stransky
86fec660f2 Merge branch 'master' into f33 2021-01-12 14:15:54 +01:00
Martin Stransky
57acc687d0 Removed failing xpcshell/reftests, test tweaks 2021-01-12 14:15:37 +01:00
Martin Stransky
b3f062130f Merge branch 'master' into f33 2021-01-11 13:36:28 +01:00
Martin Stransky
d4a7089f0c Added a workaround for rhbz#1908018 2021-01-11 13:35:55 +01:00
Martin Stransky
83be9a9005 Temporary disable tests on rahide/arm/i686 due to failures 2021-01-11 11:23:00 +01:00
Martin Stransky
de6c1ba588 Run xpcshell-test in paralell on Wayland 2021-01-11 11:14:03 +01:00
Martin Stransky
c46938be64 Merge branch 'master' into f33 2021-01-06 14:01:33 +01:00
Martin Stransky
2580b8e407 new sources: 2021-01-06 13:09:25 +01:00
Martin Stransky
1bc15ffb42 Merge branch 'master' into f33 2021-01-06 11:00:16 +01:00
Martin Stransky
387fc84852 Updated to 84.0.2 2021-01-06 10:59:55 +01:00
Martin Stransky
c8c93a4f8d Merge branch 'master' into f33 2021-01-05 18:44:28 +01:00
Martin Stransky
f31d3e52b3 test tweaks 2021-01-05 18:44:12 +01:00
Martin Stransky
bc34c2ba17 Fix missing test_failures.txt file 2021-01-05 15:40:59 +01:00
Martin Stransky
e8dd3240a4 Don't fail on tests 2021-01-05 15:28:24 +01:00
Martin Stransky
3f23832808 :x 2021-01-05 10:41:15 +01:00
Martin Stransky
44a5ec87b3 merge 2021-01-05 10:38:57 +01:00
Martin Stransky
9a75dee4c8 Release up 2021-01-05 10:35:27 +01:00
Jan Horak
442afe94ba Removing requires/provides of the bundled libraries 2021-01-05 09:52:24 +01:00
Martin Stransky
d90f815038 Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2021-01-05 09:32:38 +01:00
Martin Stransky
445c283c34 Merge branch 'master' into f33 2021-01-05 09:32:06 +01:00
Martin Stransky
a98651098c Allow tests to fail 2021-01-05 09:31:54 +01:00
Tom Stellard
827afe3683 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-05 00:31:16 +00:00
Martin Stransky
51b68afd6a Merge branch 'master' into f33 2021-01-04 22:02:29 +01:00
Martin Stransky
91eeb94fee Enabled tests 2021-01-04 22:02:09 +01:00
Martin Stransky
8b6dc7fb98 Merge branch 'master' into f33 2021-01-04 08:10:39 +01:00
Martin Stransky
50bcf1e19e Enabled armv7hl arch on rawhide 2021-01-04 08:10:20 +01:00
Martin Stransky
851602cfe3 Merge branch 'master' into f33 2020-12-23 10:43:30 +01:00
Martin Stransky
67833c12c2 Disabled armv7hl build on rawhide due to rhbz#1910277, Build with system nss on rawhide (rhbz#1908791) 2020-12-23 10:43:17 +01:00
Martin Stransky
2c8b2d2cb7 Merge branch 'master' into f33 2020-12-23 10:31:30 +01:00
Martin Stransky
0c8e9ec7b7 Reverted mzbz#1631061 due to clipboard regressions 2020-12-23 10:31:12 +01:00
Martin Stransky
ede0237c17 Merge branch 'master' into f33 2020-12-22 14:11:18 +01:00
Martin Stransky
e3b23db4ef Removed __provides_exclude_from 2020-12-22 14:10:58 +01:00
Martin Stransky
03f24df291 Removed __provides_exclude_from 2020-12-22 14:09:50 +01:00
Martin Stransky
b66e1288c5 Reverted rhbz@1908791 due to https://bugzilla.redhat.com/show_bug.cgi?id=1908791#c12 2020-12-22 11:36:19 +01:00
Martin Stransky
bec5fd3443 Added fix for mozbz#1631061, temporary build with build with nss 3.59.0 2020-12-22 11:19:48 +01:00
Martin Stransky
23f70d829e Updated to 84.0.1 2020-12-22 07:34:29 +01:00
Martin Stransky
b0b941cd52 dd 2020-12-22 07:24:42 +01:00
Martin Stransky
018c3c2bae dd 2020-12-22 07:23:35 +01:00
Miro Hrončok
58db833ffc Filter out private libraries provides 2020-12-20 17:09:35 +01:00
Martin Stransky
0bca9e286b spec tweak 2020-12-17 08:10:02 +01:00
Martin Stransky
da83c47ed4 Disable PGO on Rawhide due to build issues, Disable system nss on Rawhide due to rhbz#1908018, Enabled system nss on Fedora 33/32 2020-12-17 07:32:44 +01:00
Martin Stransky
100e09ad23 Run xpcshell tests sequentially 2020-12-16 19:32:47 +01:00
Martin Stransky
80e8837e16 Release up 2020-12-16 19:20:37 +01:00
Martin Stransky
6ed69e29be Build with tests enabled 2020-12-16 18:16:59 +01:00
Martin Stransky
bfe259c9fa Disabled LTO due to massive test failures 2020-12-16 18:07:30 +01:00
Martin Stransky
e29a7e2a1d Disabled system nss due to addon breakage (rhbz#1908018). 2020-12-16 11:37:49 +01:00
Martin Stransky
33108b9457 Release up, added testing 2020-12-15 12:29:24 +01:00
Martin Stransky
c61a7166c6 Disabled tests, mock build fixes 2020-12-15 12:14:17 +01:00
Martin Stransky
757ced5c2a Remove MOZ_ENABLE_WAYLAND=0 as it run Firefox on Wayland 2020-12-14 21:32:35 +01:00
Martin Stransky
2f682bc905 Added missing file 2020-12-14 20:44:05 +01:00
Martin Stransky
68d111b1eb Removed -j64 2020-12-14 20:31:31 +01:00
Martin Stransky
21adcd9806 Update to 84 B2, Test update 2020-12-14 15:12:55 +01:00
Martin Stransky
378efd26a5 Nss version up to 3.59 and remove old nss entries 2020-12-11 13:31:56 +01:00
Martin Stransky
3e986258d3 Add libva requires, removed wayland_backend_default spec option 2020-12-11 13:26:36 +01:00
Martin Stransky
3a6292ceff Remove executable bits from third_party/rust/ash/src/extensions/nv/* 2020-12-11 08:16:38 +01:00
Martin Stransky
f612bd47ce Test on X11 only 2020-12-10 22:02:23 +01:00
Martin Stransky
7b9a3f8c10 Build/test fixes 2020-12-10 21:59:50 +01:00
Martin Stransky
feba2cc76d Updated to Firefox 84 2020-12-10 20:02:09 +01:00
Martin Stransky
196b61c382 Disable global lto 2020-12-09 21:46:07 +01:00
Martin Stransky
1eea5d7c7f Added missing patch 2020-12-09 16:58:08 +01:00
Martin Stransky
29d82650ed changelog fix 2020-12-09 12:44:44 +01:00
Martin Stransky
6cebbf0a2a Fixed tests on all platforms, enabled crash reporter 2020-12-09 12:41:49 +01:00
Martin Stransky
424613e943 Enable LTO on Fedora 33+ 2020-12-08 12:48:01 +01:00
Martin Stransky
aca41cd8ec Test fix 2020-12-03 16:26:03 +01:00
Martin Stransky
91e11d4448 Set tests timeout to 1, enabled LTO 2020-12-02 08:35:08 +01:00
Martin Stransky
3f5109ef95 Enabled LTO 2020-12-01 21:03:57 +01:00
Martin Stransky
8a50c1d028 added missing patch 2020-12-01 21:01:14 +01:00
Martin Stransky
8145bf4155 spec tweak 2020-12-01 20:56:34 +01:00
Martin Stransky
3b8656c96a Added fix for mozbz#1672139 2020-12-01 16:24:46 +01:00
Martin Stransky
fc0089e5a1 Added fix for mozbz#1672139 2020-12-01 16:24:25 +01:00
Martin Stransky
41c6a12210 spec fix 2020-12-01 16:01:15 +01:00
Martin Stransky
42bfda0485 Test fixes 2020-12-01 11:17:26 +01:00
Martin Stransky
02791b1506 Updated test printing 2020-11-30 14:08:31 +01:00
Martin Stransky
3a1580eca2 Mochitest tweaking 2020-11-30 13:10:49 +01:00
Martin Stransky
f11a798b39 Added fix for mzbz#1678680 2020-11-28 10:09:12 +01:00
Martin Stransky
fb48de5e23 Added mochitest test files 2020-11-28 07:13:13 +01:00
Martin Stransky
e36bb4e634 Added fix for rhbz#1900542 2020-11-25 10:42:45 +01:00
Martin Stransky
97999f62af Export MOZ_GMP_PATH from /usr/bin/firefox script (https://pagure.io/fedora-workstation/issue/126) 2020-11-25 09:38:04 +01:00
Martin Stransky
4b86827d56 Fix mochitest 2020-11-24 20:52:59 +01:00
Martin Stransky
378e1130a2 Copy test results to version/release subdir 2020-11-24 14:45:01 +01:00
Martin Stransky
152e88d96c Test result tweak 2020-11-24 06:56:13 +01:00
Martin Stransky
8751eb0f1d Added missing sources 2020-11-23 22:08:56 +01:00
Martin Stransky
5e4620df5a Updated tests 2020-11-23 18:49:00 +01:00
Martin Stransky
fc3de2e6e3 Test update 2020-11-21 08:41:08 +01:00
Martin Stransky
d7358f6a24 Test debugging 2020-11-20 23:26:15 +01:00
Martin Stransky
8f6c83fab6 Fixed x11 tests 2020-11-20 22:24:45 +01:00
Martin Stransky
2193d9e52a Added python2.7 as test req 2020-11-20 21:16:57 +01:00
Martin Stransky
c2b7de70ab Added nss-tools to tests 2020-11-20 15:21:29 +01:00
Martin Stransky
07235f6acb Added testing patch 2020-11-20 13:09:17 +01:00
Martin Stransky
0c7ca0f53b Build with tests enabled 2020-11-20 12:27:58 +01:00
Martin Stransky
271322febb Enabled LTO 2020-11-18 21:16:59 +01:00
Martin Stransky
44d3de1ecd Enabled LTO 2020-11-18 21:14:37 +01:00
Martin Stransky
f79604d2a5 Enable all arches 2020-11-18 10:11:01 +01:00
Martin Stransky
220116a9eb spec fix 2020-11-17 23:08:39 +01:00
Martin Stransky
e2744f3440 Temporary disabled s390x/arm/aarch32 2020-11-17 22:53:24 +01:00
Martin Stransky
d19c6b024f Release up and spec polishing 2020-11-17 22:52:02 +01:00
Martin Stransky
5c1d21584b Updated to 83.0 build 2 2020-11-16 11:19:59 +01:00
Martin Stransky
e195e73bd9 Build with enabled tests 2020-11-13 23:02:02 +01:00
Martin Stransky
df7299e442 Use mas 2 build process on aarch64/arm/s390x 2020-11-13 19:22:57 +01:00
Martin Stransky
e5e2e59c4e Updated build dependencies and cbindgen version 2020-11-13 11:33:01 +01:00
Martin Stransky
d6756537dd Updated to 83.0, Updated PipeWire patches from mozbz#1672944 2020-11-12 14:33:57 +01:00
Martin Stransky
be686cde3c changelog date fix 2020-11-10 14:54:27 +01:00
Martin Stransky
cedcc700ee Request openh264 on F32+ 2020-11-10 14:51:12 +01:00
Martin Stransky
7d033e0b19 Added fix for mozbz#1885133 2020-11-10 14:48:46 +01:00
Martin Stransky
73b9e8b006 changelog date fix 2020-11-09 19:37:46 +01:00
Martin Stransky
51c2280ec1 Merge 2020-11-09 19:34:30 +01:00
Martin Stransky
b084601e7f Updated to 82.0.3 2020-11-09 19:33:33 +01:00
Martin Stransky
7330b4441e update to 82.0.3 2020-11-09 19:32:43 +01:00
Kalev Lember
83a10190cb Include date in appdata release tags
Otherwise flatpak ignores them.
2020-11-09 12:23:30 +01:00
Tomas Popela
38402af519 Exclude s390x as it still fails to build
There are still some other problems, see
https://koji.fedoraproject.org/koji/taskinfo?taskID=55048351
2020-11-09 08:24:23 +01:00
Tomas Popela
8c429e5430 Re-enable s390x buils by backporting a change from Thunderbird
https://src.fedoraproject.org/rpms/thunderbird/c/5f0bec1b5b79e117cc469710afbfa4d008af9c29?branch=master
2020-11-06 14:41:06 +01:00
Martin Stransky
e8bf188457 Recommends: openh264 2020-11-06 14:35:20 +01:00
Martin Stransky
3ded7aa8e6 Added mozilla-openh264 dependency to play H264 clips out of the box, Updated Firefox tests 2020-11-05 08:12:57 +01:00
Martin Stransky
5f5832347d Disabled LTO again. 2020-11-03 19:02:27 +01:00
Martin Stransky
256eedbe3d NSS debug build 2020-11-03 09:23:08 +01:00
Martin Stransky
c62730d164 Temporary disable crashreporter on F33 due to build failures 2020-10-30 08:25:32 +01:00
Martin Stransky
496994f3a2 Updated to 82.0.2
, Removed mzbz#1668771 due to rhbz#1888920
2020-10-29 13:21:33 +01:00
Martin Stransky
8d5bd7e350 Update to 82.0.1 2020-10-28 10:45:45 +01:00
Martin Stransky
e5347d4b2b Added fix for mozbz#1673313 2020-10-27 11:12:19 +01:00
Martin Stransky
8f7fa14c27 Fixed mozilla-1673202.patch patch to apply 2020-10-27 10:47:08 +01:00
Martin Stransky
ada5e90424 Added fix for rawhide crashes (rhbz#1891234) 2020-10-27 10:39:44 +01:00
Martin Stransky
200975daf4 spec fix 2020-10-24 16:32:57 +02:00
Martin Stransky
c5ecb15ebb Enable LTO 2020-10-24 16:28:19 +02:00
Martin Stransky
8be766ed2c Added fix for rhbz#1889742 - Typo in /usr/bin/firefox 2020-10-20 16:32:06 +02:00
Martin Stransky
78a2fca4c6 Updated openh264 patch to use keyframes from contained for openh264 only. 2020-10-19 21:06:23 +02:00
Martin Stransky
8e3365440a Updated openh264 patch to use keyframes from contained for openh264 only 2020-10-19 21:01:34 +02:00
Martin Stransky
a16c031836 Added ELN build fixes 2020-10-19 14:45:11 +02:00
Martin Stransky
712997a5f5 Updated SELinux relabel setup (rhbz#1731371) 2020-10-16 16:49:00 +02:00
Martin Stransky
65fabb34c1 Actually disable the LTO 2020-10-16 08:19:34 +02:00
Martin Stransky
95734d0993 merge fix 2020-10-15 18:59:26 +02:00
Martin Stransky
a09dba9f97 LTO build fix 2020-10-15 18:58:35 +02:00
Martin Stransky
05688c934d Added a comment to spec file 2020-10-15 17:56:23 +02:00
Martin Stransky
beb5513224 Fix LTO worakround 2020-10-15 17:55:21 +02:00
Martin Stransky
04dc06a909 Updated to 82.0 Build 2 2020-10-15 16:32:04 +02:00
Martin Stransky
39ad1ccbc1 Added experimental openh264 seek patch (mzbz#1670333) 2020-10-15 11:07:22 +02:00
Martin Stransky
c8daf71be4 Added a partial fox for rhbz#1886722 2020-10-12 18:21:34 +02:00
Martin Stransky
d06ca67e04 Updated to 81.0.2 2020-10-12 16:31:22 +02:00
Martin Stransky
7ca551f7b3 Disabled s390x due to https://bugzilla.redhat.com/show_bug.cgi?id=1886672 2020-10-09 08:03:59 +02:00
Martin Stransky
5619d031a6 Updated mozilla-1656727.patch 2020-10-08 11:38:31 +02:00
Martin Stransky
d8a28dd1be Added fixes for mozbz#1634404, mozbz#1669495, mozbz#1656727 2020-10-08 11:29:38 +02:00
Martin Stransky
e4678b34b4 Removed mozbz#1656727 as it causes a regression rhbz#1886243 2020-10-08 08:23:50 +02:00
Martin Stransky
2c42998965 set up XDG_RUNTIME_DIR for wayland PGO builds 2020-10-07 21:55:40 +02:00
Martin Stransky
b8ea4a8525 Added mesa-dri-drivers 2020-10-07 21:01:51 +02:00
Martin Stransky
52108a07a9 Added gnome-settings-daemon build req 2020-10-07 19:20:27 +02:00
Martin Stransky
9ae8424abc Added gsettings-desktop-schemas to wayland build deps 2020-10-07 15:27:09 +02:00
Martin Stransky
3af14d6d2b Temporary disable LTO on Fedora < 33 due to GCC bug 2020-10-07 10:31:51 +02:00
Martin Stransky
b3eddc17ed Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2020-10-07 10:23:30 +02:00
Martin Stransky
2875cd508d Enabled LTO, added build fixes, removed unused patches 2020-10-07 10:22:49 +02:00
Jan Horak
8be51c4c51 Reenable s390x as https://pagure.io/koji/issue/1418 seems to be fixed 2020-10-07 08:33:56 +02:00
Martin Stransky
ef3bf44d9e Added pgo build fix 2020-10-06 21:49:08 +02:00
Martin Stransky
7bf72f012c Added fix for mozbz#1656727 2020-10-06 12:00:47 +02:00
Martin Stransky
e425f6ccfc changelog fix 2020-10-02 12:30:13 +02:00
Martin Stransky
1bc542f07d Add fix for mozbz#1668771 2020-10-02 12:27:34 +02:00
Martin Stransky
3b52fb7c93 Updated PGO patch 2020-10-01 23:12:24 +02:00
Martin Stransky
5ea2be5465 Added fix for mozbz#1661192 2020-10-01 13:47:13 +02:00
Martin Stransky
807160dda0 Added fix for mozbz#1640567, Enable PGO 2020-10-01 12:22:08 +02:00
Martin Stransky
a7f92542c9 Updated to 81.0.1 2020-09-30 22:47:19 +02:00
Martin Stransky
7e542a604d Removed fdk-aac-free dependency (rhbz#1883672), Enabled LTO 2020-09-30 13:16:06 +02:00
Martin Stransky
e6116691d2 merged with master, release up 2020-09-30 11:30:44 +02:00
Martin Stransky
d27db77328 Disabled openh264 download 2020-09-30 11:27:59 +02:00
Dan Horák
5bf600b31c - Re-enable builds for ppc64le 2020-09-26 11:50:33 +02:00
Martin Stransky
85160fd5ad Added openh264 fixes 2020-09-25 11:54:11 +02:00
Kalev Lember
bd0f865426 Enable parallel builds for aarch64
Beyond making the builds faster, this also appears to fix the build on
aarch64 (libmozgtk.so not getting built) for reasons unknown.

https://bugzilla.redhat.com/show_bug.cgi?id=1872111
2020-09-23 17:58:42 +02:00
Martin Stransky
c8a56b17a2 Added fix for rhbz#1731371 2020-09-23 09:49:57 +02:00
Kalev Lember
e7dcff0505 Re-enable builds for armv7hl and aarch64 architectures
The builds should hopefully work again now that we've disabled LTO and
PGO. aarch64 in particular is important because Workstation on aarch64
is considered a blocking deliverable and Firefox is a part of it.

https://bugzilla.redhat.com/show_bug.cgi?id=1881495#c9
2020-09-23 01:14:02 +02:00
Martin Stransky
da0238f524 Disabled PGO for Fedora33+ 2020-09-22 18:02:59 +02:00
Kalev Lember
bcd30e838b Disable LTO to work around firefox build failing in F33+ 2020-09-22 16:47:07 +02:00
Martin Stransky
4a3c4e4f88 Updated to 81 Build 2 2020-09-21 10:31:36 +02:00
Martin Stransky
574f203df5 release up, changelog fixes 2020-09-17 09:10:40 +02:00
Martin Stransky
d085be73a7 Updated requested nss version to 3.56 2020-09-17 08:32:24 +02:00
Martin Stransky
ac3e0593c4 Added upstream patches mzbz#1665324 mozbz#1665329 2020-09-17 08:05:13 +02:00
Martin Stransky
edcdab9135 Added MACH_USE_SYSTEM_PYTHON=1 2020-09-16 11:30:28 +02:00
Martin Stransky
096b8b8fb5 Added WebGL dmabuf fixes 2020-09-15 19:27:27 +02:00
Martin Stransky
74f97a94b1 Update to 81.0 2020-09-15 14:55:10 +02:00
Martin Stransky
e6e3098b9d Added fix for gcc build crash 2020-09-13 19:58:04 +02:00
Martin Stransky
0316481767 Build fixes 2020-09-13 19:51:45 +02:00
Martin Stransky
07987149e6 big endian fix 2020-09-13 19:31:59 +02:00
Martin Stransky
009c3fc7a6 Test build for all arches 2020-09-10 21:33:57 +02:00
Martin Stransky
664fa8f846 removed bogus build options 2020-09-10 10:53:15 +02:00
Martin Stransky
fc6b27e4b9 Removed bogus openh264 dependency 2020-09-10 08:40:23 +02:00
Martin Stransky
b50f976173 removed mozbz#1057646 2020-09-08 14:05:29 +02:00
Martin Stransky
37545e0448 Build with Openh264 support (mozbz#1057646) 2020-09-07 21:42:31 +02:00
Martin Stransky
9e9283e2b0 changelog fix 2020-09-04 08:36:35 +02:00
Martin Stransky
cedcf4cef3 Added patch for mozbz#1875469 / rhbz#1875469 2020-09-04 08:32:27 +02:00
Martin Stransky
eef6ef732b Updated to 80.0.1 2020-09-01 22:47:13 +02:00
komat
326fe0a9c8 Disabled aarch64 due to rhbz#1872111 2020-08-25 07:58:41 +02:00
Martin Stransky
706efcc2e9 Disabled PGO on aarch64 builds due to linking errors 2020-08-24 11:03:04 +02:00
Martin Stransky
50205986b2 spec cleanup 2020-08-21 11:14:37 +02:00
Martin Stransky
9aab7d4b46 Disabled WebGL Dmabuf backend by default 2020-08-21 11:00:38 +02:00
Martin Stransky
052081df4e arm minor tweak 2020-08-20 20:43:39 +02:00
Martin Stransky
decf598d62 Updated to 80.0 Build 2 2020-08-20 08:24:19 +02:00
Martin Stransky
04eebae141 Added nspr build fixes 2020-08-19 18:35:53 +02:00
Martin Stransky
c3c5f0488c changelog update 2020-08-19 16:39:04 +02:00
Martin Stransky
9b862ea69c Disabled LTO, build with gcc 2020-08-19 16:36:41 +02:00
Martin Stransky
dced7c2e45 Build fixes - spec, patches 2020-08-18 17:22:12 +02:00
Martin Stransky
51f4268c7b patch cleanup 2020-08-18 10:00:40 +02:00
Martin Stransky
7a74efcc7e Updated to 80.0 Build 1 2020-08-18 09:11:13 +02:00
Jan Horak
62b773b4f8 fixed location api key 2020-08-18 08:58:15 +02:00
Martin Stransky
0cdfdedf09 spec fix 2020-08-18 08:56:36 +02:00
Martin Stransky
21aa95ea62 spec clean up 2020-08-18 08:43:08 +02:00
Martin Stransky
f1d18fcb42 Enabled pgo, Build with clang 2020-08-18 08:36:12 +02:00
Jan Horak
d5a976ec55 Add google location api key 2020-08-11 12:50:35 +02:00
Martin Stransky
20aed3671c Added upstream fix for mozbz#1656436 2020-08-04 13:37:42 +02:00
Martin Stransky
6fc00e4ffa Fixed changelog 2020-08-03 11:17:21 +02:00
Martin Stransky
e7eb4bbac7 merge with rawhide 2020-08-03 11:14:44 +02:00
Martin Stransky
cd18e999f5 Updated fix for mozbz#1645671 2020-08-03 11:11:24 +02:00
Fedora Release Engineering
78abbaad16 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 00:59:08 +00:00
Martin Stransky
578d7e2950 Added VA-API fix for mozbz#1645671 2020-07-30 10:48:57 +02:00
Martin Stransky
1f3af1910c Disabled ppc64le due to cargo crash (rhbz#1862012) 2020-07-30 09:10:04 +02:00
Martin Stransky
ab776be5d4 Fixed pipewire 0.2 patch 2020-07-29 11:16:04 +02:00
Martin Stransky
4a22b99903 Try to enable armv7hl again 2020-07-29 10:47:02 +02:00
Martin Stransky
f84c39e4f9 Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2020-07-29 10:16:35 +02:00
Martin Stransky
1d371bbeea Disabled PGO due to rhbz#1849165 (gcc internal error) 2020-07-29 10:15:59 +02:00
Peter Robinson
5a73516edd Build webrtc on aarch64/armv7, fixes rhbz #1858433 2020-07-28 18:40:36 +01:00
Peter Robinson
6dc06e9cbf move --enable-av1 to firefox-mozconfig now it doesn't need conditionals 2020-07-28 18:33:44 +01:00
Peter Robinson
71fbbe358d drop 1238661 patch, no longer applies, patched file not shipped anymore 2020-07-28 18:24:14 +01:00
Martin Stransky
291d884885 Enabled PGO, added fix for mozilla#1640982 2020-07-28 15:36:46 +02:00
Martin Stransky
80b8c3f8c4 Disable PGO 2020-07-28 11:38:45 +02:00
Martin Stransky
01c1fcff36 New cbindgen 2020-07-28 10:42:53 +02:00
Martin Stransky
c840fbc474 update to 79.0 2020-07-28 10:24:37 +02:00
Martin Stransky
be0a164909 Update to 79.0 2020-07-28 10:23:23 +02:00
Fedora Release Engineering
ad0a2d0a51 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 17:28:30 +00:00
Martin Stransky
21845a3dd9 new soures 2020-07-27 15:30:48 +02:00
Martin Stransky
c4a08bbf74 new soures 2020-07-27 15:30:24 +02:00
František Zatloukal
8f2d837931 Use python3 instead of python2 for build 2020-07-23 13:35:55 +02:00
Martin Stransky
2a1307f3d5 Added fix for mozbz#1651701/rhbz#1855730 2020-07-21 12:12:38 +02:00
Jan Horak
87c38ce2a7 Fixing enable-linker=ldd for clang builds 2020-07-10 18:18:29 +02:00
Jan Horak
28cf3442dd Update to 78.0.2 build2 2020-07-09 14:19:21 +02:00
Jan Horak
cae97a0741 Update to 78.0.1 build1 2020-07-01 18:31:26 +02:00
Martin Stransky
b0f1086cdf Fixed desktop file actions 2020-07-01 13:38:06 +02:00
Martin Stransky
76afff5e56 Add 'Open the Profile Manager' desktop file entry 2020-07-01 09:23:24 +02:00
Jan Horak
6876c45963 Fixed nss patch and removed obsolete mozconfig entries 2020-06-30 09:42:44 +02:00
Jan Horak
ae1e0bfad4 Removed obsolete patches 2020-06-29 14:33:43 +02:00
Jan Horak
6e63caf171 Update to 78.0 build2 2020-06-29 13:27:50 +02:00
Jan Horak
a98e444547 Update to 78.0 build2 2020-06-29 13:26:16 +02:00
Jan Horak
0e1509290d Fixing api keys 2020-06-29 12:56:08 +02:00
Martin Stransky
18fd042dec Fixed PGO/LTO builds 2020-06-23 15:05:19 +02:00
Jan Horak
2e8349261d updated cbindgen 2020-06-03 17:02:54 +02:00
Jan Horak
3e60612d6b updated langpacks 2020-06-03 16:44:09 +02:00
Martin Stransky
7bbf49a836 updated to 77.0.1 2020-06-03 15:47:26 +02:00
Jan Horak
22798cdf7f Resolves: #1466936 Fixing pipewire patch - rebuild 2020-06-03 10:50:33 +02:00
Jan Horak
fd8a3d8fd9 Merge #19 PipeWire: check whether we managed to mmap memory 2020-06-03 07:05:44 +00:00
Martin Stransky
0f333d507f Rebuild with updated langpacks (rhbz#1843028) 2020-06-02 20:54:08 +02:00
Jan Grulich
e99b683a35 PipeWire: check whether we managed to map memory 2020-06-02 10:40:24 +02:00
Martin Stransky
687a620539 Set minimal nss version to 3.52 2020-06-02 00:25:37 +02:00
Martin Stransky
cfe25360c3 Remove executable bit from rust sources 2020-06-01 22:02:24 +02:00
Martin Stransky
b44a1c8983 removed unused patch 2020-06-01 19:33:10 +02:00
Martin Stransky
f82b7171e2 nss build fix 2020-06-01 14:11:14 +02:00
Martin Stransky
672254a92f uploaded new cbindgen 2020-05-29 14:28:46 +02:00
Martin Stransky
a04e04f35f Added new cbindgen 2020-05-29 12:56:30 +02:00
Martin Stransky
d6bc3723ae build against nss 3.52 2020-05-29 12:07:00 +02:00
Martin Stransky
3c97f446c2 updated sources 2020-05-29 11:42:15 +02:00
Martin Stransky
5116ef14ae Updated to 77.0 2020-05-29 11:31:41 +02:00
Martin Stransky
41962ee4b4 Added fix for mozbz#1632456 2020-05-25 22:40:31 +02:00
Martin Stransky
fac8607f93 Added fix for mozbz#1634213 2020-05-25 15:20:03 +02:00
Martin Stransky
1f2660d56b Added fix for mozbz#1619882 - video flickering when va-api is used. 2020-05-25 14:38:58 +02:00
Jan Grulich
9ab78f69bc Add support for PipeWire 0.3 2020-05-22 12:26:54 +02:00
Peter Robinson
7660441e7f Build aarch64 again so aarch64 users get updates 2020-05-20 13:53:16 +01:00
Peter Robinson
e68d47832d Revert "Temporary disable aarch64"
The issue was only around for a few days (and was never meant to actuall be pushed :-/)

This reverts commit be267b48e7.
2020-05-20 13:51:44 +01:00
Martin Stransky
d48800a4fb Added extra va-api frames to vp8/9 decoder. 2020-05-13 14:36:47 +02:00
Martin Stransky
c9d361caf9 Updated to 76.0.1 2020-05-08 10:21:32 +02:00
Martin Stransky
c960c03a48 Disable ffvpx when va-api is enabled 2020-05-07 10:18:18 +02:00
Martin Stransky
a2c1b6c5d2 spec build tweaks 2020-05-05 20:11:17 +02:00
Martin Stransky
be267b48e7 Temporary disable aarch64 2020-05-05 20:08:47 +02:00
Martin Stransky
4fc5ebfabe Disable AV1 on Fedora 30 2020-05-05 19:14:09 +02:00
Martin Stransky
cb1655cd55 Added va-api patches 2020-05-05 14:01:50 +02:00
Jan Horak
f97694215f Don't use google safe browsing api key for the geolocation 2020-05-05 12:40:06 +02:00
Martin Stransky
47ca9066bb Added build workaround for broken system nss build 2020-05-05 11:58:01 +02:00
Jan Grulich
034c5b3d5e Fix screensharing on displays with fractional scaling 2020-05-05 11:40:03 +02:00
Martin Stransky
425b7745cc build with nss 3.51.1 2020-05-04 18:52:06 +02:00
Martin Stransky
aaf6ae700e build fixes 2020-05-04 18:47:46 +02:00
Martin Stransky
3a700c9787 tmp build with in-tree nss 2020-05-04 09:27:14 +02:00
Martin Stransky
b178223177 Updated to 76.0 2020-05-03 21:57:54 +02:00
Martin Stransky
cdfebbc9a2 Added fix for mozilla bug #1527976 (browser D&D) 2020-04-23 11:17:16 +02:00
Jan Horak
461eee52cd Added perl-interpreter previously pulled back by gconf-2.0 2020-04-14 12:45:03 +02:00
Jan Horak
da11178e3c Removed gconf-2.0 build requirement 2020-04-14 09:26:11 +02:00
Martin Stransky
57e3477f3f Build fixes 2020-04-07 12:20:10 +02:00
Martin Stransky
c420176a2f Upload souces 2020-04-07 07:44:13 +02:00
Martin Stransky
96352c5572 Updated to 75.0 2020-04-06 23:07:31 +02:00
Martin Stransky
2f14c4ee29 Added fix for mozbz#1627469 2020-04-06 15:11:14 +02:00
Jan Horak
143fa360a2 Fixing pipewire patch 2020-04-06 08:30:41 +02:00
Martin Stransky
830bb9636f Updated to 74.0.1, Added fix for mozbz#1624745 2020-04-04 08:40:56 +02:00
Martin Stransky
6c801f52ad fixed changelog date 2020-04-01 13:23:10 +02:00
Martin Stransky
1d40a9195f Added fixes to gnome shell search provider 2020-04-01 13:18:16 +02:00
Martin Stransky
5c39de815c added mozilla-gnome-shell-search-fixes.patch 2020-04-01 13:15:27 +02:00
Jan Horak
7b032f4624 Allow addons sideload to fix missing langpacks issues 2020-03-31 21:27:02 +02:00
Martin Stransky
c3fce252a9 Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2020-03-19 15:34:53 +01:00
Martin Stransky
09430aa7fd Added fix for rhbz#1814850 by Daniel Rusek 2020-03-19 15:34:29 +01:00
Jan Horak
8e6feed417 Merge #16 Minor pipewire improvements 2020-03-19 12:36:42 +00:00
Jan Grulich
2bb1ace6dc Minor pipewire improvements 2020-03-19 13:33:38 +01:00
Martin Stransky
f983a1b384 Updated mozilla-1623106.patch 2020-03-18 22:14:23 +01:00
Martin Stransky
b7fec52e4d updated mozilla-1623106.patch 2020-03-18 21:51:06 +01:00
Martin Stransky
f610b4b283 release up 2020-03-17 22:12:22 +01:00
Martin Stransky
cd20e6c285 Added fix for mozbz#1623106 2020-03-17 22:10:33 +01:00
Martin Stransky
b0fd9d7c8d merged with master 2020-03-17 21:30:59 +01:00
Martin Stransky
7e042054d1 Added fix for mozbz#1623060 2020-03-17 21:28:53 +01:00
Jan Grulich
8cb9a2a561 Add support for window sharing 2020-03-17 10:25:11 +01:00
Martin Stransky
c4945dd7fe Use D-Bus remote exclusively for both X11 and Wayland backends when WAYLAND_DISPLAY is present. 2020-03-16 14:01:31 +01:00
Martin Stransky
04d75fa4b0 Added fix for mozbz#1615098 2020-03-13 09:39:40 +01:00
Martin Stransky
8325482d1a Added fix for mozbz#1196777 2020-03-12 10:32:51 +01:00
Martin Stransky
e9028b364e disable arm builds with gcc 10 until bug 94050 is backported to Fedora 2020-03-11 11:45:48 +01:00
Martin Stransky
b92aed4de7 Disabled armv7hl due to build failures 2020-03-11 10:27:13 +01:00
Martin Stransky
d9c539f765 use -j1 on arm 2020-03-10 13:20:18 +01:00
Kalev Lember
05939fc7a2 Remove unused libIDL build dep 2020-03-10 10:29:07 +01:00
Martin Stransky
d6d0f64de7 Update to build 3 2020-03-10 08:55:14 +01:00
Martin Stransky
7e5bd536c1 Update to 74.0 Build 2 2020-03-09 12:10:02 +01:00
Martin Stransky
19cba2b494 spec tweaks, disabled armv7hl 2020-03-04 12:35:58 +01:00
Martin Stransky
d20d1ef15b removed build-missing-size_t.patch 2020-03-04 12:31:39 +01:00
Martin Stransky
536fbf7195 added mozbz#1609538 2020-03-04 12:30:27 +01:00
Martin Stransky
807dde7732 Merge branch 'master' into f32 2020-03-04 09:38:56 +01:00
Martin Stransky
fe769ebaf6 build fix 2020-03-04 09:38:34 +01:00
Jan Horak
30ea1da353 Fixing pipewire on f32+ builds 2020-03-03 16:47:55 +01:00
Jan Horak
7a8ced7da6 Fixing pipewire on f32+ builds 2020-03-03 16:41:48 +01:00
Jan Horak
c7b129f7b1 Bumped cbindgen 2020-03-03 15:31:19 +01:00
Martin Stransky
11bbed2d96 fix 2020-03-03 14:54:13 +01:00
Martin Stransky
96744c2e22 Update to 74.0 Build 1 2020-03-03 14:51:20 +01:00
Jan Horak
532c76054c Trying to fix missing size_t 2020-02-26 12:04:37 +01:00
Jan Horak
4e44194745 Fixing pipewire buildrequires 2020-02-26 10:11:43 +01:00
Jan Horak
504b2911e3 Fixing pipewire 0.3 2020-02-26 09:54:52 +01:00
Jan Horak
73252a50c5 Fixing pipewire 0.3 2020-02-25 14:09:37 +01:00
Martin Stransky
4a8f66fc96 Enabled aarch64, thanks to Gabriel Hojda 2020-02-24 21:45:56 +01:00
Martin Stransky
558ad062d9 Update pipewire patch for Fedora 32, Added armv7hl fixes by Gabriel Hojda 2020-02-24 21:28:32 +01:00
Martin Stransky
71c7a523cb Fixed Bug 1804787 - Some .desktop menu entries unlocalized 2020-02-24 18:24:41 +01:00
Martin Stransky
15d9d3a6c6 Fixed langpacks name 2020-02-20 17:41:44 +01:00
Martin Stransky
08889c394b Update to 73.0.1 2020-02-20 17:26:30 +01:00
Martin Stransky
fa2dad15ec temporary disable aarch64 2020-02-12 22:36:41 +01:00
Martin Stransky
554d4c9485 build fix 2020-02-12 15:09:03 +01:00
Martin Stransky
0412618570 release up 2020-02-12 14:28:14 +01:00
Martin Stransky
6fe348c56f Merge branch 'master' into f31 2020-02-12 14:13:32 +01:00
Martin Stransky
52b54f0a91 Added build patch 2020-02-12 14:13:06 +01:00
Martin Stransky
e302ac42ff Merge branch 'master' into f31 2020-02-12 14:07:47 +01:00
Martin Stransky
f314ac392b Build fixes 2020-02-12 14:07:19 +01:00
Jan Horak
6f25514671 Set api keys to full patch 2020-02-11 17:01:51 +01:00
Jan Horak
d43a4f7bb6 Readding api keys pathes 2020-02-11 14:10:01 +01:00
Jan Horak
c7583c2d0b Reverting api keys pathes 2020-02-11 11:46:07 +01:00
Jan Horak
4dee749c0a updated cbindgen 2020-02-11 11:18:36 +01:00
Jan Horak
422073de22 Added popup-fixing patches, fixed api key paths 2020-02-11 10:45:39 +01:00
Jan Horak
158b963518 Update to 73.0 build3 2020-02-11 09:36:30 +01:00
Kalev Lember
c9caff126d Make sure the release tag in appdata is in sync with the package version 2020-02-04 15:41:51 +01:00
Kalev Lember
c3fd3d6cec Validate appdata during the build
So we can be sure that we don't accidentally make a typo that makes it
drop out of the distro appstream data again.
2020-02-04 15:33:57 +01:00
Kalev Lember
7ed75eceec Fix various issues with appdata, making the validation pass again
This should make firefox get correctly included in the distro appstream
data again.
2020-02-04 15:33:57 +01:00
Fedora Release Engineering
741a8bb179 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 18:31:51 +00:00
Jan Horak
270e02c037 Update to 72.0.2 build1 2020-01-20 21:11:22 +01:00
Jan Horak
b72d36d69d Added fix for wrong cursor offset of popup windows and bumped required nss 2020-01-15 18:12:50 +01:00
Jan Horak
e94f44be1f Update to 72.0.1 build1 2020-01-08 12:34:48 +01:00
Jan Horak
e83f26a35b Fixing permissions 2020-01-07 15:57:22 +01:00
Jan Horak
301ffd6239 For for mozbz#1601707 - segfault in doDatabaseWork - not working addons 2020-01-07 13:46:52 +01:00
Jan Horak
1a74061329 Do not change config.guess in the third_party/rust subdir because it breaks checksums 2020-01-07 13:03:35 +01:00
Jan Horak
86a98315a0 Merge branch 'master' into f31 2020-01-07 10:10:38 +01:00
Jan Horak
66815a0d5f Update to build4 2020-01-07 10:10:03 +01:00
Jan Horak
37db09cac0 Update to build4 2020-01-06 11:47:04 +01:00
Jan Horak
d289647874 Merge branch 'master' into f31 2020-01-03 20:21:27 +01:00
Jan Horak
2008d15ed8 Update to 72.0 2020-01-03 20:20:59 +01:00
Martin Stransky
1a1f848ee7 Merge branch 'master' into f31 2020-01-02 11:52:13 +01:00
Martin Stransky
98339b512f Disabled asan, enabled release 2020-01-02 11:51:46 +01:00
Kalev Lember
4feb74e22b Disable mozilla crashreporter for flatpak builds
We have an unresolved /usr vs /app prefix issue for debuginfo
generation, which currently breaks the mozilla crashreporter builds.
Disable it for now to work this around.
2019-12-20 13:03:12 +01:00
Martin Stransky
0370096f7b Merge branch 'master' into f31 2019-12-20 13:00:21 +01:00
Martin Stransky
6e9b476c31 Disable ASAN builds 2019-12-20 12:59:52 +01:00
Jan Horak
fe214117e1 Merge branch 'master' into f31 2019-12-18 13:45:51 +01:00
Jan Horak
bf5d82c5e4 Fix for wrong intl.accept_lang when using non en-us langpack 2019-12-18 13:45:26 +01:00
Jan Horak
69bc8392a8 Fix for wrong intl.accept_lang when using non en-us langpack 2019-12-18 13:45:12 +01:00
Martin Stransky
7353750366 Merge branch 'master' into f31 2019-12-17 14:58:00 +01:00
Martin Stransky
e5d6aad64b Build fix of asan builds 2019-12-17 14:56:57 +01:00
Martin Stransky
c2a818ae1a Merge branch 'master' into f31 2019-12-10 09:20:47 +01:00
Martin Stransky
3c34746815 Fix for asan build 2019-12-10 09:20:26 +01:00
Martin Stransky
83ad517874 Merge branch 'master' into f31 2019-12-09 20:16:38 +01:00
Martin Stransky
1eccbd6ca3 ASAN - disable elfhack on intel only 2019-12-09 20:16:07 +01:00
Martin Stransky
27c99b357e Merge branch 'master' into f31 2019-12-09 19:11:41 +01:00
Martin Stransky
c47608a66c Build with asan 2019-12-09 19:11:23 +01:00
Martin Stransky
cb7dfd887c Merge branch 'master' into f31 2019-12-09 19:06:05 +01:00
Martin Stransky
b7c36a753b Enable mozilla crashreporter on intel only 2019-12-09 19:05:40 +01:00
Martin Stransky
2c7788b91d Merge branch 'master' into f31 2019-12-09 12:59:22 +01:00
Martin Stransky
bf21f007a5 Enabled PGO again 2019-12-09 12:59:04 +01:00
Martin Stransky
7ba1623a98 Merge branch 'master' into f31 2019-12-09 10:43:14 +01:00
Martin Stransky
de27f20acc Enabled Mozilla crash reporter 2019-12-09 10:42:56 +01:00
Martin Stransky
256f082137 Merge branch 'master' into f31 2019-12-09 10:33:30 +01:00
Martin Stransky
a9d101a0aa remove -fno-lifetime-dse 2019-12-09 10:33:12 +01:00
Martin Stransky
574c9a288c Merge branch 'master' into f31 2019-12-09 10:31:43 +01:00
Martin Stransky
2688384d4f merged with master 2019-12-09 10:30:47 +01:00
Martin Stransky
0f0618f13f Updated workaround for mzbz#1601707, updated build config 2019-12-09 10:28:41 +01:00
Martin Stransky
81b5f7311e Merge branch 'master' into f31 2019-12-07 09:09:25 +01:00
Martin Stransky
9155ea7506 Built with -fno-lifetime-dse 2019-12-07 09:09:04 +01:00
Martin Stransky
27ee5a2c33 Merge branch 'master' into f31 2019-12-06 17:01:56 +01:00
Martin Stransky
a45c531556 Updated ASAN setup 2019-12-06 17:01:36 +01:00
Martin Stransky
dda1a84b46 Merge branch 'master' into f31 2019-12-06 15:36:36 +01:00
Martin Stransky
297c523bf4 fixed test builds 2019-12-06 15:36:19 +01:00
Martin Stransky
f0985e94e9 Merge branch 'master' into f31 2019-12-06 15:19:22 +01:00
Martin Stransky
ba707c49b8 added libasan/libasan-static to build req for asan builds 2019-12-06 15:19:05 +01:00
Martin Stransky
7d0c154b63 Merge branch 'master' into f31 2019-12-06 15:08:29 +01:00
Martin Stransky
0aece62c3b fixed clang builds 2019-12-06 15:08:12 +01:00
Martin Stransky
92e74247b5 Merge branch 'master' into f31 2019-12-06 14:36:52 +01:00
Martin Stransky
1a11256288 Spec cleanup 2019-12-06 14:36:35 +01:00
Martin Stransky
b0dfd8d73f Merge branch 'master' into f31 2019-12-06 14:26:56 +01:00
Martin Stransky
0de712c694 Clang test build, should fix extension breakage 2019-12-06 14:26:09 +01:00
Martin Stransky
0afd2b3b1f Merge branch 'master' into f31 2019-12-06 11:21:16 +01:00
Martin Stransky
ccb5557561 Added workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1601707
and http://gcc.gnu.org/PR92831
2019-12-06 11:20:58 +01:00
Martin Stransky
81a3267fd5 Merge branch 'master' into f31 2019-12-06 09:59:26 +01:00
Martin Stransky
2c0f8edce9 Remove appdata and ship metainfo only 2019-12-06 09:59:05 +01:00
Martin Stransky
1bd379f61f Merge branch 'master' into f31 2019-12-04 18:20:04 +01:00
Martin Stransky
7f42be8077 Included kiosk mode workaround (mozbz#1594738) 2019-12-04 18:19:48 +01:00
Martin Stransky
d6dc6c66f1 Merge branch 'master' into f31 2019-12-03 07:44:45 +01:00
Martin Stransky
1b044abda4 Disabled PGO due to startup crash 2019-12-03 07:44:23 +01:00
Martin Stransky
74aaa6b574 Merge branch 'master' into f31 2019-12-02 19:21:41 +01:00
Martin Stransky
0fc6c1db8d Fixed gnome shell patch 2019-12-02 19:21:18 +01:00
Martin Stransky
59c305c179 Merge branch 'master' into f31 2019-12-02 14:30:54 +01:00
Martin Stransky
c72871d08a Updated to 71.0 Build 5, Updated Gnome search provider 2019-12-02 14:30:35 +01:00
Martin Stransky
6ec945e415 Merge branch 'master' into f31 2019-11-28 11:33:26 +01:00
Martin Stransky
fd2700008a updated mozilla-1593408.patch 2019-11-28 11:33:06 +01:00
Martin Stransky
3b0ef58107 Merge branch 'master' into f31 2019-11-27 21:46:37 +01:00
Martin Stransky
75c7194731 Spec minor fix 2019-11-27 21:46:20 +01:00
Martin Stransky
e969c0d564 Merge branch 'master' into f31 2019-11-27 21:43:20 +01:00
Martin Stransky
836d9a03a1 fixed gnome shell search provider patch 2019-11-27 21:43:03 +01:00
Martin Stransky
2f2df700c7 Merge branch 'master' into f31 2019-11-27 19:57:33 +01:00
Martin Stransky
9c047cad1c Rebuild 2019-11-27 19:21:45 +01:00
Martin Stransky
e056239d2a Merge branch 'master' into f31 2019-11-27 11:54:17 +01:00
Martin Stransky
51657940a2 scratch build 2019-11-27 11:53:35 +01:00
Martin Stransky
7a6b6c7272 Merge branch 'master' into f31 2019-11-27 11:49:25 +01:00
Martin Stransky
a947f30c04 Added fix for mozilla#1593408 2019-11-27 11:48:57 +01:00
Martin Stransky
66b9914766 Merge branch 'master' into f31 2019-11-27 10:37:54 +01:00
Martin Stransky
5297420163 Temporary disable gnome shell search provider 2019-11-27 10:37:39 +01:00
Martin Stransky
aacbeac07f Merge branch 'master' into f31 2019-11-27 09:57:45 +01:00
Martin Stransky
8327513b1b Build as release 2019-11-27 09:56:52 +01:00
Martin Stransky
aab9719b61 Merge branch 'master' into f31 2019-11-26 14:25:26 +01:00
Martin Stransky
e03afc8ec1 Enable Gnome search provider 2019-11-26 14:23:34 +01:00
Martin Stransky
2cada91f91 Merge branch 'master' into f31 2019-11-26 12:34:28 +01:00
Martin Stransky
6a3819b384 Merge branch 'master' into f30 2019-11-26 12:34:14 +01:00
Martin Stransky
8b1630cbac Added Gnome search provider - mzbz#1239694 2019-11-26 12:33:52 +01:00
Martin Stransky
6543968420 Merge branch 'master' into f31 2019-11-26 11:08:42 +01:00
Martin Stransky
5240564704 Merge branch 'master' into f30 2019-11-26 11:08:35 +01:00
Martin Stransky
41edb62c46 Updated to 71.0 Build 2 2019-11-26 11:08:00 +01:00
Martin Stransky
1c3ae16403 File uploads 2019-11-25 18:08:09 +01:00
Martin Stransky
ff9ccdbd68 Test build - FF71 2019-11-25 15:39:09 +01:00
Jan Horak
71f7c4eea3 don't require rust 1.38 2019-11-25 11:24:07 +01:00
Jan Horak
4328e33bf0 Added fixes for missing popup and overflow widget glitches 2019-11-25 10:58:18 +01:00
Jan Horak
1ed5beacbb Added fixes for missing overflow widget windows and <select> dropdown on multimonitor setup 2019-11-21 15:55:32 +01:00
Martin Stransky
b3908bbfa6 Merge branch 'master' into f31 2019-11-19 15:27:54 +01:00
Martin Stransky
6499952ec5 Merge branch 'master' into f30 2019-11-19 15:27:48 +01:00
Martin Stransky
905a7b26dd Build against rust 1.38 2019-11-19 15:27:22 +01:00
Martin Stransky
8669d0c39c Merge branch 'master' into f31 2019-11-19 13:18:37 +01:00
Martin Stransky
e46835da2d Merge branch 'master' into f30 2019-11-19 13:18:29 +01:00
Martin Stransky
c18a8a0ffc Built with in-tree nss (rhbz#1752303) 2019-11-19 13:18:09 +01:00
Jan Horak
bc67357ccc Merge branch 'master' into f30 2019-11-14 10:50:00 +01:00
Jan Horak
73a3afdde7 Merge branch 'master' into f31 2019-11-14 10:49:45 +01:00
Jan Horak
a961f01c1b Bump release for rebuild 2019-11-14 10:49:25 +01:00
Jan Horak
9c18335fcf Merge branch 'master' into f30 2019-11-14 10:33:22 +01:00
Jan Horak
2ffd87945e Merge branch 'master' into f31 2019-11-14 10:33:05 +01:00
Jan Horak
d58c8650ea Revert in-tree nss testbuild 2019-11-14 10:12:10 +01:00
Martin Stransky
696b764fac Merge branch 'master' into f31 2019-11-07 13:59:56 +01:00
Martin Stransky
09e09edc16 Merge branch 'master' into f30 2019-11-07 13:59:49 +01:00
Martin Stransky
84bc31d257 Test build with in-tree nss (rhbz#1752303) 2019-11-07 13:59:28 +01:00
Jan Horak
749fe62a4f Merge branch 'master' into f31 2019-11-04 21:27:36 +01:00
Jan Horak
8a4707064b Merge branch 'master' into f30 2019-11-04 21:26:09 +01:00
Jan Horak
f1a7e5d3a1 Added fix for non-scrollable popups and bump release 2019-11-04 09:58:01 +01:00
Jan Horak
57463ac2b6 git diff 2019-11-04 09:56:33 +01:00
Martin Stransky
1eb0bf4799 Merge branch 'master' into f31 2019-11-01 12:00:50 +01:00
Martin Stransky
3bcc2a5091 Merge branch 'master' into f30 2019-11-01 12:00:44 +01:00
Martin Stransky
34e361640a Updated to 70.0.1, Built with system-nss (reverted 70.0-2 change) 2019-11-01 11:56:18 +01:00
Martin Stransky
1b3bcf25b4 Merge branch 'master' into f31 2019-10-31 23:43:33 +01:00
Martin Stransky
56a894c0ce Merge branch 'master' into f30 2019-10-31 23:43:27 +01:00
Martin Stransky
e117f6436c Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2019-10-31 23:42:16 +01:00
Martin Stransky
dec9b22207 Merge branch 'master' into f31 2019-10-31 23:41:37 +01:00
Martin Stransky
c78fe6f84e Merge branch 'master' into f30 2019-10-31 23:41:24 +01:00
Martin Stransky
360cf1b9a8 Switched to in-tree nss due to rhbz#1752303 2019-10-31 23:40:24 +01:00
Jan Horak
224952cb67 Resolves: #1466936 Fixed aarch build patch rhbz-1354671.patch 2019-10-22 12:38:47 +02:00
Jan Horak
a65dd614c6 - Put cbindgen .cargo/config to separate dir to avoid overwriting original stuff 2019-10-22 12:04:14 +02:00
Martin Stransky
a534d9f0a5 relax nss version 2019-10-21 15:15:55 +02:00
Martin Stransky
302967b0a8 Updated to 70.0 Build 2 2019-10-18 20:43:19 +02:00
Martin Stransky
be00a1517c Spec file update - firefox-wayland package 2019-10-15 11:07:21 +02:00
Martin Stransky
3a864e53cf Build firefox-wayland again (rhbz#1761578) 2019-10-14 21:23:01 +02:00
Martin Stransky
152ddea84d Updated to 69.0.3 2019-10-10 21:56:13 +02:00
Martin Stransky
b9f1625809 Obsolete firefox-wayland when we're on wayland by default 2019-10-09 14:38:35 +02:00
Martin Stransky
e15d59f286 Added fix for mozilla#1587008 - flickering during GL resize. 2019-10-08 14:25:09 +02:00
Martin Stransky
b87d9dc7bf Updated to 69.0.2 2019-10-03 16:09:51 +02:00
Jan Horak
8fec45cc11 Revert "Don't compare buildID in upgradepath because builds in newer distro can be build sooner than in previous one."
Because it's already implemented by MOZ_ALLOW_DOWNGRADE env variable.
This reverts commit cc911d3225.
2019-10-03 10:13:36 +02:00
Jan Horak
cc911d3225 Don't compare buildID in upgradepath because builds in newer distro can be build sooner than in previous one. 2019-10-02 17:13:40 +02:00
Martin Stransky
a07515e075 Updated rhbz#1754460/mzbz#1583466 - per user policy dir. 2019-09-30 10:04:35 +02:00
Martin Stransky
0adc4aecec Added fix for rhbz#1754460 2019-09-24 12:37:44 +02:00
Martin Stransky
b697fe555b Updated cache-missing strategy for Wayland image cache. 2019-09-19 15:14:15 +02:00
Martin Stransky
101ab24287 Do PGO builds with X11 backend. 2019-09-19 10:43:42 +02:00
Martin Stransky
cda86d9844 Updated to 69.0.1 2019-09-18 12:35:04 +02:00
Martin Stransky
5b43bf243c Do PGO builds with Wayland backend. 2019-09-18 10:04:57 +02:00
Martin Stransky
6bc6c7c026 Disabled DoH by default (rhbz#1751410), patch by Eduardo Mínguez Pérez (eminguez). 2019-09-18 09:14:03 +02:00
Martin Stransky
2465d17547 Release up - fixed mozbz#1577024 patch 2019-09-18 08:38:03 +02:00
Martin Stransky
6072729df1 Load widget cache mode 2019-09-18 08:35:58 +02:00
Martin Stransky
fb305223b0 Enable Wayland cache mode control (mozbz#1577024) 2019-09-17 21:16:42 +02:00
Martin Stransky
d57ce13926 Build fix 2019-09-17 14:10:11 +02:00
Martin Stransky
868f498959 Added fixes for mozbz#1581748 2019-09-17 13:22:34 +02:00
Martin Stransky
5ccfc2ed4c Fixed mozilla-1580152.patch patch 2019-09-16 11:59:36 +02:00
Martin Stransky
9b804de1e9 Added fixes for mozbz#1579823, mozbz#1580152 2019-09-16 11:13:16 +02:00
Jan Horak
b686f27745 Fix for disappearing webrtc popups 2019-09-12 15:24:58 +02:00
Martin Stransky
25a13aa0dc Added fix for mozbz#1579849 - partial screen update when page switches 2019-09-11 14:47:20 +02:00
Martin Stransky
36345da513 Added fix for mozbz#1579794 - Flickering on video playback on 4k/HiDPI displays 2019-09-11 08:35:24 +02:00
Martin Stransky
8eab606fb2 Added fix for mozbz#1579023 2019-09-10 10:42:29 +02:00
Martin Stransky
57b02aeb2f Disabled ppc64le on Fedora 29 (rhbz#1749729) 2019-09-06 12:28:45 +02:00
Martin Stransky
b2802deb3d Enable profile downgrade 2019-09-04 14:52:50 +02:00
Martin Stransky
234c40b2b9 nss version up 2019-09-04 14:16:56 +02:00
Martin Stransky
0a26542698 Release up 2019-09-02 17:06:27 +02:00
Martin Stransky
4d9e3279a0 Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2019-09-02 17:04:31 +02:00
Martin Stransky
20c032f2ed Added upstream Wayland patches (mozilla-1548475, mozilla-1562827,
mozilla-1567434, mozilla-1573813, mozilla-1574036,
  mozilla-1576268).
- Enable multiprocess compilation.
2019-09-02 17:03:30 +02:00
Jan Horak
46085f5df8 Really updated bundled cbindgen 2019-08-29 11:21:23 +02:00
Jan Horak
861049e391 Updated bundled cbindgen 2019-08-29 11:06:21 +02:00
Jan Horak
91a10435a5 Merge branch 'master' into f30 2019-08-29 10:45:13 +02:00
Jan Horak
dfb6ca77fd Update to 69 2019-08-29 10:44:36 +02:00
Jan Horak
7f5cbc4726 Fixed wrong spec file 2019-08-14 20:21:12 +02:00
Jan Horak
d0fc99e40d Merge branch 'master' into f30 2019-08-14 20:15:46 +02:00
Jan Horak
a711b2a712 Fixed wrong if statement if spec 2019-08-14 20:14:59 +02:00
Jan Horak
4dbc24c8af Merge branch 'master' into f30 2019-08-14 16:08:01 +02:00
Jan Horak
d0f8c10da7 Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2019-08-14 16:05:30 +02:00
Jan Horak
4321d587c5 Update to 68.0.2 2019-08-14 16:05:03 +02:00
Jan Horak
31bcafc8cb Update to 60.8.1 2019-08-14 16:04:42 +02:00
Jan Horak
75daa97c60 Added rust build workaround to disable multiple jobs because of deadlock 2019-08-08 11:44:26 +02:00
Jan Horak
5b4070831b Added rust build workaround to disable multiple jobs because of deadlock 2019-08-08 11:43:11 +02:00
Jan Horak
552b94bac7 Use make -j1 for debugging purposes 2019-08-07 10:18:17 +02:00
Jan Horak
a81af7f6c7 Merge branch 'master' into f30 2019-08-06 11:53:34 +02:00
Jan Horak
afc58560fc Added strace as temporary BuildRequire 2019-08-06 11:47:01 +02:00
Jan Horak
b52917b595 Merge branch 'master' into f30 2019-08-06 11:08:55 +02:00
Jan Horak
a94add60e5 Debug build for failing koji builds 2019-08-06 11:06:08 +02:00
Jan Horak
4092dac783 Merge branch 'master' into f30 2019-08-05 13:51:00 +02:00
Jan Horak
05040f1acd Added webrtc indicator fix 2019-08-05 13:49:49 +02:00
Martin Stransky
dc151d973d Merge branch 'master' into f30 2019-08-05 09:29:24 +02:00
Martin Stransky
f732261c5e Add stdout wrapper 2019-08-05 09:28:57 +02:00
Martin Stransky
953c2e9269 Merge branch 'master' into f30 2019-07-25 10:49:08 +02:00
Martin Stransky
6470af9345 Enable more paralel builds again (-j4/-j8) 2019-07-25 10:48:34 +02:00
Martin Stransky
6dfc99c7c7 Merge branch 'master' into f30 2019-07-25 08:11:48 +02:00
Martin Stransky
81d7524932 Updated mozbz#1512162 for ppc64le 2019-07-25 08:11:28 +02:00
Martin Stransky
b0154d22cc Merge branch 'master' into f30 2019-07-25 08:05:53 +02:00
Martin Stransky
30eb43b2b6 Added node js wrapper to fix koji freezes 2019-07-25 08:04:59 +02:00
Martin Stransky
3cd401ab5a Merge branch 'master' into f30 2019-07-24 18:33:24 +02:00
Martin Stransky
a91404f6b2 release up + changelog fix 2019-07-24 18:33:02 +02:00
Martin Stransky
e29a8d85ee Merge branch 'master' into f30 2019-07-24 18:31:42 +02:00
Martin Stransky
77e9ffc8d3 Added fix for rhbz#1709840 2019-07-24 18:31:18 +02:00
Martin Stransky
df51ac391b Merge branch 'master' into f30 2019-07-24 16:28:44 +02:00
Martin Stransky
30b47b75ce Temporary set -j2 on all arches to test koji builds 2019-07-24 16:28:23 +02:00
Martin Stransky
3f5b8fa3f4 Merge branch 'master' into f30 2019-07-24 16:03:49 +02:00
Martin Stransky
70d0d4ac6d Revert "Disabled webrtc for ppc64le due to build issues"
This reverts commit 3854104b71.
2019-07-24 16:02:45 +02:00
Martin Stransky
d34068c6f9 Revert "Disabled webrtc for ppc64le due to build issues"
This reverts commit 3854104b71.
2019-07-24 16:01:58 +02:00
Martin Stransky
3854104b71 Disabled webrtc for ppc64le due to build issues 2019-07-23 15:22:37 +02:00
Martin Stransky
2a43e54c77 Fixed changelog 2019-07-23 08:07:47 +02:00
Martin Stransky
c5559a47a2 Enabled WebRTC on ppc64le - rhbz#1732069 2019-07-23 08:03:03 +02:00
Martin Stransky
e99574982f Updated to 68.0.1 2019-07-22 14:13:01 +02:00
Martin Stransky
7a3dd46a55 Merge branch 'master' into f30 2019-07-11 12:43:04 +02:00
Martin Stransky
2c91415020 Fixed aarch64 patch 2019-07-11 12:42:24 +02:00
Martin Stransky
01791025ae Merge branch 'master' into f30 2019-07-11 08:26:26 +02:00
Martin Stransky
691cff8436 Enabled aarch64 and ppc64le 2019-07-11 08:25:58 +02:00
Martin Stransky
034097e83e Merge branch 'master' into f30 2019-07-10 20:16:56 +02:00
Martin Stransky
bdad7ba3db added firefox-SIOCGSTAMP.patch 2019-07-10 20:16:33 +02:00
Martin Stransky
05aebe5690 Merge branch 'master' into f30 2019-07-10 17:13:18 +02:00
Martin Stransky
856a33510e Temporary disable aarch64/ppc64le 2019-07-10 17:11:22 +02:00
Martin Stransky
489aa11811 Merge branch 'master' into f30 2019-07-10 17:07:17 +02:00
Martin Stransky
1cb3681420 Added fixes for aarch64 builds. 2019-07-10 17:06:38 +02:00
Martin Stransky
a29c9d4990 Merge branch 'master' into f30 2019-07-09 14:22:50 +02:00
Martin Stransky
1d9c07d0f5 aarch64 build fixes 2019-07-09 14:22:23 +02:00
Dan Horák
12ce2e0048 - Fix crash on ppc64le (mozilla#1512162) 2019-07-09 13:27:42 +02:00
Martin Stransky
7906ff328b Merge branch 'master' into f30 2019-07-08 23:03:46 +02:00
Martin Stransky
406faa89cb Updated to build 3 2019-07-08 22:58:02 +02:00
Martin Stransky
091ea96b2e Merge branch 'master' into f30 2019-07-08 22:47:22 +02:00
Martin Stransky
3012f10901 Fixed second arch patches 2019-07-08 22:46:12 +02:00
Martin Stransky
50cd8957fa Merge branch 'master' into f30 2019-07-08 21:50:14 +02:00
Martin Stransky
965325c008 Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2019-07-08 21:49:22 +02:00
Martin Stransky
1d592b5e9a Merge branch 'master' into f30 2019-07-08 21:48:55 +02:00
Martin Stransky
0eea5d2d94 build fix 2019-07-08 21:48:22 +02:00
Jan Horak
062a42c555 Updated pipewire patch 2019-07-08 16:49:04 +02:00
Martin Stransky
ec241d8209 Updated to 68.0 2019-07-02 12:23:46 +02:00
Martin Stransky
25b842803d Updated to 67.0.4 2019-06-20 10:26:20 -07:00
Martin Stransky
e800041374 Disabled ppc64le PGO builds 2019-06-19 11:40:00 -07:00
Martin Stransky
0ecdc7b819 Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/firefox 2019-06-19 02:05:03 -07:00
Martin Stransky
c66793c7cf removed bcond for debug build as it causes failures on koji 2019-06-19 01:59:51 -07:00
Jan Horak
2c3bb2bfc6 Merge #12 Try to fix linking with libraries in /app/lib64 2019-06-19 08:18:26 +00:00
Martin Stransky
c02fc39cdc Disable debug builds by default 2019-06-18 17:34:20 -07:00
Martin Stransky
1dacd1e877 Updated to 67.0.3 2019-06-18 14:31:38 -07:00
Kalev Lember
c545b67dfc Try to fix linking with libraries in /app/lib64
When building a flatpak module, make sure to pass -L%{_libdir} to ld so
that it can find libraries installed in /app/lib64. Normally, this is
set through the %{__global_ldflags} macro, but firefox doesn't use that,
so we need to pass the correct -L manually.

This should hopefully fix the issue with pipewire-0.2 linking that
recent firefox flatpak builds have run into.
2019-06-13 21:06:08 +02:00
Martin Stransky
92e37b0a30 build fix - debug_build 2019-06-11 14:45:43 +02:00
Martin Stransky
5209397ee2 Updated to 67.0.2 2019-06-11 12:57:51 +02:00
Kalev Lember
f1dfc1369f Fix mismatching " in the launcher script when built for flatpak 2019-06-05 11:06:18 +02:00
Jan Horak
7edd26f80c Fix external app handling in flatpak 2019-05-31 16:13:47 +02:00
88 changed files with 7014 additions and 14399 deletions

402
.gitignore vendored
View file

@ -345,3 +345,405 @@ firefox-3.6.4.source.tar.bz2
/firefox-67.0.source.tar.xz
/firefox-langpacks-67.0-20190515.tar.xz
/firefox-langpacks-67.0-20190517.tar.xz
/firefox-67.0.2.source.tar.xz
/firefox-langpacks-67.0.2-20190611.tar.xz
/firefox-langpacks-67.0.3-20190618.tar.xz
/firefox-67.0.3.source.tar.xz
/firefox-67.0.4.source.tar.xz
/firefox-langpacks-67.0.4-20190620.tar.xz
/firefox-68.0.source.tar.xz
/firefox-langpacks-68.0-20190702.tar.xz
/firefox-langpacks-68.0-20190708.tar.xz
/firefox-68.0.1.source.tar.xz
/firefox-langpacks-68.0.1-20190722.tar.xz
/firefox-68.0.2.source.tar.xz
/firefox-langpacks-68.0.2-20190814.tar.xz
/firefox-69.0.source.tar.xz
/firefox-langpacks-69.0-20190829.tar.xz
/firefox-69.0.1.source.tar.xz
/firefox-langpacks-69.0.1-20190918.tar.xz
/firefox-langpacks-69.0.2-20191003.tar.xz
/firefox-69.0.2.source.tar.xz
/firefox-69.0.3.source.tar.xz
/firefox-langpacks-69.0.3-20191010.tar.xz
/firefox-70.0.source.tar.xz
/firefox-langpacks-70.0-20191018.tar.xz
/firefox-70.0.1.source.tar.xz
/firefox-langpacks-70.0.1-20191101.tar.xz
/firefox-71.0b12.source.tar.xz
/firefox-71.0.source.tar.xz
/firefox-langpacks-71.0-20191126.tar.xz
/firefox-langpacks-71.0-20191202.tar.xz
/firefox-72.0.source.tar.xz
/firefox-langpacks-72.0-20200103.tar.xz
/firefox-langpacks-72.0-20200106.tar.xz
/firefox-72.0.1.source.tar.xz
/firefox-langpacks-72.0.1-20200108.tar.xz
/firefox-72.0.2.source.tar.xz
/firefox-langpacks-72.0.2-20200120.tar.xz
/firefox-73.0.source.tar.xz
/firefox-langpacks-73.0-20200211.tar.xz
/firefox-73.0.1.source.tar.xz
/firefox-langpacks-73.0.1-20200220.tar.xz
/firefox-74.0.source.tar.xz
/firefox-langpacks-74.0-20200303.tar.xz
/firefox-langpacks-74.0-20200309.tar.xz
/firefox-langpacks-74.0-20200310.tar.xz
/firefox-74.0.1.source.tar.xz
/firefox-langpacks-74.0.1-20200404.tar.xz
/firefox-75.0.source.tar.xz
/firefox-langpacks-75.0-20200406.tar.xz
/firefox-76.0.source.tar.xz
/firefox-langpacks-76.0-20200502.tar.xz
/firefox-76.0.1.source.tar.xz
/firefox-langpacks-76.0.1-20200508.tar.xz
/firefox-77.0.source.tar.xz
/firefox-langpacks-77.0-20200529.tar.xz
/firefox-langpacks-77.0-20200602.tar.xz
/firefox-77.0.1.source.tar.xz
/firefox-langpacks-77.0.1-20200603.tar.xz
/firefox-78.0.source.tar.xz
/firefox-langpacks-78.0-20200629.tar.xz
/firefox-78.0.1.source.tar.xz
/firefox-langpacks-78.0.1-20200701.tar.xz
/firefox-78.0.2.source.tar.xz
/firefox-langpacks-78.0.2-20200709.tar.xz
/firefox-79.0.source.tar.xz
/firefox-langpacks-79.0-20200727.tar.xz
/firefox-80.0.source.tar.xz
/firefox-langpacks-80.0-20200818.tar.xz
/firefox-langpacks-80.0-20200820.tar.xz
/firefox-80.0.1.source.tar.xz
/firefox-langpacks-80.0.1-20200901.tar.xz
/firefox-81.0.source.tar.xz
/firefox-langpacks-81.0-20200915.tar.xz
/firefox-langpacks-81.0-20200921.tar.xz
/firefox-81.0.1.source.tar.xz
/firefox-langpacks-81.0.1-20200930.tar.xz
/firefox-81.0.2.source.tar.xz
/firefox-langpacks-81.0.2-20201012.tar.xz
/firefox-82.0.source.tar.xz
/firefox-langpacks-82.0-20201015.tar.xz
/firefox-82.0.1.source.tar.xz
/firefox-langpacks-82.0.1-20201028.tar.xz
/firefox-82.0.2.source.tar.xz
/firefox-langpacks-82.0.2-20201029.tar.xz
/firefox-82.0.3.source.tar.xz
/firefox-langpacks-82.0.3-20201109.tar.xz
/firefox-83.0.source.tar.xz
/firefox-langpacks-83.0-20201112.tar.xz
/firefox-langpacks-83.0-20201116.tar.xz
/firefox-testing.tar.gz
/site-packages.tar.gz
/mochitest-python.tar.gz
/firefox-84.0.source.tar.xz
/firefox-langpacks-84.0-20201210.tar.xz
/firefox-langpacks-84.0-20201214.tar.xz
/firefox-84.0.1.source.tar.xz
/firefox-langpacks-84.0.1-20201222.tar.xz
/firefox-84.0.2.source.tar.xz
/firefox-langpacks-84.0.2-20210106.tar.xz
/firefox-85.0.source.tar.xz
/firefox-langpacks-85.0-20210120.tar.xz
/firefox-85.0.1.source.tar.xz
/firefox-langpacks-85.0.1-20210208.tar.xz
/firefox-86.0.source.tar.xz
/firefox-langpacks-86.0-20210222.tar.xz
/firefox-86.0.1.source.tar.xz
/firefox-langpacks-86.0.1-20210312.tar.xz
/firefox-87.0.source.tar.xz
/firefox-langpacks-87.0-20210322.tar.xz
/firefox-langpacks-88.0-20210419.tar.xz
/firefox-88.0.source.tar.xz
/firefox-88.0.1.source.tar.xz
/firefox-langpacks-88.0.1-20210510.tar.xz
/firefox-langpacks-89.0-20210601.tar.xz
/firefox-89.0.source.tar.xz
/firefox-89.0.2.source.tar.xz
/firefox-langpacks-89.0.2-20210624.tar.xz
/firefox-90.0.source.tar.xz
/firefox-langpacks-90.0-20210712.tar.xz
/firefox-90.0.1.source.tar.xz
/firefox-langpacks-90.0.1-20210721.tar.xz
/firefox-90.0.2.source.tar.xz
/firefox-langpacks-90.0.2-20210722.tar.xz
/firefox-91.0.source.tar.xz
/firefox-langpacks-91.0-20210810.tar.xz
/firefox-91.0.2.source.tar.xz
/firefox-langpacks-91.0.2-20210826.tar.xz
/firefox-langpacks-92.0-20210903.tar.xz
/firefox-92.0.source.tar.xz
/firefox-92.0.1.source.tar.xz
/firefox-langpacks-92.0.1-20210927.tar.xz
/firefox-93.0.source.tar.xz
/firefox-langpacks-93.0-20210929.tar.xz
/firefox-94.0.source.tar.xz
/firefox-langpacks-94.0-20211031.tar.xz
/firefox-94.0.2.source.tar.xz
/firefox-langpacks-94.0.2-20211125.tar.xz
/firefox-95.0.source.tar.xz
/firefox-langpacks-95.0-20211203.tar.xz
/firefox-95.0.2.source.tar.xz
/firefox-langpacks-95.0.2-20211220.tar.xz
/firefox-96.0.source.tar.xz
/firefox-langpacks-96.0-20220111.tar.xz
/firefox-langpacks-96.0.1-20220118.tar.xz
/firefox-96.0.1.source.tar.xz
/firefox-96.0.3.source.tar.xz
/firefox-langpacks-96.0.3-20220131.tar.xz
/firefox-97.0.source.tar.xz
/firefox-langpacks-97.0-20220208.tar.xz
/firefox-97.0.1.source.tar.xz
/firefox-langpacks-97.0.1-20220218.tar.xz
/firefox-98.0.source.tar.xz
/firefox-langpacks-98.0-20220301.tar.xz
/firefox-langpacks-98.0-20220304.tar.xz
/firefox-langpacks-98.0-20220305.tar.xz
/firefox-98.0.2.source.tar.xz
/firefox-langpacks-98.0.2-20220331.tar.xz
/firefox-99.0.source.tar.xz
/firefox-langpacks-99.0-20220331.tar.xz
/firefox-langpacks-99.0.1-20220413.tar.xz
/firefox-99.0.1.source.tar.xz
/firefox-100.0.source.tar.xz
/firefox-langpacks-100.0-20220502.tar.xz
/firefox-100.0.1.source.tar.xz
/firefox-langpacks-100.0.1-20220518.tar.xz
/firefox-100.0.2.source.tar.xz
/firefox-langpacks-100.0.2-20220520.tar.xz
/firefox-101.0.source.tar.xz
/firefox-langpacks-101.0-20220530.tar.xz
/firefox-101.0.1.source.tar.xz
/firefox-langpacks-101.0.1-20220609.tar.xz
/firefox-102.0.source.tar.xz
/firefox-langpacks-102.0-20220628.tar.xz
/firefox-103.0.source.tar.xz
/firefox-langpacks-103.0-20220721.tar.xz
/firefox-103.0.1.source.tar.xz
/firefox-langpacks-103.0.1-20220802.tar.xz
/firefox-103.0.2.source.tar.xz
/firefox-langpacks-103.0.2-20220812.tar.xz
/firefox-104.0.source.tar.xz
/firefox-langpacks-104.0-20220816.tar.xz
/firefox-langpacks-104.0-20220822.tar.xz
/firefox-langpacks-104.0.1-20220830.tar.xz
/firefox-104.0.1.source.tar.xz
/firefox-104.0.2.source.tar.xz
/firefox-langpacks-104.0.2-20220906.tar.xz
/firefox-langpacks-105.0-20220920.tar.xz
/firefox-105.0.source.tar.xz
/firefox-105.0.1.source.tar.xz
/firefox-langpacks-105.0.1-20220922.tar.xz
/firefox-105.0.2.source.tar.xz
/firefox-langpacks-105.0.2-20221005.tar.xz
/firefox-langpacks-106.0-20221014.tar.xz
/firefox-106.0.source.tar.xz
/firefox-106.0.1.source.tar.xz
/firefox-langpacks-106.0.1-20221023.tar.xz
/firefox-106.0.3.source.tar.xz
/firefox-langpacks-106.0.3-20221031.tar.xz
/firefox-langpacks-107.0-20221114.tar.xz
/firefox-107.0.source.tar.xz
/firefox-107.0.1.source.tar.xz
/firefox-langpacks-107.0.1-20221206.tar.xz
/firefox-108.0.source.tar.xz
/firefox-langpacks-108.0-20221206.tar.xz
/firefox-langpacks-108.0-20221214.tar.xz
/firefox-108.0.1.source.tar.xz
/firefox-langpacks-108.0.1-20221218.tar.xz
/firefox-108.0.2.source.tar.xz
/firefox-langpacks-108.0.2-20230112.tar.xz
/firefox-109.0.source.tar.xz
/firefox-langpacks-109.0-20230111.tar.xz
/firefox-109.0.1.source.tar.xz
/firefox-langpacks-109.0.1-20230201.tar.xz
/firefox-110.0.source.tar.xz
/firefox-langpacks-110.0-20230210.tar.xz
/firefox-langpacks-110.0-20230214.tar.xz
/firefox-111.0.source.tar.xz
/firefox-langpacks-111.0-20230320.tar.xz
/firefox-langpacks-111.0.1-20230322.tar.xz
/firefox-111.0.1.source.tar.xz
/firefox-112.0.source.tar.xz
/firefox-langpacks-112.0-20230405.tar.xz
/firefox-langpacks-112.0-20230406.tar.xz
/firefox-langpacks-112.0.1-20230417.tar.xz
/firefox-112.0.1.source.tar.xz
/firefox-langpacks-112.0.2-20230427.tar.xz
/firefox-112.0.2.source.tar.xz
/firefox-langpacks-113.0-20230509.tar.xz
/firefox-113.0.source.tar.xz
/firefox-langpacks-113.0.1-20230515.tar.xz
/firefox-113.0.1.source.tar.xz
/firefox-114.0.source.tar.xz
/firefox-langpacks-114.0-20230605.tar.xz
/firefox-langpacks-114.0.2-20230620.tar.xz
/firefox-114.0.2.source.tar.xz
/firefox-langpacks-115.0-20230629.tar.xz
/firefox-115.0.source.tar.xz
/firefox-langpacks-115.0-20230703.tar.xz
/firefox-115.0.2.source.tar.xz
/firefox-langpacks-115.0.2-20230717.tar.xz
/firefox-116.0.source.tar.xz
/firefox-langpacks-116.0-20230725.tar.xz
/firefox-langpacks-116.0-20230731.tar.xz
/firefox-116.0.1.source.tar.xz
/firefox-langpacks-116.0.1-20230804.tar.xz
/firefox-langpacks-116.0.2-20230807.tar.xz
/firefox-116.0.2.source.tar.xz
/firefox-langpacks-116.0.3-20230817.tar.xz
/firefox-116.0.3.source.tar.xz
/firefox-117.0.source.tar.xz
/firefox-langpacks-117.0-20230828.tar.xz
/firefox-117.0.1.source.tar.xz
/firefox-langpacks-117.0.1-20230913.tar.xz
/firefox-118.0.source.tar.xz
/firefox-langpacks-118.0-20230925.tar.xz
/firefox-langpacks-118.0.1-20230929.tar.xz
/firefox-118.0.1.source.tar.xz
/firefox-118.0.2.source.tar.xz
/firefox-langpacks-118.0.2-20231010.tar.xz
/dump_syms-vendor.tar.xz
/firefox-langpacks-119.0.1-20231110.tar.xz
/firefox-119.0.1.source.tar.xz
/firefox-120.0.source.tar.xz
/firefox-langpacks-120.0-20231114.tar.xz
/firefox-langpacks-120.0-20231120.tar.xz
/firefox-120.0.1.source.tar.xz
/firefox-langpacks-120.0.1-20231201.tar.xz
/firefox-121.0.source.tar.xz
/firefox-langpacks-121.0-20231218.tar.xz
/firefox-121.0.1.source.tar.xz
/firefox-langpacks-121.0.1-20240112.tar.xz
/firefox-122.0.source.tar.xz
/firefox-langpacks-122.0-20240119.tar.xz
/firefox-langpacks-122.0.1-20240213.tar.xz
/firefox-122.0.1.source.tar.xz
/firefox-langpacks-123.0-20240219.tar.xz
/firefox-123.0.source.tar.xz
/firefox-123.0.1.source.tar.xz
/firefox-langpacks-123.0.1-20240307.tar.xz
/firefox-124.0.source.tar.xz
/firefox-langpacks-124.0-20240313.tar.xz
/firefox-124.0.1.source.tar.xz
/firefox-langpacks-124.0.1-20240322.tar.xz
/wasi-sdk-20.tar.gz
/wasi-sdk-20-1.fc39.src.rpm
/firefox-124.0.2.source.tar.xz
/firefox-langpacks-124.0.2-20240404.tar.xz
/firefox-langpacks-125.0-20240409.tar.xz
/firefox-125.0.source.tar.xz
/firefox-125.0.2.source.tar.xz
/firefox-langpacks-125.0.2-20240420.tar.xz
/firefox-125.0.3.source.tar.xz
/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

@ -0,0 +1,31 @@
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
@@ -24,6 +24,7 @@
GLIBCXX_3.4.27 is from gcc 10
GLIBCXX_3.4.28 is from gcc 10
GLIBCXX_3.4.29 is from gcc 11
+ GLIBCXX_3.4.30 is from gcc 12
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
+#if _GLIBCXX_RELEASE >= 12
+namespace std {
+
+/* This avoids the GLIBCXX_3.4.30 symbol version. */
+void __attribute__((weak))
+__glibcxx_assert_fail(const char* __file, int __line, const char* __function,
+ const char* __condition) {
+ MOZ_CRASH();
+}
+
+} // namespace std
+#endif
+
/* 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

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,279 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martin Sirringhaus <msirringhaus@suse.de>
Date: Tue, 8 Aug 2023 16:18:24 +0300
Subject: [PATCH] Add KDE integration to Firefox
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
Bug: https://bugzilla.suse.com/show_bug.cgi?id=170055
How to apply this patch:
1. Import and apply it
2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
3. Find editBookmarkPanelDoneButton
4. Replace #ifndef with #ifdef in the line above (this hanges the button order from Gnome-style to KDE-style)
5. hg qrefresh
---
browser/components/preferences/main.js | 18 +++
browser/components/shell/moz.build | 2 +
.../components/shell/nsKDEShellService.cpp | 109 ++++++++++++++++++
browser/components/shell/nsKDEShellService.h | 32 +++++
.../components/shell/nsUnixShellService.cpp | 22 ++++
browser/components/shell/nsUnixShellService.h | 15 +++
6 files changed, 198 insertions(+)
create mode 100644 browser/components/shell/nsKDEShellService.cpp
create mode 100644 browser/components/shell/nsKDEShellService.h
create mode 100644 browser/components/shell/nsUnixShellService.cpp
create mode 100644 browser/components/shell/nsUnixShellService.h
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
index 820e46fb006567bfdf93e2a46da5e3c07d42bf10..57d1c21bdecc2d55d0bed30246e684d3b97ad7fa 100644
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -294,6 +294,13 @@ var gMainPane = {
}, backoffTimes[this._backoffIndex]);
}
+ var env = Components.classes["@mozilla.org/process/environment;1"]
+ .getService(Components.interfaces.nsIEnvironment);
+ var kde_session = 0;
+ if (env.get('KDE_FULL_SESSION') == "true") {
+ kde_session = 1;
+ }
+
this.initBrowserContainers();
this.buildContentProcessCountMenuList();
@@ -1727,6 +1734,17 @@ var gMainPane = {
}
try {
shellSvc.setDefaultBrowser(true, false);
+ if (kde_session == 1) {
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile);
+ shellObj.initWithPath("/usr/bin/kwriteconfig");
+ var process = Components.classes["@mozilla.org/process/util;1"]
+ .createInstance(Components.interfaces.nsIProcess);
+ process.init(shellObj);
+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
+ "BrowserApplication", "firefox"];
+ process.run(false, args, args.length);
+ }
} catch (ex) {
console.error(ex);
return;
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
index eb88cb287dc3f04022b74b978666118bbd5fa6b2..95277533781a7224d108e3c45731a6d9a89ba1a0 100644
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build
@@ -36,6 +36,8 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
SOURCES += [
"nsGNOMEShellService.cpp",
+ "nsKDEShellService.cpp",
+ "nsUnixShellService.cpp",
]
if CONFIG["MOZ_ENABLE_DBUS"]:
SOURCES += [
diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..152a3aca87ea73477bc75c4e93c01e5a52dda102
--- /dev/null
+++ b/browser/components/shell/nsKDEShellService.cpp
@@ -0,0 +1,109 @@
+/* -*- 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 "mozilla/ArrayUtils.h"
+
+#include "nsCOMPtr.h"
+#include "nsKDEShellService.h"
+#include "nsShellService.h"
+#include "nsKDEUtils.h"
+#include "nsIPrefService.h"
+#include "nsIProcess.h"
+#include "nsIFile.h"
+#include "nsServiceManagerUtils.h"
+#include "nsComponentManagerUtils.h"
+#include "nsIMutableArray.h"
+#include "nsISupportsPrimitives.h"
+#include "nsArrayUtils.h"
+
+using namespace mozilla;
+
+nsresult
+nsKDEShellService::Init()
+{
+ if( !nsKDEUtils::kdeSupport())
+ return NS_ERROR_NOT_AVAILABLE;
+ return NS_OK;
+}
+
+NS_IMPL_ISUPPORTS(nsKDEShellService, nsIGNOMEShellService, nsIShellService)
+
+NS_IMETHODIMP
+nsKDEShellService::IsDefaultBrowser(bool aForAllTypes,
+ bool* aIsDefaultBrowser)
+{
+ *aIsDefaultBrowser = false;
+
+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
+ if (!command)
+ return NS_ERROR_FAILURE;
+
+ nsCOMPtr<nsISupportsCString> str = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
+ if (!str)
+ return NS_ERROR_FAILURE;
+
+ str->SetData("ISDEFAULTBROWSER"_ns);
+ command->AppendElement( str );
+
+ if( nsKDEUtils::command( command ))
+ *aIsDefaultBrowser = true;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::SetDefaultBrowser(bool aClaimAllTypes,
+ bool aForAllUsers)
+{
+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
+ if (!command)
+ return NS_ERROR_FAILURE;
+
+ nsCOMPtr<nsISupportsCString> cmdstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
+ nsCOMPtr<nsISupportsCString> paramstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
+ if (!cmdstr || !paramstr)
+ return NS_ERROR_FAILURE;
+
+ cmdstr->SetData("SETDEFAULTBROWSER"_ns);
+ command->AppendElement( cmdstr );
+
+ paramstr->SetData( aClaimAllTypes ? "ALLTYPES"_ns : "NORMAL"_ns );
+ command->AppendElement( paramstr );
+
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::GetCanSetDesktopBackground(bool* aResult)
+{
+ *aResult = true;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::SetDesktopBackground(dom::Element* aElement,
+ int32_t aPosition,
+ const nsACString& aImageName)
+{
+ return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::GetDesktopBackgroundColor(PRUint32 *aColor)
+{
+ return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::SetDesktopBackgroundColor(PRUint32 aColor)
+{
+ return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::IsDefaultForScheme(nsTSubstring<char> const& aScheme, bool* aIsDefaultBrowser)
+{
+ return NS_ERROR_NOT_IMPLEMENTED;
+}
+
diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
new file mode 100644
index 0000000000000000000000000000000000000000..8b0bb19164352453cfa453dd87c19263160b9ad8
--- /dev/null
+++ b/browser/components/shell/nsKDEShellService.h
@@ -0,0 +1,32 @@
+/* -*- 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 nskdeshellservice_h____
+#define nskdeshellservice_h____
+
+#include "nsIGNOMEShellService.h"
+#include "nsToolkitShellService.h"
+#include "nsString.h"
+#include "mozilla/Attributes.h"
+
+class nsKDEShellService final : public nsIGNOMEShellService,
+ public nsToolkitShellService
+{
+public:
+ nsKDEShellService() : mCheckedThisSession(false) { }
+
+ NS_DECL_ISUPPORTS
+ NS_DECL_NSISHELLSERVICE
+ NS_DECL_NSIGNOMESHELLSERVICE
+
+ nsresult Init();
+
+private:
+ ~nsKDEShellService() {}
+
+ bool mCheckedThisSession;
+};
+
+#endif // nskdeshellservice_h____
diff --git a/browser/components/shell/nsUnixShellService.cpp b/browser/components/shell/nsUnixShellService.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..abf266ebdc52e136f495911da3454e69c770c6db
--- /dev/null
+++ b/browser/components/shell/nsUnixShellService.cpp
@@ -0,0 +1,22 @@
+/* -*- 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 "nsUnixShellService.h"
+#include "nsGNOMEShellService.h"
+#include "nsKDEShellService.h"
+#include "nsKDEUtils.h"
+#include "mozilla/ModuleUtils.h"
+
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init)
+
+NS_IMETHODIMP
+nsUnixShellServiceConstructor(REFNSIID aIID, void **aResult)
+{
+ if( nsKDEUtils::kdeSupport())
+ return nsKDEShellServiceConstructor( aIID, aResult );
+ return nsGNOMEShellServiceConstructor( aIID, aResult );
+}
diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
new file mode 100644
index 0000000000000000000000000000000000000000..26b5dbac47dd9a8ec1fcb6c93575cca750692735
--- /dev/null
+++ b/browser/components/shell/nsUnixShellService.h
@@ -0,0 +1,15 @@
+/* -*- 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 nsunixshellservice_h____
+#define nsunixshellservice_h____
+
+#include "nsIGNOMEShellService.h"
+
+NS_IMETHODIMP
+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult);
+
+#endif // nsunixshellservice_h____

View file

@ -1,19 +0,0 @@
diff -up firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 firefox-60.0/mfbt/LinuxSignal.h
--- firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 2018-04-27 08:55:38.848241768 +0200
+++ firefox-60.0/mfbt/LinuxSignal.h 2018-04-27 09:06:47.946769859 +0200
@@ -25,10 +25,13 @@ SignalTrampoline(int aSignal, siginfo_t*
"nop; nop; nop; nop"
: : : "memory");
+ // Because the assembler may generate additional insturctions below, we
+ // need to ensure NOPs are inserted first by separating them out above.
+
asm volatile (
- "b %0"
+ "bx %0"
:
- : "X"(H)
+ : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext)
: "memory");
}

View file

@ -1,74 +0,0 @@
# HG changeset patch
# User Lars T Hansen <lhansen@mozilla.com>
# Date 1519822672 -3600
# Wed Feb 28 13:57:52 2018 +0100
# Node ID 672f0415217b202ae59a930769dffd9d6ba6b87c
# Parent 825fd04dacc6297d3a980ec4184079405950b35d
Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor.
diff --git a/js/src/jit-test/tests/bug1375074.js b/js/src/jit-test/tests/bug1375074.js
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/bug1375074.js
@@ -0,0 +1,18 @@
+// This forces the VM to start creating unboxed objects and thus stresses a
+// particular path into generated code for a specialized unboxed object
+// constructor.
+
+var K = 2000; // 2000 should be plenty
+var s = "[";
+var i;
+for ( i=0; i < K-1; i++ )
+ s = s + `{"i":${i}},`;
+s += `{"i":${i}}]`;
+var v = JSON.parse(s);
+
+assertEq(v.length == K, true);
+
+for ( i=0; i < K; i++) {
+ assertEq(v[i] instanceof Object, true);
+ assertEq(v[i].i, i);
+}
diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp
--- a/js/src/vm/UnboxedObject.cpp
+++ b/js/src/vm/UnboxedObject.cpp
@@ -95,7 +95,15 @@ UnboxedLayout::makeConstructorCode(JSCon
#endif
#ifdef JS_CODEGEN_ARM64
- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing.
+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for
+ // addressing. The register we use for PSP may however also be used by
+ // calling code, and it is nonvolatile, so save it. Do this as a special
+ // case first because the generic save/restore code needs the PSP to be
+ // initialized already.
+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
+
+ // Initialize the PSP from the SP.
masm.initStackPtr();
#endif
@@ -233,7 +241,22 @@ UnboxedLayout::makeConstructorCode(JSCon
masm.pop(ScratchDoubleReg);
masm.PopRegsInMask(savedNonVolatileRegisters);
+#ifdef JS_CODEGEN_ARM64
+ // Now restore the value that was in the PSP register on entry, and return.
+
+ // Obtain the correct SP from the PSP.
+ masm.Mov(sp, PseudoStackPointer64);
+
+ // Restore the saved value of the PSP register, this value is whatever the
+ // caller had saved in it, not any actual SP value, and it must not be
+ // overwritten subsequently.
+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
+
+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
+ masm.Ret(vixl::lr);
+#else
masm.abiret();
+#endif
masm.bind(&failureStoreOther);

View file

@ -1,12 +1,33 @@
diff -up firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp
--- firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia 2018-06-20 09:19:11.411939714 +0200
+++ firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp 2018-06-20 09:23:36.831919894 +0200
@@ -686,7 +686,7 @@ SI F from_half(U16 h) {
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
SI U16 Half_from_F(F f) {
-#if defined(USING_NEON_F16C)
+#if 0 //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) {
}
SI U16 to_half(F f) {
-#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+#if 0 && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
return vcvt_f16_f32(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);
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
#elif defined(SKRP_CPU_SKX)

File diff suppressed because one or more lines are too long

View file

@ -1,13 +0,0 @@
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

File diff suppressed because it is too large Load diff

View file

@ -1,12 +0,0 @@
diff -up firefox-65.0/toolkit/moz.configure.disable-elfhack firefox-65.0/toolkit/moz.configure
--- firefox-65.0/toolkit/moz.configure.disable-elfhack 2019-01-28 14:16:48.530345132 +0100
+++ firefox-65.0/toolkit/moz.configure 2019-01-28 14:18:03.231029682 +0100
@@ -1036,7 +1036,7 @@ with only_when('--enable-compile-environ
help='{Enable|Disable} elf hacks')
set_config('USE_ELF_HACK',
- depends_if('--enable-elf-hack')(lambda _: True))
+ depends_if('--enable-elf-hack')(lambda _: False))
@depends(check_build_environment)

View file

@ -1,12 +0,0 @@
diff -up firefox-61.0/build/autoconf/icu.m4.icu firefox-61.0/build/autoconf/icu.m4
--- firefox-61.0/build/autoconf/icu.m4.icu 2018-06-20 09:03:17.957565445 +0200
+++ firefox-61.0/build/autoconf/icu.m4 2018-06-20 09:08:28.159403451 +0200
@@ -77,7 +77,7 @@ if test -n "$USE_ICU"; then
# TODO: the l is actually endian-dependent
# We could make this set as 'l' or 'b' for little or big, respectively,
# but we'd need to check in a big-endian version of the file.
- ICU_DATA_FILE="icudt${version}l.dat"
+ ICU_DATA_FILE="icudt${version}b.dat"
fi
AC_SUBST(MOZ_ICU_VERSION)

View file

@ -1,12 +0,0 @@
diff -up firefox-60.5.0/js/src/jit/AtomicOperations.h.jit-atomic-lucky firefox-60.5.0/js/src/jit/AtomicOperations.h
--- firefox-60.5.0/js/src/jit/AtomicOperations.h.jit-atomic-lucky 2019-01-22 10:20:27.993697161 +0100
+++ firefox-60.5.0/js/src/jit/AtomicOperations.h 2019-01-22 10:23:15.337873762 +0100
@@ -394,7 +394,7 @@ inline bool AtomicOperations::isLockfree
#elif defined(__s390__) || defined(__s390x__)
#include "jit/none/AtomicOperations-feeling-lucky.h"
#else
-#error "No AtomicOperations support provided for this platform"
+#include "jit/none/AtomicOperations-feeling-lucky.h"
#endif
#endif // jit_AtomicOperations_h

View file

@ -1,51 +0,0 @@
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

View file

@ -1,25 +0,0 @@
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.

11
build-seccomp.patch Normal file
View file

@ -0,0 +1,11 @@
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"

View file

@ -0,0 +1,36 @@
diff -up firefox-121.0/toolkit/content/jar.mn.disable-openh264-download firefox-121.0/toolkit/content/jar.mn
--- firefox-121.0/toolkit/content/jar.mn.disable-openh264-download 2023-12-18 20:15:04.352014249 +0100
+++ firefox-121.0/toolkit/content/jar.mn 2023-12-18 20:19:26.857929200 +0100
@@ -130,7 +130,6 @@ toolkit.jar:
#ifdef XP_MACOSX
content/global/macWindowMenu.js
#endif
- content/global/gmp-sources/openh264.json (gmp-sources/openh264.json)
content/global/gmp-sources/widevinecdm.json (gmp-sources/widevinecdm.json)
content/global/gmp-sources/widevinecdm_l1.json (gmp-sources/widevinecdm_l1.json)
diff -up firefox-121.0/toolkit/modules/GMPInstallManager.sys.mjs.disable-openh264-download firefox-121.0/toolkit/modules/GMPInstallManager.sys.mjs
--- firefox-121.0/toolkit/modules/GMPInstallManager.sys.mjs.disable-openh264-download 2023-12-11 21:42:21.000000000 +0100
+++ firefox-121.0/toolkit/modules/GMPInstallManager.sys.mjs 2023-12-18 20:18:52.665768579 +0100
@@ -35,11 +35,6 @@ function getScopedLogger(prefix) {
const LOCAL_GMP_SOURCES = [
{
- id: "gmp-gmpopenh264",
- src: "chrome://global/content/gmp-sources/openh264.json",
- installByDefault: true,
- },
- {
id: "gmp-widevinecdm",
src: "chrome://global/content/gmp-sources/widevinecdm.json",
installByDefault: true,
@@ -421,6 +416,9 @@ GMPInstallManager.prototype = {
* downloaderr, verifyerr or previouserrorencountered
*/
installAddon(gmpAddon) {
+ if (gmpAddon.isOpenH264) {
+ return Promise.reject({ type: "disabled" });
+ }
if (this._deferred) {
let log = getScopedLogger("GMPInstallManager.installAddon");
log.error("previous error encountered");

View file

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

9
distribution.ini.in Normal file
View file

@ -0,0 +1,9 @@
[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

@ -1,23 +0,0 @@
diff -up firefox-54.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-54.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
diff -up firefox-54.0/media/mtransport/third_party/nICEr/nicer.gyp.old firefox-54.0/media/mtransport/third_party/nICEr/nicer.gyp
--- firefox-54.0/media/mtransport/third_party/nICEr/nicer.gyp.old 2017-06-08 14:59:08.786996664 +0200
+++ firefox-54.0/media/mtransport/third_party/nICEr/nicer.gyp 2017-06-08 14:59:22.642946570 +0200
@@ -211,7 +211,6 @@
'-Wno-parentheses',
'-Wno-strict-prototypes',
'-Wmissing-prototypes',
- '-Wno-format',
],
'defines' : [
'LINUX',
diff -up firefox-54.0/media/mtransport/third_party/nrappkit/nrappkit.gyp.build firefox-54.0/media/mtransport/third_party/nrappkit/nrappkit.gyp
--- firefox-54.0/media/mtransport/third_party/nrappkit/nrappkit.gyp.build 2017-06-08 15:08:03.627063097 +0200
+++ firefox-54.0/media/mtransport/third_party/nrappkit/nrappkit.gyp 2017-06-08 15:08:15.657019606 +0200
@@ -206,7 +206,6 @@
'-Wno-parentheses',
'-Wno-strict-prototypes',
'-Wmissing-prototypes',
- '-Wno-format',
],
'defines' : [
'LINUX',

View file

@ -0,0 +1,17 @@
diff -up firefox-124.0/toolkit/xre/nsAppRunner.cpp.fedora-customization firefox-124.0/toolkit/xre/nsAppRunner.cpp
diff -up firefox-124.0/widget/gtk/nsWindow.cpp.fedora-customization firefox-124.0/widget/gtk/nsWindow.cpp
--- firefox-124.0/widget/gtk/nsWindow.cpp.fedora-customization 2024-03-13 12:35:57.098591719 +0100
+++ firefox-124.0/widget/gtk/nsWindow.cpp 2024-03-13 12:43:17.375928494 +0100
@@ -3459,6 +3459,12 @@ nsresult nsWindow::SetTitle(const nsAStr
return NS_OK;
}
+ const char* appTitle = getenv("MOZ_APP_TITLE");
+ if (appTitle) {
+ gtk_window_set_title(GTK_WINDOW(mShell), appTitle);
+ return NS_OK;
+ }
+
// convert the string into utf8 and set the title.
#define UTF8_FOLLOWBYTE(ch) (((ch) & 0xC0) == 0x80)
NS_ConvertUTF16toUTF8 titleUTF8(aTitle);

View file

@ -1,10 +1,10 @@
diff -up firefox-55.0/browser/app/profile/firefox.js.addons firefox-55.0/browser/app/profile/firefox.js
--- firefox-55.0/browser/app/profile/firefox.js.addons 2017-08-02 10:58:30.566363833 +0200
+++ firefox-55.0/browser/app/profile/firefox.js 2017-08-02 10:59:15.377216959 +0200
@@ -65,7 +65,8 @@ pref("extensions.systemAddon.update.url"
diff -up firefox-125.0/browser/app/profile/firefox.js.addons firefox-125.0/browser/app/profile/firefox.js
--- firefox-125.0/browser/app/profile/firefox.js.addons 2024-04-09 10:34:30.728405003 +0200
+++ firefox-125.0/browser/app/profile/firefox.js 2024-04-09 10:36:01.444584632 +0200
@@ -58,7 +58,8 @@ pref("extensions.systemAddon.update.enab
// Disable add-ons that are not installed by the user in all scopes by default.
// See the SCOPE constants in AddonManager.jsm for values to use here.
// See the SCOPE constants in AddonManager.sys.mjs for values to use here.
-pref("extensions.autoDisableScopes", 15);
+pref("extensions.autoDisableScopes", 0);
+pref("extensions.showMismatchUI", false);

View file

@ -1,19 +0,0 @@
diff -up firefox-65.0/netwerk/protocol/http/nsHttpHandler.cpp.fedora-ua firefox-65.0/netwerk/protocol/http/nsHttpHandler.cpp
--- firefox-65.0/netwerk/protocol/http/nsHttpHandler.cpp.fedora-ua 2019-01-28 14:28:35.806375063 +0100
+++ firefox-65.0/netwerk/protocol/http/nsHttpHandler.cpp 2019-01-28 14:30:25.886917219 +0100
@@ -873,6 +873,7 @@ void nsHttpHandler::BuildUserAgent() {
mUserAgent.SetCapacity(mLegacyAppName.Length() + mLegacyAppVersion.Length() +
#ifndef UA_SPARE_PLATFORM
mPlatform.Length() +
+ mPlatform.Length() + 8 +
#endif
mOscpu.Length() + mMisc.Length() + mProduct.Length() +
mProductSub.Length() + mAppName.Length() +
@@ -891,6 +892,7 @@ void nsHttpHandler::BuildUserAgent() {
if (!mPlatform.IsEmpty()) {
mUserAgent += mPlatform;
mUserAgent.AppendLiteral("; ");
+ mUserAgent.AppendLiteral("Fedora; ");
}
#endif
if (!mCompatDevice.IsEmpty()) {

View file

@ -0,0 +1,24 @@
--- firefox-109.0.1/gfx/2d/Rect.h.old 2023-02-07 09:44:24.946279843 +0100
+++ firefox-109.0.1/gfx/2d/Rect.h 2023-02-07 09:44:47.969032049 +0100
@@ -324,8 +324,8 @@ IntRectTyped<Units> RoundedToInt(const R
template <class Units>
bool RectIsInt32Safe(const RectTyped<Units>& aRect) {
- float min = (float)std::numeric_limits<std::int32_t>::min();
- float max = (float)std::numeric_limits<std::int32_t>::max();
+ float min = (float)std::numeric_limits<int32_t>::min();
+ float max = (float)std::numeric_limits<int32_t>::max();
return aRect.x > min && aRect.y > min && aRect.width < max &&
aRect.height < max && aRect.XMost() < max && aRect.YMost() < max;
}
diff -up firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp.old firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp
--- firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp.old 2023-02-07 11:03:41.788720090 +0100
+++ firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp 2023-02-07 11:04:29.195345659 +0100
@@ -10,6 +10,7 @@
#include <iomanip>
#include <string>
#include <vector>
+#include <cstdint>
#include <zlib.h>

View file

@ -0,0 +1,19 @@
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,14 @@
diff -up firefox-114.0.2/gfx/wr/swgl/src/gl.cc.inline firefox-114.0.2/gfx/wr/swgl/src/gl.cc
--- firefox-114.0.2/gfx/wr/swgl/src/gl.cc.inline 2023-06-22 11:08:53.294593327 +0200
+++ firefox-114.0.2/gfx/wr/swgl/src/gl.cc 2023-06-22 11:12:43.663486734 +0200
@@ -58,9 +58,7 @@ WINBASEAPI BOOL WINAPI QueryPerformanceF
}
#else
-// GCC is slower when dealing with always_inline, especially in debug builds.
-// When using Clang, use always_inline more aggressively.
-# if defined(__clang__) || defined(NDEBUG)
+# if defined(__clang__) || defined (__GNUC__) || defined(NDEBUG)
# define ALWAYS_INLINE __attribute__((always_inline)) inline
# else
# define ALWAYS_INLINE inline

38
firefox-gcc-build.patch Normal file
View file

@ -0,0 +1,38 @@
--- firefox-80.0.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2020-08-31 10:04:19.000000000 -0400
+++ firefox-80.0.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2020-09-12 07:24:35.298931628 -0400
@@ -1962,7 +1962,7 @@ struct kernel_statfs {
LSS_ENTRYPOINT \
"pop %%ebx" \
args \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res)
#undef _syscall0
#define _syscall0(type,name) \
@@ -2019,7 +2019,7 @@ struct kernel_statfs {
: "i" (__NR_##name), "ri" ((long)(arg1)), \
"c" ((long)(arg2)), "d" ((long)(arg3)), \
"S" ((long)(arg4)), "D" ((long)(arg5)) \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res); \
}
#undef _syscall6
@@ -2041,7 +2041,7 @@ struct kernel_statfs {
: "i" (__NR_##name), "0" ((long)(&__s)), \
"c" ((long)(arg2)), "d" ((long)(arg3)), \
"S" ((long)(arg4)), "D" ((long)(arg5)) \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res); \
}
LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
@@ -2127,7 +2127,7 @@ struct kernel_statfs {
: "0"(-EINVAL), "i"(__NR_clone),
"m"(fn), "m"(child_stack), "m"(flags), "m"(arg),
"m"(parent_tidptr), "m"(newtls), "m"(child_tidptr)
- : "esp", "memory", "ecx", "edx", "esi", "edi");
+ : "memory", "ecx", "edx", "esi", "edi");
LSS_RETURN(int, __res);
}

12
firefox-i686-build.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old firefox-105.0/mozglue/misc/SIMD_avx2.cpp
--- firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old 2022-09-22 21:35:07.006221995 +0200
+++ firefox-105.0/mozglue/misc/SIMD_avx2.cpp 2022-09-22 21:36:12.972480517 +0200
@@ -55,7 +55,7 @@ __m256i CmpEq256(__m256i a, __m256i b) {
return _mm256_cmpeq_epi64(a, b);
}
-# if defined(__GNUC__) && !defined(__clang__)
+# if 0
// See the comment in SIMD.cpp over Load32BitsIntoXMM. This is just adapted
// from that workaround. Testing this, it also yields the correct instructions

View file

@ -1,11 +0,0 @@
diff -up firefox-63.0.1/intl/locale/LocaleService.cpp.old firefox-63.0.1/intl/locale/LocaleService.cpp
--- firefox-63.0.1/intl/locale/LocaleService.cpp.old 2018-11-14 13:34:16.338285161 +0100
+++ firefox-63.0.1/intl/locale/LocaleService.cpp 2018-11-14 13:34:21.438270308 +0100
@@ -708,7 +708,6 @@ LocaleService::GetDefaultLocale(nsACStri
GetGREFileContents("update.locale", &locale);
locale.Trim(" \t\n\r");
// This should never be empty.
- MOZ_ASSERT(!locale.IsEmpty());
if (SanitizeForBCP47(locale, true)) {
mDefaultLocale.Assign(locale);
}

View file

@ -1,26 +1,20 @@
. $topsrcdir/browser/config/mozconfig
ac_add_options --prefix="$PREFIX"
ac_add_options --libdir="$LIBDIR"
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --disable-strip
#ac_add_options --enable-libnotify
ac_add_options --enable-necko-wifi
ac_add_options --enable-startup-notification
ac_add_options --disable-updater
ac_add_options --enable-chrome-format=omni
ac_add_options --enable-pulseaudio
ac_add_options --enable-av1
ac_add_options --without-system-icu
ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
ac_add_options --with-google-location-service-api-keyfile=../google-api-key
ac_add_options --with-google-safebrowsing-api-keyfile=../google-api-key
ac_add_options --enable-release
ac_add_options --update-channel=release
ac_add_options --disable-system-sqlite
# Workaround for mozbz#1341234
ac_add_options BINDGEN_CFLAGS="$(pkg-config nspr pixman-1 --cflags)"
ac_add_options --enable-av1
ac_add_options --allow-addon-sideload
ac_add_options --with-system-fdk-aac
ac_add_options --enable-js-shell
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --disable-bootstrap
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1

View file

@ -0,0 +1,19 @@
diff -up firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp.nss-hack firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp
--- firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp.nss-hack 2021-01-11 12:12:02.585514543 +0100
+++ firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp 2021-01-11 12:47:50.345984582 +0100
@@ -1619,6 +1619,15 @@ SECStatus InitializeNSS(const nsACString
return srv;
}
+ /* Sets the NSS_USE_ALG_IN_ANY_SIGNATURE bit.
+ * does not change NSS_USE_ALG_IN_CERT_SIGNATURE,
+ * so policy will still disable use of sha1 in
+ * certificate related signature processing. */
+ srv = NSS_SetAlgorithmPolicy(SEC_OID_SHA1, NSS_USE_ALG_IN_ANY_SIGNATURE, 0);
+ if (srv != SECSuccess) {
+ NS_WARNING("Unable to use SHA1 for Add-ons, expect broken/disabled Add-ons. See https://bugzilla.redhat.com/show_bug.cgi?id=1908018 for details.");
+ }
+
if (nssDbConfig == NSSDBConfig::ReadWrite) {
UniquePK11SlotInfo slot(PK11_GetInternalKeySlot());
if (!slot) {

File diff suppressed because it is too large Load diff

View file

@ -2,13 +2,11 @@ pref("app.update.auto", false);
pref("app.update.enabled", false);
pref("app.update.autoInstallEnabled", false);
pref("general.smoothScroll", true);
pref("intl.locale.matchOS", true);
pref("intl.locale.requested", "");
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);
@ -18,15 +16,18 @@ pref("ui.SpellCheckerUnderlineStyle", 1);
pref("startup.homepage_override_url", "");
pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=https://start.fedoraproject.org/");
pref("browser.newtabpage.pinned", '[{"url":"https://start.fedoraproject.org/","title":"Fedora Project - Start Page"}]');
pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
pref("media.gmp-gmpopenh264.provider.enabled",false);
pref("media.gmp-gmpopenh264.autoupdate",false);
pref("media.gmp-gmpopenh264.enabled",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);
pref("layers.use-image-offscreen-surfaces", false);
/* Allow sending credetials to all https:// sites */
pref("network.negotiate-auth.trusted-uris", "https://");
pref("spellchecker.dictionary_path","/usr/share/myspell");
pref("spellchecker.dictionary_path","/usr/share/hunspell");
/* Disable DoH by default */
pref("network.trr.mode", 5);
/* Enable per-user policy dir, see mozbz#1583466 */
pref("browser.policies.perUserDir", true);
pref("browser.gnome-search-provider.enabled",true);
/* Enable ffvpx playback for WebRTC */
pref("media.navigator.mediadatadecoder_vpx_enabled", true);

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Before After
Before After

View file

@ -11,7 +11,7 @@ MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xm
StartupNotify=true
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;
Actions=new-window;new-private-window;profile-manager-window;
[Desktop Action new-window]
Name=Open a New Window
@ -24,8 +24,8 @@ Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn-BD]= (N)
Name[bn-IN]=
Name[bn_BD]= (N)
Name[bn_IN]=
Name[br]=Prenestr nevez
Name[brx]= '(N)
Name[bs]=Novi prozor
@ -37,37 +37,37 @@ Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[dsb]=Nowe wokno
Name[el]=Νέο παράθυρο
Name[en-GB]=New Window
Name[en-US]=New Window
Name[en-ZA]=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[es_AR]=Nueva ventana
Name[es_CL]=Nueva ventana
Name[es_ES]=Nueva ventana
Name[es_MX]=Nueva ventana
Name[et]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fy-NL]=Nij finster
Name[ga-IE]=Fuinneog Nua
Name[fy_NL]=Nij finster
Name[ga_IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu-IN]= િ
Name[gu_IN]= િ
Name[he]=חלון חדש
Name[hi-IN]= ि
Name[hi_IN]= ि
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
Name[hy-AM]=Նոր Պատուհան
Name[hy_AM]=Նոր Պատուհան
Name[id]=Jendela Baru
Name[is]=Nýr gluggi
Name[it]=Nuova finestra
Name[ja]=
Name[ja-JP-mac]=
Name[ja_JP-mac]=
Name[ka]=
Name[kk]=Жаңа терезе
Name[km]=
@ -86,15 +86,15 @@ Name[ml]=പുതിയ ജാലകം
Name[mr]=
Name[ms]=Tetingkap Baru
Name[my]=
Name[nb-NO]=Nytt vindu
Name[ne-NP]=
Name[nb_NO]=Nytt vindu
Name[ne_NP]=
Name[nl]=Nieuw venster
Name[nn-NO]=Nytt vindauge
Name[nn_NO]=Nytt vindauge
Name[or]= ି
Name[pa-IN]= ਿ
Name[pa_IN]= ਿ
Name[pl]=Nowe okno
Name[pt-BR]=Nova janela
Name[pt-PT]=Nova janela
Name[pt_BR]=Nova janela
Name[pt_PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
@ -105,7 +105,7 @@ Name[sl]=Novo okno
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv-SE]=Nytt fönster
Name[sv_SE]=Nytt fönster
Name[ta]=ி
Name[te]= ి
Name[th]=
@ -117,8 +117,8 @@ Name[uz]=Yangi oyna
Name[vi]=Ca s mi
Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh-CN]=
Name[zh-TW]=
Name[zh_CN]=
Name[zh_TW]=
Exec=firefox-wayland --name firefox-wayland --new-window %u
[Desktop Action new-private-window]
@ -132,8 +132,8 @@ Name[ast]=Ventana privada nueva
Name[az]=Yeni Məxfi Pəncərə
Name[be]=Новае акно адасаблення
Name[bg]=Нов прозорец за поверително сърфиране
Name[bn-BD]= ি
Name[bn-IN]= ি
Name[bn_BD]= ি
Name[bn_IN]= ি
Name[br]=Prenestr merdeiñ prevez nevez
Name[brx]= '
Name[bs]=Novi privatni prozor
@ -145,37 +145,37 @@ Name[da]=Nyt privat vindue
Name[de]=Neues privates Fenster
Name[dsb]=Nowe priwatne wokno
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
Name[en-GB]=New Private Window
Name[en-US]=New Private Window
Name[en-ZA]=New Private Window
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[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]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy-NL]=Nij priveefinster
Name[ga-IE]=Fuinneog Nua Phríobháideach
Name[fy_NL]=Nij priveefinster
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]= િ
Name[gu_IN]= િ
Name[he]=חלון פרטי חדש
Name[hi-IN]= ि ि
Name[hi_IN]= ि ि
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
Name[hy-AM]=Սկսել Գաղտնի դիտարկում
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[ja_JP-mac]=
Name[ka]=
Name[kk]=Жаңа жекелік терезе
Name[km]=
@ -194,15 +194,15 @@ Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
Name[mr]= ि
Name[ms]=Tetingkap Persendirian Baharu
Name[my]=New Private Window
Name[nb-NO]=Nytt privat vindu
Name[ne-NP]= ि
Name[nb_NO]=Nytt privat vindu
Name[ne_NP]= ि
Name[nl]=Nieuw privévenster
Name[nn-NO]=Nytt privat vindauge
Name[nn_NO]=Nytt privat vindauge
Name[or]= ି ି
Name[pa-IN]= ਿ
Name[pa_IN]= ਿ
Name[pl]=Nowe okno prywatne
Name[pt-BR]=Nova janela privativa
Name[pt-PT]=Nova janela privada
Name[pt_BR]=Nova janela privativa
Name[pt_PT]=Nova janela privada
Name[rm]=Nova fanestra privata
Name[ro]=Fereastră privată nouă
Name[ru]=Новое приватное окно
@ -213,7 +213,7 @@ Name[sl]=Novo zasebno okno
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватан прозор
Name[sv-SE]=Nytt privat fönster
Name[sv_SE]=Nytt privat fönster
Name[ta]=ி ி
Name[te]= ి ి
Name[th]=
@ -225,7 +225,11 @@ Name[uz]=Yangi maxfiy oyna
Name[vi]=Ca s riêng tư mi
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh-CN]=
Name[zh-TW]=
Name[zh_CN]=
Name[zh_TW]=
Exec=firefox-wayland --private-window --name firefox-wayland %u
[Desktop Action profile-manager-window]
Name=Open the Profile Manager
Name[cs]=Správa profilů
Exec=firefox-wayland --name firefox-wayland --ProfileManager

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/bash
#
# Run Firefox under Wayland
#

View file

@ -11,7 +11,7 @@ MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xm
StartupNotify=true
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;
Actions=new-window;new-private-window;profile-manager-window;
[Desktop Action new-window]
Name=Open a New Window
@ -24,8 +24,8 @@ Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn-BD]= (N)
Name[bn-IN]=
Name[bn_BD]= (N)
Name[bn_IN]=
Name[br]=Prenestr nevez
Name[brx]= '(N)
Name[bs]=Novi prozor
@ -37,37 +37,37 @@ Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[dsb]=Nowe wokno
Name[el]=Νέο παράθυρο
Name[en-GB]=New Window
Name[en-US]=New Window
Name[en-ZA]=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[es_AR]=Nueva ventana
Name[es_CL]=Nueva ventana
Name[es_ES]=Nueva ventana
Name[es_MX]=Nueva ventana
Name[et]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fy-NL]=Nij finster
Name[ga-IE]=Fuinneog Nua
Name[fy_NL]=Nij finster
Name[ga_IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu-IN]= િ
Name[gu_IN]= િ
Name[he]=חלון חדש
Name[hi-IN]= ि
Name[hi_IN]= ि
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
Name[hy-AM]=Նոր Պատուհան
Name[hy_AM]=Նոր Պատուհան
Name[id]=Jendela Baru
Name[is]=Nýr gluggi
Name[it]=Nuova finestra
Name[ja]=
Name[ja-JP-mac]=
Name[ja_JP-mac]=
Name[ka]=
Name[kk]=Жаңа терезе
Name[km]=
@ -86,15 +86,15 @@ Name[ml]=പുതിയ ജാലകം
Name[mr]=
Name[ms]=Tetingkap Baru
Name[my]=
Name[nb-NO]=Nytt vindu
Name[ne-NP]=
Name[nb_NO]=Nytt vindu
Name[ne_NP]=
Name[nl]=Nieuw venster
Name[nn-NO]=Nytt vindauge
Name[nn_NO]=Nytt vindauge
Name[or]= ି
Name[pa-IN]= ਿ
Name[pa_IN]= ਿ
Name[pl]=Nowe okno
Name[pt-BR]=Nova janela
Name[pt-PT]=Nova janela
Name[pt_BR]=Nova janela
Name[pt_PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
@ -105,7 +105,7 @@ Name[sl]=Novo okno
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv-SE]=Nytt fönster
Name[sv_SE]=Nytt fönster
Name[ta]=ி
Name[te]= ి
Name[th]=
@ -117,8 +117,8 @@ Name[uz]=Yangi oyna
Name[vi]=Ca s mi
Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh-CN]=
Name[zh-TW]=
Name[zh_CN]=
Name[zh_TW]=
Exec=firefox-x11 --name firefox-x11 --new-window %u
[Desktop Action new-private-window]
@ -132,8 +132,8 @@ Name[ast]=Ventana privada nueva
Name[az]=Yeni Məxfi Pəncərə
Name[be]=Новае акно адасаблення
Name[bg]=Нов прозорец за поверително сърфиране
Name[bn-BD]= ি
Name[bn-IN]= ি
Name[bn_BD]= ি
Name[bn_IN]= ি
Name[br]=Prenestr merdeiñ prevez nevez
Name[brx]= '
Name[bs]=Novi privatni prozor
@ -145,37 +145,37 @@ Name[da]=Nyt privat vindue
Name[de]=Neues privates Fenster
Name[dsb]=Nowe priwatne wokno
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
Name[en-GB]=New Private Window
Name[en-US]=New Private Window
Name[en-ZA]=New Private Window
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[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]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy-NL]=Nij priveefinster
Name[ga-IE]=Fuinneog Nua Phríobháideach
Name[fy_NL]=Nij priveefinster
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]= િ
Name[gu_IN]= િ
Name[he]=חלון פרטי חדש
Name[hi-IN]= ि ि
Name[hi_IN]= ि ि
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
Name[hy-AM]=Սկսել Գաղտնի դիտարկում
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[ja_JP-mac]=
Name[ka]=
Name[kk]=Жаңа жекелік терезе
Name[km]=
@ -194,15 +194,15 @@ Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
Name[mr]= ि
Name[ms]=Tetingkap Persendirian Baharu
Name[my]=New Private Window
Name[nb-NO]=Nytt privat vindu
Name[ne-NP]= ि
Name[nb_NO]=Nytt privat vindu
Name[ne_NP]= ि
Name[nl]=Nieuw privévenster
Name[nn-NO]=Nytt privat vindauge
Name[nn_NO]=Nytt privat vindauge
Name[or]= ି ି
Name[pa-IN]= ਿ
Name[pa_IN]= ਿ
Name[pl]=Nowe okno prywatne
Name[pt-BR]=Nova janela privativa
Name[pt-PT]=Nova janela privada
Name[pt_BR]=Nova janela privativa
Name[pt_PT]=Nova janela privada
Name[rm]=Nova fanestra privata
Name[ro]=Fereastră privată nouă
Name[ru]=Новое приватное окно
@ -213,7 +213,7 @@ Name[sl]=Novo zasebno okno
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватан прозор
Name[sv-SE]=Nytt privat fönster
Name[sv_SE]=Nytt privat fönster
Name[ta]=ி ி
Name[te]= ి ి
Name[th]=
@ -225,7 +225,11 @@ Name[uz]=Yangi maxfiy oyna
Name[vi]=Ca s riêng tư mi
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh-CN]=
Name[zh-TW]=
Name[zh_CN]=
Name[zh_TW]=
Exec=firefox-x11 --private-window --name firefox-x11 %u
[Desktop Action profile-manager-window]
Name=Open the Profile Manager
Name[cs]=Správa profilů
Exec=firefox-x11 --name firefox-x11 --ProfileManager

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/bash
#
# Run Firefox on X11 backend
#

View file

@ -1,4 +1,4 @@
.TH FIREFOX 1 "November 30, 2017" firefox "Linux User's Manual"
.TH FIREFOX 1 "July 10, 2019" firefox "Linux User's Manual"
.SH NAME
firefox \- a Web browser for X11 derived from the Mozilla browser
@ -6,17 +6,10 @@ 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.
@ -33,10 +26,10 @@ Make all warnings fatal
.SS "Firefox options"
.TP
.B \-h, \-help
.B \-h, \--help
Show summary of options.
.TP
.B \-v, \-version
.B \-v, \--version
Print Firefox version.
.TP
\fB\-P\fR \fIprofile\fR
@ -63,11 +56,22 @@ Start with \fIlocale\fR resources as UI Locale.
\fB\-\-safe\-mode\fR
Disables extensions and themes for this session.
.TP
\fB\--allow-downgrade\fR
Allows downgrading a profile.
.TP
\fB\--MOZ_LOG\fR=\fImodules\fR
Treated as \fBMOZ_LOG\fR=\fImodules\fR environment variable, overrides it.
.TP
\fB\--MOZ_LOG_FILE\fR=\fIfile\fR
Treated as \fBMOZ_LOG_FILE\fR=\fIfile\fR environment variable, overrides it. If
MOZ_LOG_FILE is not specified as an argument or as an environment variable,
logging will be written to stdout.
.TP
\fB\-\-headless\fR
Run without a GUI.
.TP
\fB\-\-marionette\fR
Enable remote control server.
\fB\-\-save-recordings\fR
Save recordings for all content processes to a directory.
.TP
\fB\-\-browser\fR
Open a browser window.
@ -93,8 +97,9 @@ Width and optionally height of screenshot.
\fB\-\-search\fR \fIterm\fR
Search \fIterm\fR with your default search engine.
.TP
\fB\-\-setDefaultBrowser\fR
Set this app as the default browser.
.TP
\fB\-\-jsconsole\fR
Open the Browser Console.
.TP
@ -115,19 +120,16 @@ Record drawing for a given URL.
.TP
\fB\-\-recording-output\fR \fIfile\fR
Specify destination file for a drawing recording.
.TP
\fB\-\-setDefaultBrowser\fR
Set this app as the default browser.
.SH FILES
\fI/usr/bin/firefox\fR - shell script wrapping
\fBfirefox\fR
.br
\fI/usr/lib64/firefox/firefox-bin\fR - \fBfirefox\fR
\fI/usr/lib64/firefox/firefox\fR - \fBfirefox\fR
executable
.SH VERSION
57.0
68.0
.SH BUGS
To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR

59
firefox.appdata.xml.in Normal file
View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2019 Firefox contributors -->
<component type="desktop">
<id>firefox.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<name>Firefox</name>
<summary>Web Browser</summary>
<summary xml:lang="ca">Navegador web</summary>
<summary xml:lang="cs">Webový prohlížeč</summary>
<summary xml:lang="es">Navegador web</summary>
<summary xml:lang="fa">مرورگر اینترنتی</summary>
<summary xml:lang="fi">WWW-selain</summary>
<summary xml:lang="fr">Navigateur Web</summary>
<summary xml:lang="hu">Webböngésző</summary>
<summary xml:lang="it">Browser Web</summary>
<summary xml:lang="ja">ウェブ・ブラウザ</summary>
<summary xml:lang="ko">웹 브라우저</summary>
<summary xml:lang="nb">Nettleser</summary>
<summary xml:lang="nl">Webbrowser</summary>
<summary xml:lang="nn">Nettlesar</summary>
<summary xml:lang="no">Nettleser</summary>
<summary xml:lang="pl">Przeglądarka WWW</summary>
<summary xml:lang="pt">Navegador Web</summary>
<summary xml:lang="pt_BR">Navegador Web</summary>
<summary xml:lang="sk">Internetový prehliadač</summary>
<summary xml:lang="sv">Webbläsare</summary>
<description>
<p>
Bringing together all kinds of awesomeness to make browsing better for you.
Get to your favorite sites quickly even if you dont remember the URLs.
Type your term into the location bar (aka the Awesome Bar) and the autocomplete
function will include possible matches from your browsing history, bookmarked
sites and open tabs.
</p>
</description>
<url type="homepage">https://www.mozilla.org</url>
<update_contact>stransky@redhat.com</update_contact>
<kudos>
<kudo>ModernToolkit</kudo>
<kudo>SearchProvider</kudo>
</kudos>
<project_group>Mozilla</project_group>
<project_license>GPL-3.0+</project_license>
<developer_name>Mozilla Corporation</developer_name>
<url type="bugtracker">https://bugzilla.mozilla.org/</url>
<url type="help">https://support.mozilla.org/</url>
<translation type="gettext">firefox</translation>
<provides>
<id>firefox.desktop</id>
</provides>
<screenshots>
<screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png</screenshot>
<screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png</screenshot>
<screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png</screenshot>
</screenshots>
<releases>
<release version="__VERSION__" date="__DATE__"/>
</releases>
</component>

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/bash
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
@ -64,15 +64,13 @@ 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"
##
## Enable Wayland backend?
## Use D-Bus remote exclusively when there's Wayland display.
##
if __DEFAULT_WAYLAND__ && ! [ $MOZ_DISABLE_WAYLAND ]; then
if [ "$XDG_CURRENT_DESKTOP" == "GNOME" ]; then
export MOZ_ENABLE_WAYLAND=1
fi
if [ "$WAYLAND_DISPLAY" ]; then
export MOZ_DBUS_REMOTE=1
fi
##
@ -110,10 +108,14 @@ export MOZ_PLUGIN_PATH
export MOZ_APP_LAUNCHER="/__PREFIX__/bin/firefox"
##
## Set FONTCONFIG_PATH for Xft/fontconfig
## We want Firefox to use Openh264 provided by Fedora.
##
## We used to configure it here but It's set by /etc/profile.d/gmpopenh264.sh
## script from mozilla-openh264 package now. Let's keep it here just
## for the record.
##
## export MOZ_GMP_PATH=$MOZ_LIB_DIR/mozilla/plugins/gmp-gmpopenh264/system-installed
##
FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
export FONTCONFIG_PATH
##
## In order to better support certain scripts (such as Indic and some CJK
@ -128,21 +130,10 @@ export FONTCONFIG_PATH
# 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)
##
export MOZ_USE_XINPUT2=1
export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2-1}
# OK, here's where all the real work gets done
@ -167,11 +158,19 @@ MOZILLA_DOWN=0
if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then
if [ -x $MOZ_DIST_BIN/$MOZ_FIREFOX_FILE ]; then
# Is firefox running?
/__PREFIX__/bin/pidof firefox > /dev/null 2>&1
/__PREFIX__/bin/pidof $MOZ_PROGRAM > /dev/null 2>&1
MOZILLA_DOWN=$?
fi
fi
# When Firefox is not running, restore SELinux labels for profile files
# (rhbz#1731371)
if [ $MOZILLA_DOWN -ne 0 ]; then
if [ -x $GETENFORCE_FILE ] && [ `$GETENFORCE_FILE` != "Disabled" ]; then
(restorecon -vr ~/.mozilla/firefox/*/gmp-widevinecdm/* &)
fi
fi
# Modify language pack configuration only when firefox is not running
# and language packs are not disabled
if [ $MOZILLA_DOWN -ne 0 ]; then
@ -204,8 +203,17 @@ if [ $MOZILLA_DOWN -ne 0 ]; then
if [ -h $MOZ_LANGPACKS_DIR/$langpack ]; then
langpack=`readlink $MOZ_LANGPACKS_DIR/$langpack`
fi
ln -s $MOZ_LANGPACKS_DIR/$langpack \
$MOZ_EXTENSIONS_PROFILE_DIR/$langpack
if [ -e "/run/ostree-booted" ]; then
# Files on Silverblue has file create time set to 0,
# so in case the langpack is updated Firefox does not
# check for changes because it compares the file
# creation date to do so.
cp -f $MOZ_LANGPACKS_DIR/$langpack \
$MOZ_EXTENSIONS_PROFILE_DIR/$langpack
else
ln -s $MOZ_LANGPACKS_DIR/$langpack \
$MOZ_EXTENSIONS_PROFILE_DIR/$langpack
fi
echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG
return 0
fi
@ -219,40 +227,23 @@ fi
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
export NSS_SSL_CBC_RANDOM_IV
# 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
# MOZ_APP_REMOTINGNAME links Firefox with desktop file name
if [ -z "$MOZ_APP_REMOTINGNAME" ]
then
export MOZ_APP_REMOTINGNAME=__APP_NAME__
fi
# Flatpak specific environment variables
%FLATPAK_ENV_VARS%
# Don't throw "old profile" dialog box.
export MOZ_ALLOW_DOWNGRADE=1
# Run the browser
debugging=0
if [ $debugging = 1 ]
then
echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
echo $MOZ_PROGRAM "$@"
fi
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
exec $MOZ_PROGRAM "$@"

File diff suppressed because it is too large Load diff

21
fix-cargo-checksum Executable file
View file

@ -0,0 +1,21 @@
#!/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.8.2"
cbindgen = "0.29.1"
[[bin]]
name = "dummy"

33
gen_dump_syms-vendor.sh Executable file
View file

@ -0,0 +1,33 @@
#!/bin/bash
set -x
# Dummy Cargo.toml file with cbindgen dependency
cat > Cargo.toml <<EOL
[package]
name = "dummy"
version = "0.0.1"
description = """
This is a dummy package which contains dependency on cbindgen
to be used with 'cargo vendor' commmand.
"""
[dependencies]
dump_syms = "=2.3.2"
time = "0.3.36"
[[bin]]
name = "dummy"
path = "dummy.rs"
doc = false
EOL
cargo install cargo-vendor
cargo vendor
cd vendor
tar -cJf ../dump_syms-vendor.tar.xz *
cd ..
rm -f Cargo.toml
rm -rf vendor

1
google-loc-api-key Normal file
View file

@ -0,0 +1 @@
AIzaSyB2h2OuRcUgy5N-5hsZqiPW6sH3n_rptiQ

View file

@ -1,99 +0,0 @@
diff -up firefox-67.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-67.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-67.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2019-05-14 01:08:09.000000000 +0200
+++ firefox-67.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2019-05-15 15:10:23.860653275 +0200
@@ -246,8 +246,20 @@ nsresult nsReadConfig::openAndEvaluateJS
if (NS_FAILED(rv)) return rv;
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
- if (NS_FAILED(rv)) return rv;
+ if (NS_FAILED(rv)) {
+ // Look for cfg file in /etc/<application>/pref
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(jsFile));
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ rv = jsFile->AppendNative(NS_LITERAL_CSTRING("pref"));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
} else {
nsAutoCString location("resource://gre/defaults/autoconfig/");
location += aFileName;
diff -up firefox-67.0/modules/libpref/Preferences.cpp.1170092 firefox-67.0/modules/libpref/Preferences.cpp
--- firefox-67.0/modules/libpref/Preferences.cpp.1170092 2019-05-15 15:10:23.860653275 +0200
+++ firefox-67.0/modules/libpref/Preferences.cpp 2019-05-15 15:11:58.160110320 +0200
@@ -4417,6 +4417,9 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
//
// Thus, in the omni.jar case, we always load app-specific default
// preferences from omni.jar, whether or not `$app == $gre`.
+ //
+ // At very end load configuration from system config location:
+ // - /etc/firefox/pref/*.js
nsresult rv = NS_ERROR_FAILURE;
nsZipFind* findPtr;
diff -up firefox-67.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-67.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-67.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2019-05-14 01:08:35.000000000 +0200
+++ firefox-67.0/toolkit/xre/nsXREDirProvider.cpp 2019-05-15 15:10:23.861653269 +0200
@@ -60,6 +60,7 @@
#endif
#ifdef XP_UNIX
# include <ctype.h>
+# include "nsIXULAppInfo.h"
#endif
#ifdef XP_IOS
# include "UIKitDirProvider.h"
@@ -524,6 +525,21 @@ nsXREDirProvider::GetFile(const char* aP
}
}
}
+
+#if defined(XP_UNIX)
+ if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
+ nsCString sysConfigDir = NS_LITERAL_CSTRING("/etc/");
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
+ if (!appInfo)
+ return NS_ERROR_NOT_AVAILABLE;
+ nsCString appName;
+ appInfo->GetName(appName);
+ ToLowerCase(appName);
+ sysConfigDir.Append(appName);
+ return NS_NewNativeLocalFile(sysConfigDir, false, aFile);
+ }
+#endif
+
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
if (ensureFilePermissions) {
@@ -880,6 +896,16 @@ nsresult nsXREDirProvider::GetFilesInter
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
LoadDirsIntoArray(mAppBundleDirectories, kAppendPrefDir, directories);
+ // Add /etc/<application>/pref/ directory if it exists
+ nsCOMPtr<nsIFile> systemPrefDir;
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(systemPrefDir));
+ if (NS_SUCCEEDED(rv)) {
+ rv = systemPrefDir->AppendNative(NS_LITERAL_CSTRING("pref"));
+ if (NS_SUCCEEDED(rv))
+ directories.AppendObject(systemPrefDir);
+ }
+
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
} else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
// NS_APP_CHROME_DIR_LIST is only used to get default (native) icons
diff -up firefox-67.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-67.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-67.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2019-05-14 01:08:28.000000000 +0200
+++ firefox-67.0/xpcom/io/nsAppDirectoryServiceDefs.h 2019-05-15 15:10:24.044652216 +0200
@@ -62,6 +62,7 @@
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
#define NS_APP_PREFS_OVERRIDE_DIR \
"PrefDOverride" // Directory for per-profile defaults
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"

View file

@ -1,13 +1,12 @@
diff -up firefox-65.0/widget/gtk/nsWindow.cpp.1196777 firefox-65.0/widget/gtk/nsWindow.cpp
--- firefox-65.0/widget/gtk/nsWindow.cpp.1196777 2019-01-28 14:37:27.470163867 +0100
+++ firefox-65.0/widget/gtk/nsWindow.cpp 2019-01-28 14:41:52.479064393 +0100
@@ -156,7 +156,8 @@ const gint kEvents =
#if GTK_CHECK_VERSION(3, 4, 0)
GDK_SMOOTH_SCROLL_MASK | GDK_TOUCH_MASK |
#endif
- GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK;
+ GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK |
+ GDK_FOCUS_CHANGE_MASK;
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;
/* utility functions */
static bool is_mouse_in_window(GdkWindow *aWindow, gdouble aMouseX,
static bool is_mouse_in_window(GdkWindow* aWindow, gdouble aMouseX,

View file

@ -1,496 +0,0 @@
diff -up firefox-56.0/dom/plugins/base/nsJSNPRuntime.cpp.1337988 firefox-56.0/dom/plugins/base/nsJSNPRuntime.cpp
--- firefox-56.0/dom/plugins/base/nsJSNPRuntime.cpp.1337988 2017-09-14 22:15:56.000000000 +0200
+++ firefox-56.0/dom/plugins/base/nsJSNPRuntime.cpp 2017-09-25 10:34:11.205611698 +0200
@@ -1719,7 +1719,7 @@ NPObjWrapper_ObjectMoved(JSObject *obj,
auto entry =
static_cast<NPObjWrapperHashEntry*>(sNPObjWrappers->Search(npobj));
MOZ_ASSERT(entry && entry->mJSObj);
- MOZ_ASSERT(entry->mJSObj == old);
+ MOZ_ASSERT(entry->mJSObj.unbarrieredGetPtr() == old);
entry->mJSObj = obj;
}
diff -up firefox-56.0/js/ipc/JavaScriptShared.cpp.1337988 firefox-56.0/js/ipc/JavaScriptShared.cpp
--- firefox-56.0/js/ipc/JavaScriptShared.cpp.1337988 2017-07-31 18:20:47.000000000 +0200
+++ firefox-56.0/js/ipc/JavaScriptShared.cpp 2017-09-25 10:34:11.205611698 +0200
@@ -101,7 +101,7 @@ IdToObjectMap::has(const ObjectId& id, c
auto p = table_.lookup(id);
if (!p)
return false;
- return p->value() == obj;
+ return p->value().unbarrieredGet() == obj;
}
#endif
diff -up firefox-56.0/js/public/RootingAPI.h.1337988 firefox-56.0/js/public/RootingAPI.h
--- firefox-56.0/js/public/RootingAPI.h.1337988 2017-07-31 18:20:47.000000000 +0200
+++ firefox-56.0/js/public/RootingAPI.h 2017-09-25 10:34:11.206611695 +0200
@@ -148,6 +148,10 @@ template<typename T>
struct PersistentRootedMarker;
} /* namespace gc */
+#define DECLARE_POINTER_COMPARISON_OPS(T) \
+ bool operator==(const T& other) const { return get() == other; } \
+ bool operator!=(const T& other) const { return get() != other; }
+
// Important: Return a reference so passing a Rooted<T>, etc. to
// something that takes a |const T&| is not a GC hazard.
#define DECLARE_POINTER_CONSTREF_OPS(T) \
@@ -237,8 +241,6 @@ class Heap : public js::HeapBase<T, Heap
static_assert(js::IsHeapConstructibleType<T>::value,
"Type T must be a public GC pointer type");
public:
- using ElementType = T;
-
Heap() {
static_assert(sizeof(T) == sizeof(Heap<T>),
"Heap<T> must be binary compatible with T.");
@@ -385,8 +387,6 @@ template <typename T>
class TenuredHeap : public js::HeapBase<T, TenuredHeap<T>>
{
public:
- using ElementType = T;
-
TenuredHeap() : bits(0) {
static_assert(sizeof(T) == sizeof(TenuredHeap<T>),
"TenuredHeap<T> must be binary compatible with T.");
@@ -394,6 +394,9 @@ class TenuredHeap : public js::HeapBase<
explicit TenuredHeap(T p) : bits(0) { setPtr(p); }
explicit TenuredHeap(const TenuredHeap<T>& p) : bits(0) { setPtr(p.getPtr()); }
+ bool operator==(const TenuredHeap<T>& other) { return bits == other.bits; }
+ bool operator!=(const TenuredHeap<T>& other) { return bits != other.bits; }
+
void setPtr(T newPtr) {
MOZ_ASSERT((reinterpret_cast<uintptr_t>(newPtr) & flagsMask) == 0);
if (newPtr)
@@ -470,8 +473,6 @@ class MOZ_NONHEAP_CLASS Handle : public
friend class JS::MutableHandle<T>;
public:
- using ElementType = T;
-
/* Creates a handle from a handle of a type convertible to T. */
template <typename S>
MOZ_IMPLICIT Handle(Handle<S> handle,
@@ -533,6 +534,7 @@ class MOZ_NONHEAP_CLASS Handle : public
MOZ_IMPLICIT Handle(MutableHandle<S>& root,
typename mozilla::EnableIf<mozilla::IsConvertible<S, T>::value, int>::Type dummy = 0);
+ DECLARE_POINTER_COMPARISON_OPS(T);
DECLARE_POINTER_CONSTREF_OPS(T);
DECLARE_NONPOINTER_ACCESSOR_METHODS(*ptr);
@@ -559,8 +561,6 @@ template <typename T>
class MOZ_STACK_CLASS MutableHandle : public js::MutableHandleBase<T, MutableHandle<T>>
{
public:
- using ElementType = T;
-
inline MOZ_IMPLICIT MutableHandle(Rooted<T>* root);
inline MOZ_IMPLICIT MutableHandle(PersistentRooted<T>* root);
@@ -589,6 +589,7 @@ class MOZ_STACK_CLASS MutableHandle : pu
return h;
}
+ DECLARE_POINTER_COMPARISON_OPS(T);
DECLARE_POINTER_CONSTREF_OPS(T);
DECLARE_NONPOINTER_ACCESSOR_METHODS(*ptr);
DECLARE_NONPOINTER_MUTABLE_ACCESSOR_METHODS(*ptr);
@@ -805,8 +806,6 @@ class MOZ_RAII Rooted : public js::Roote
}
public:
- using ElementType = T;
-
template <typename RootingContext>
explicit Rooted(const RootingContext& cx)
: ptr(GCPolicy<T>::initial())
@@ -839,6 +838,7 @@ class MOZ_RAII Rooted : public js::Roote
ptr = mozilla::Move(value);
}
+ DECLARE_POINTER_COMPARISON_OPS(T);
DECLARE_POINTER_CONSTREF_OPS(T);
DECLARE_POINTER_ASSIGN_OPS(Rooted, T);
DECLARE_NONPOINTER_ACCESSOR_METHODS(ptr);
@@ -903,14 +903,13 @@ template <typename T>
class MOZ_RAII FakeRooted : public RootedBase<T, FakeRooted<T>>
{
public:
- using ElementType = T;
-
template <typename CX>
explicit FakeRooted(CX* cx) : ptr(JS::GCPolicy<T>::initial()) {}
template <typename CX>
FakeRooted(CX* cx, T initial) : ptr(initial) {}
+ DECLARE_POINTER_COMPARISON_OPS(T);
DECLARE_POINTER_CONSTREF_OPS(T);
DECLARE_POINTER_ASSIGN_OPS(FakeRooted, T);
DECLARE_NONPOINTER_ACCESSOR_METHODS(ptr);
@@ -931,8 +930,6 @@ template <typename T>
class FakeMutableHandle : public js::MutableHandleBase<T, FakeMutableHandle<T>>
{
public:
- using ElementType = T;
-
MOZ_IMPLICIT FakeMutableHandle(T* t) {
ptr = t;
}
@@ -1124,8 +1121,6 @@ class PersistentRooted : public js::Root
}
public:
- using ElementType = T;
-
PersistentRooted() : ptr(GCPolicy<T>::initial()) {}
explicit PersistentRooted(RootingContext* cx)
@@ -1203,6 +1198,7 @@ class PersistentRooted : public js::Root
}
}
+ DECLARE_POINTER_COMPARISON_OPS(T);
DECLARE_POINTER_CONSTREF_OPS(T);
DECLARE_POINTER_ASSIGN_OPS(PersistentRooted, T);
DECLARE_NONPOINTER_ACCESSOR_METHODS(ptr);
@@ -1234,8 +1230,6 @@ class JS_PUBLIC_API(ObjectPtr)
Heap<JSObject*> value;
public:
- using ElementType = JSObject*;
-
ObjectPtr() : value(nullptr) {}
explicit ObjectPtr(JSObject* obj) : value(obj) {}
@@ -1342,177 +1336,6 @@ Swap(JS::TenuredHeap<T>& aX, JS::Tenured
} /* namespace mozilla */
-namespace js {
-namespace detail {
-
-// DefineComparisonOps is a trait which selects which wrapper classes to define
-// operator== and operator!= for. It supplies a getter function to extract the
-// value to compare. This is used to avoid triggering the automatic read
-// barriers where appropriate.
-//
-// If DefineComparisonOps is not specialized for a particular wrapper you may
-// get errors such as 'invalid operands to binary expression' or 'no match for
-// operator==' when trying to compare against instances of the wrapper.
-
-template <typename T>
-struct DefineComparisonOps : mozilla::FalseType {};
-
-template <typename T>
-struct DefineComparisonOps<JS::Heap<T>> : mozilla::TrueType {
- static const T& get(const JS::Heap<T>& v) { return v.unbarrieredGet(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<JS::TenuredHeap<T>> : mozilla::TrueType {
- static const T get(const JS::TenuredHeap<T>& v) { return v.unbarrieredGetPtr(); }
-};
-
-template <>
-struct DefineComparisonOps<JS::ObjectPtr> : mozilla::TrueType {
- static const JSObject* get(const JS::ObjectPtr& v) { return v.unbarrieredGet(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<JS::Rooted<T>> : mozilla::TrueType {
- static const T& get(const JS::Rooted<T>& v) { return v.get(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<JS::Handle<T>> : mozilla::TrueType {
- static const T& get(const JS::Handle<T>& v) { return v.get(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<JS::MutableHandle<T>> : mozilla::TrueType {
- static const T& get(const JS::MutableHandle<T>& v) { return v.get(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<JS::PersistentRooted<T>> : mozilla::TrueType {
- static const T& get(const JS::PersistentRooted<T>& v) { return v.get(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<js::FakeRooted<T>> : mozilla::TrueType {
- static const T& get(const js::FakeRooted<T>& v) { return v.get(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<js::FakeMutableHandle<T>> : mozilla::TrueType {
- static const T& get(const js::FakeMutableHandle<T>& v) { return v.get(); }
-};
-
-} /* namespace detail */
-} /* namespace js */
-
-// Overload operator== and operator!= for all types with the DefineComparisonOps
-// trait using the supplied getter.
-//
-// There are four cases:
-
-// Case 1: comparison between two wrapper objects.
-
-template <typename T, typename U>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- js::detail::DefineComparisonOps<U>::value, bool>::Type
-operator==(const T& a, const U& b) {
- return js::detail::DefineComparisonOps<T>::get(a) == js::detail::DefineComparisonOps<U>::get(b);
-}
-
-template <typename T, typename U>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- js::detail::DefineComparisonOps<U>::value, bool>::Type
-operator!=(const T& a, const U& b) {
- return !(a == b);
-}
-
-// Case 2: comparison between a wrapper object and its unwrapped element type.
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value, bool>::Type
-operator==(const T& a, const typename T::ElementType& b) {
- return js::detail::DefineComparisonOps<T>::get(a) == b;
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value, bool>::Type
-operator!=(const T& a, const typename T::ElementType& b) {
- return !(a == b);
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value, bool>::Type
-operator==(const typename T::ElementType& a, const T& b) {
- return a == js::detail::DefineComparisonOps<T>::get(b);
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value, bool>::Type
-operator!=(const typename T::ElementType& a, const T& b) {
- return !(a == b);
-}
-
-// Case 3: For pointer wrappers, comparison between the wrapper and a const
-// element pointer.
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- mozilla::IsPointer<typename T::ElementType>::value, bool>::Type
-operator==(const typename mozilla::RemovePointer<typename T::ElementType>::Type* a, const T& b) {
- return a == js::detail::DefineComparisonOps<T>::get(b);
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- mozilla::IsPointer<typename T::ElementType>::value, bool>::Type
-operator!=(const typename mozilla::RemovePointer<typename T::ElementType>::Type* a, const T& b) {
- return !(a == b);
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- mozilla::IsPointer<typename T::ElementType>::value, bool>::Type
-operator==(const T& a, const typename mozilla::RemovePointer<typename T::ElementType>::Type* b) {
- return js::detail::DefineComparisonOps<T>::get(a) == b;
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- mozilla::IsPointer<typename T::ElementType>::value, bool>::Type
-operator!=(const T& a, const typename mozilla::RemovePointer<typename T::ElementType>::Type* b) {
- return !(a == b);
-}
-
-// Case 4: For pointer wrappers, comparison between the wrapper and nullptr.
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- mozilla::IsPointer<typename T::ElementType>::value, bool>::Type
-operator==(std::nullptr_t a, const T& b) {
- return a == js::detail::DefineComparisonOps<T>::get(b);
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- mozilla::IsPointer<typename T::ElementType>::value, bool>::Type
-operator!=(std::nullptr_t a, const T& b) {
- return !(a == b);
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- mozilla::IsPointer<typename T::ElementType>::value, bool>::Type
-operator==(const T& a, std::nullptr_t b) {
- return js::detail::DefineComparisonOps<T>::get(a) == b;
-}
-
-template <typename T>
-typename mozilla::EnableIf<js::detail::DefineComparisonOps<T>::value &&
- mozilla::IsPointer<typename T::ElementType>::value, bool>::Type
-operator!=(const T& a, std::nullptr_t b) {
- return !(a == b);
-}
-
#undef DELETE_ASSIGNMENT_OPS
#endif /* js_RootingAPI_h */
diff -up firefox-56.0/js/src/gc/Barrier.h.1337988 firefox-56.0/js/src/gc/Barrier.h
--- firefox-56.0/js/src/gc/Barrier.h.1337988 2017-09-14 22:16:01.000000000 +0200
+++ firefox-56.0/js/src/gc/Barrier.h 2017-09-25 10:34:11.206611695 +0200
@@ -353,8 +353,8 @@ class WriteBarrieredBase : public Barrie
explicit WriteBarrieredBase(const T& v) : BarrieredBase<T>(v) {}
public:
- using ElementType = T;
+ DECLARE_POINTER_COMPARISON_OPS(T);
DECLARE_POINTER_CONSTREF_OPS(T);
// Use this if the automatic coercion to T isn't working.
@@ -612,13 +612,14 @@ class ReadBarriered : public ReadBarrier
return *this;
}
- const T& get() const {
- if (InternalBarrierMethods<T>::isMarkable(this->value))
- this->read();
+ const T get() const {
+ if (!InternalBarrierMethods<T>::isMarkable(this->value))
+ return JS::GCPolicy<T>::initial();
+ this->read();
return this->value;
}
- const T& unbarrieredGet() const {
+ const T unbarrieredGet() const {
return this->value;
}
@@ -626,9 +627,9 @@ class ReadBarriered : public ReadBarrier
return bool(this->value);
}
- operator const T&() const { return get(); }
+ operator const T() const { return get(); }
- const T& operator->() const { return get(); }
+ const T operator->() const { return get(); }
T* unsafeGet() { return &this->value; }
T const* unsafeGet() const { return &this->value; }
@@ -955,35 +956,6 @@ typedef ReadBarriered<WasmTableObject*>
typedef ReadBarriered<Value> ReadBarrieredValue;
-namespace detail {
-
-template <typename T>
-struct DefineComparisonOps<PreBarriered<T>> : mozilla::TrueType {
- static const T& get(const PreBarriered<T>& v) { return v.get(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<GCPtr<T>> : mozilla::TrueType {
- static const T& get(const GCPtr<T>& v) { return v.get(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<HeapPtr<T>> : mozilla::TrueType {
- static const T& get(const HeapPtr<T>& v) { return v.get(); }
-};
-
-template <typename T>
-struct DefineComparisonOps<ReadBarriered<T>> : mozilla::TrueType {
- static const T& get(const ReadBarriered<T>& v) { return v.unbarrieredGet(); }
-};
-
-template <>
-struct DefineComparisonOps<HeapSlot> : mozilla::TrueType {
- static const Value& get(const HeapSlot& v) { return v.get(); }
-};
-
-} /* namespace detail */
-
} /* namespace js */
#endif /* gc_Barrier_h */
diff -up firefox-56.0/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 firefox-56.0/js/src/jsapi-tests/testGCHeapPostBarriers.cpp
--- firefox-56.0/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 2017-09-14 22:16:02.000000000 +0200
+++ firefox-56.0/js/src/jsapi-tests/testGCHeapPostBarriers.cpp 2017-09-25 10:34:11.206611695 +0200
@@ -5,7 +5,6 @@
* 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 "mozilla/TypeTraits.h"
#include "mozilla/UniquePtr.h"
#include "js/RootingAPI.h"
diff -up firefox-56.0/js/src/vm/SharedMem.h.1337988 firefox-56.0/js/src/vm/SharedMem.h
--- firefox-56.0/js/src/vm/SharedMem.h.1337988 2017-06-15 22:52:29.000000000 +0200
+++ firefox-56.0/js/src/vm/SharedMem.h 2017-09-25 10:34:11.206611695 +0200
@@ -12,8 +12,8 @@
template<typename T>
class SharedMem
{
- // static_assert(mozilla::IsPointer<T>::value,
- // "SharedMem encapsulates pointer types");
+ static_assert(mozilla::IsPointer<T>::value,
+ "SharedMem encapsulates pointer types");
enum Sharedness {
IsUnshared,
diff -up firefox-56.0/js/xpconnect/src/XPCInlines.h.1337988 firefox-56.0/js/xpconnect/src/XPCInlines.h
--- firefox-56.0/js/xpconnect/src/XPCInlines.h.1337988 2017-09-14 22:16:03.000000000 +0200
+++ firefox-56.0/js/xpconnect/src/XPCInlines.h 2017-09-25 10:34:11.206611695 +0200
@@ -465,7 +465,7 @@ inline
void XPCWrappedNativeTearOff::JSObjectMoved(JSObject* obj, const JSObject* old)
{
MOZ_ASSERT(!IsMarked());
- MOZ_ASSERT(mJSObject == old);
+ MOZ_ASSERT(mJSObject.unbarrieredGetPtr() == old);
mJSObject = obj;
}
diff -up firefox-56.0/js/xpconnect/src/XPCWrappedNative.cpp.1337988 firefox-56.0/js/xpconnect/src/XPCWrappedNative.cpp
--- firefox-56.0/js/xpconnect/src/XPCWrappedNative.cpp.1337988 2017-09-14 22:16:03.000000000 +0200
+++ firefox-56.0/js/xpconnect/src/XPCWrappedNative.cpp 2017-09-25 10:34:11.207611692 +0200
@@ -874,7 +874,7 @@ void
XPCWrappedNative::FlatJSObjectMoved(JSObject* obj, const JSObject* old)
{
JS::AutoAssertGCCallback inCallback;
- MOZ_ASSERT(mFlatJSObject == old);
+ MOZ_ASSERT(mFlatJSObject.unbarrieredGetPtr() == old);
nsWrapperCache* cache = nullptr;
CallQueryInterface(mIdentity, &cache);
diff -up firefox-56.0/js/xpconnect/src/XPCWrappedNativeProto.cpp.1337988 firefox-56.0/js/xpconnect/src/XPCWrappedNativeProto.cpp
--- firefox-56.0/js/xpconnect/src/XPCWrappedNativeProto.cpp.1337988 2017-07-31 18:20:47.000000000 +0200
+++ firefox-56.0/js/xpconnect/src/XPCWrappedNativeProto.cpp 2017-09-25 10:34:11.207611692 +0200
@@ -101,7 +101,7 @@ XPCWrappedNativeProto::CallPostCreatePro
void
XPCWrappedNativeProto::JSProtoObjectFinalized(js::FreeOp* fop, JSObject* obj)
{
- MOZ_ASSERT(obj == mJSProtoObject, "huh?");
+ MOZ_ASSERT(obj == mJSProtoObject.unbarrieredGet(), "huh?");
#ifdef DEBUG
// Check that this object has already been swept from the map.
@@ -117,7 +117,7 @@ XPCWrappedNativeProto::JSProtoObjectFina
void
XPCWrappedNativeProto::JSProtoObjectMoved(JSObject* obj, const JSObject* old)
{
- MOZ_ASSERT(mJSProtoObject == old);
+ MOZ_ASSERT(mJSProtoObject.unbarrieredGet() == old);
mJSProtoObject.init(obj); // Update without triggering barriers.
}

View file

@ -1,27 +0,0 @@
From 1cc652f5525f458b0b4ceb12af24bf5a4367db32 Mon Sep 17 00:00:00 2001
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Date: Tue, 23 May 2017 13:09:48 -0400
Subject: [PATCH] Bug 1353817: Include SkNx_neon.h for ARM64 too
This fixes build errors as arm_neon.h was missing along with some
missing converters.
---
gfx/skia/skia/src/core/SkNx.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gfx/skia/skia/src/core/SkNx.h b/gfx/skia/skia/src/core/SkNx.h
index 6bca856..b0427aa 100644
--- a/gfx/skia/skia/src/core/SkNx.h
+++ b/gfx/skia/skia/src/core/SkNx.h
@@ -299,7 +299,7 @@ typedef SkNx<4, uint32_t> Sk4u;
// Include platform specific specializations if available.
#if !defined(SKNX_NO_SIMD) && SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
#include "../opts/SkNx_sse.h"
-#elif !defined(SKNX_NO_SIMD) && defined(SK_ARM_HAS_NEON)
+#elif !defined(SKNX_NO_SIMD) && (defined(SK_ARM_HAS_NEON) || defined(SK_CPU_ARM64))
#include "../opts/SkNx_neon.h"
#else
--
2.9.4

View file

@ -1,203 +0,0 @@
diff -up firefox-67.0/widget/gtk/nsWindow.cpp.mozilla-1423598-popup firefox-67.0/widget/gtk/nsWindow.cpp
--- firefox-67.0/widget/gtk/nsWindow.cpp.mozilla-1423598-popup 2019-05-15 15:21:25.590222702 +0200
+++ firefox-67.0/widget/gtk/nsWindow.cpp 2019-05-15 15:24:26.925439991 +0200
@@ -1115,13 +1115,89 @@ void nsWindow::Move(double aX, double aY
NotifyRollupGeometryChange();
}
+#ifdef DEBUG
+static void NativeMoveResizeWaylandPopupCallback(GdkWindow *window,
+ const GdkRectangle *flipped_rect, const GdkRectangle *final_rect,
+ gboolean flipped_x, gboolean flipped_y, void *unused)
+{
+ LOG(("NativeMoveResizeWaylandPopupCallback flipped %d %d\n",
+ flipped_rect->x, flipped_rect->y));
+ LOG(("NativeMoveResizeWaylandPopupCallback final %d %d\n",
+ final_rect->x, final_rect->y));
+}
+#endif
+
+void nsWindow::NativeMoveResizeWaylandPopup(GdkPoint* aPosition, GdkRectangle* aSize) {
+ // Available as of GTK 3.24+
+ static auto sGdkWindowMoveToRect =
+ (void (*)(GdkWindow *, const GdkRectangle *, GdkGravity, GdkGravity,
+ GdkAnchorHints, gint, gint))
+ dlsym(RTLD_DEFAULT, "gdk_window_move_to_rect");
+
+ if (aSize) {
+ gtk_window_resize(GTK_WINDOW(mShell), aSize->width, aSize->height);
+ }
+ if (!sGdkWindowMoveToRect) {
+ gtk_window_move(GTK_WINDOW(mShell), aPosition->x, aPosition->y);
+ return;
+ }
+
+ GdkWindow *gdkWindow = gtk_widget_get_window(GTK_WIDGET(mShell));
+ if (!gdkWindow) {
+ return;
+ }
+
+ GtkWidget* parentWidget =
+ GTK_WIDGET(gtk_window_get_transient_for(GTK_WINDOW(mShell)));
+
+ int x_parent, y_parent;
+ gdk_window_get_origin(gtk_widget_get_window(parentWidget), &x_parent, &y_parent);
+
+ GdkRectangle rect = { aPosition->x - x_parent,
+ aPosition->y - y_parent,
+ 1, 1};
+ if (aSize) {
+ rect.width = aSize->width;
+ rect.height = aSize->height;
+ }
+
+#ifdef DEBUG
+ LOG(("NativeMoveResizeWaylandPopup request position %d,%d\n",
+ aPosition->x, aPosition->y));
+ if (aSize) {
+ LOG(("NativeMoveResizeWaylandPopup request size %d,%d\n",
+ aSize->width, aSize->height));
+ }
+ LOG(("NativeMoveResizeWaylandPopup result %d %d\n", rect.x, rect.y));
+ g_signal_connect(gdkWindow, "moved-to-rect",
+ G_CALLBACK(NativeMoveResizeWaylandPopupCallback), this);
+#endif
+
+ GdkGravity rectAnchor = GDK_GRAVITY_NORTH_WEST;
+ GdkGravity menuAnchor = GDK_GRAVITY_NORTH_WEST;
+ if (GetTextDirection() == GTK_TEXT_DIR_RTL) {
+ rectAnchor = GDK_GRAVITY_NORTH_EAST;
+ menuAnchor = GDK_GRAVITY_NORTH_EAST;
+ }
+
+ GdkAnchorHints hints = GdkAnchorHints(GDK_ANCHOR_SLIDE | GDK_ANCHOR_FLIP);
+ if (aSize) {
+ hints = GdkAnchorHints(hints|GDK_ANCHOR_RESIZE);
+ }
+
+ sGdkWindowMoveToRect(gdkWindow, &rect, rectAnchor, menuAnchor, hints, 0, 0);
+}
+
void nsWindow::NativeMove() {
GdkPoint point = DevicePixelsToGdkPointRoundDown(mBounds.TopLeft());
-
- if (mIsTopLevel) {
- gtk_window_move(GTK_WINDOW(mShell), point.x, point.y);
- } else if (mGdkWindow) {
- gdk_window_move(mGdkWindow, point.x, point.y);
+ if (!mIsX11Display && mIsTopLevel && mWindowType == eWindowType_popup) {
+ NativeMoveResizeWaylandPopup(&point, nullptr);
+ } else {
+ if (mIsTopLevel) {
+ gtk_window_move(GTK_WINDOW(mShell), point.x, point.y);
+ } else if (mGdkWindow) {
+ gdk_window_move(mGdkWindow, point.x, point.y);
+ }
}
}
@@ -3412,11 +3488,6 @@ nsresult nsWindow::Create(nsIWidget *aPa
GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_window_set_transient_for(GTK_WINDOW(mShell), topLevelParent);
} else if (mWindowType == eWindowType_popup) {
- // With popup windows, we want to control their position, so don't
- // wait for the window manager to place them (which wouldn't
- // happen with override-redirect windows anyway).
- NativeMove();
-
gtk_window_set_wmclass(GTK_WINDOW(mShell), "Popup",
gdk_get_program_class());
@@ -3475,6 +3546,14 @@ nsresult nsWindow::Create(nsIWidget *aPa
if (topLevelParent) {
gtk_window_set_transient_for(GTK_WINDOW(mShell), topLevelParent);
}
+
+ // We need realized mShell at NativeMove().
+ gtk_widget_realize(mShell);
+
+ // With popup windows, we want to control their position, so don't
+ // wait for the window manager to place them (which wouldn't
+ // happen with override-redirect windows anyway).
+ NativeMove();
} else { // must be eWindowType_toplevel
SetDefaultIcon();
gtk_window_set_wmclass(GTK_WINDOW(mShell), "Toplevel",
@@ -3918,23 +3997,27 @@ void nsWindow::NativeMoveResize() {
LOG(("nsWindow::NativeMoveResize [%p] %d %d %d %d\n", (void *)this, topLeft.x,
topLeft.y, size.width, size.height));
- if (mIsTopLevel) {
- // x and y give the position of the window manager frame top-left.
- gtk_window_move(GTK_WINDOW(mShell), topLeft.x, topLeft.y);
- // This sets the client window size.
- MOZ_ASSERT(size.width > 0 && size.height > 0,
- "Can't resize window smaller than 1x1.");
- gtk_window_resize(GTK_WINDOW(mShell), size.width, size.height);
- } else if (mContainer) {
- GtkAllocation allocation;
- allocation.x = topLeft.x;
- allocation.y = topLeft.y;
- allocation.width = size.width;
- allocation.height = size.height;
- gtk_widget_size_allocate(GTK_WIDGET(mContainer), &allocation);
- } else if (mGdkWindow) {
- gdk_window_move_resize(mGdkWindow, topLeft.x, topLeft.y, size.width,
- size.height);
+ if (!mIsX11Display && mIsTopLevel && mWindowType == eWindowType_popup) {
+ NativeMoveResizeWaylandPopup(&topLeft, &size);
+ } else {
+ if (mIsTopLevel) {
+ // x and y give the position of the window manager frame top-left.
+ gtk_window_move(GTK_WINDOW(mShell), topLeft.x, topLeft.y);
+ // This sets the client window size.
+ MOZ_ASSERT(size.width > 0 && size.height > 0,
+ "Can't resize window smaller than 1x1.");
+ gtk_window_resize(GTK_WINDOW(mShell), size.width, size.height);
+ } else if (mContainer) {
+ GtkAllocation allocation;
+ allocation.x = topLeft.x;
+ allocation.y = topLeft.y;
+ allocation.width = size.width;
+ allocation.height = size.height;
+ gtk_widget_size_allocate(GTK_WIDGET(mContainer), &allocation);
+ } else if (mGdkWindow) {
+ gdk_window_move_resize(mGdkWindow, topLeft.x, topLeft.y, size.width,
+ size.height);
+ }
}
#ifdef MOZ_X11
@@ -6818,3 +6901,18 @@ void nsWindow::ForceTitlebarRedraw(void)
RestyleHint{0}, nsChangeHint_RepaintFrame);
}
}
+
+GtkTextDirection nsWindow::GetTextDirection() {
+ nsView *view = nsView::GetViewFor(this);
+ if (!view) {
+ return GTK_TEXT_DIR_LTR;
+ }
+ nsIFrame *frame = view->GetFrame();
+ if (!frame) {
+ return GTK_TEXT_DIR_LTR;
+ }
+
+ WritingMode wm = frame->GetWritingMode();
+ bool isFrameRTL = !(wm.IsVertical() ? wm.IsVerticalLR() : wm.IsBidiLTR());
+ return isFrameRTL ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR;
+}
diff -up firefox-67.0/widget/gtk/nsWindow.h.mozilla-1423598-popup firefox-67.0/widget/gtk/nsWindow.h
--- firefox-67.0/widget/gtk/nsWindow.h.mozilla-1423598-popup 2019-05-14 01:08:37.000000000 +0200
+++ firefox-67.0/widget/gtk/nsWindow.h 2019-05-15 15:21:25.890221541 +0200
@@ -460,6 +460,10 @@ class nsWindow final : public nsBaseWidg
nsWindow* GetTransientForWindowIfPopup();
bool IsHandlingTouchSequence(GdkEventSequence* aSequence);
+ void NativeMoveResizeWaylandPopup(GdkPoint* aPosition, GdkRectangle* aSize);
+
+ GtkTextDirection GetTextDirection();
+
#ifdef MOZ_X11
typedef enum {GTK_WIDGET_COMPOSIDED_DEFAULT = 0,
GTK_WIDGET_COMPOSIDED_DISABLED = 1,

View file

@ -1,256 +0,0 @@
diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
--- a/gfx/thebes/gfxPlatform.cpp
+++ b/gfx/thebes/gfxPlatform.cpp
@@ -70,6 +70,10 @@
# include "mozilla/gfx/DeviceManagerDx.h"
#endif
+#ifdef MOZ_WAYLAND
+# include "mozilla/widget/nsWaylandDisplayShutdown.h"
+#endif
+
#include "nsGkAtoms.h"
#include "gfxPlatformFontList.h"
#include "gfxContext.h"
@@ -1276,6 +1280,9 @@
layers::PaintThread::Shutdown();
}
} else if (XRE_IsParentProcess()) {
+#ifdef MOZ_WAYLAND
+ widget::WaylandDisplayShutdown();
+#endif
gfx::VRManagerChild::ShutDown();
layers::CompositorManagerChild::Shutdown();
layers::ImageBridgeChild::ShutDown();
diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp
--- a/widget/gtk/WindowSurfaceWayland.cpp
+++ b/widget/gtk/WindowSurfaceWayland.cpp
@@ -144,6 +144,8 @@
(wl_buffer/wl_surface).
*/
+#define EVENT_LOOP_DELAY (1000 / 240)
+
#define BUFFER_BPP 4
gfx::SurfaceFormat WindowBackBuffer::mFormat = gfx::SurfaceFormat::B8G8R8A8;
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -101,6 +101,9 @@
'nsWaylandDisplay.cpp',
'WindowSurfaceWayland.cpp',
]
+ EXPORTS.mozilla.widget += [
+ 'nsWaylandDisplayShutdown.h'
+ ]
if CONFIG['ACCESSIBILITY']:
UNIFIED_SOURCES += [
diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
--- a/widget/gtk/nsAppShell.cpp
+++ b/widget/gtk/nsAppShell.cpp
@@ -27,6 +27,9 @@
#include "ScreenHelperGTK.h"
#include "HeadlessScreenHelper.h"
#include "mozilla/widget/ScreenManager.h"
+#ifdef MOZ_WAYLAND
+# include "nsWaylandDisplay.h"
+#endif
using mozilla::LazyLogModule;
using mozilla::Unused;
@@ -267,5 +270,9 @@
}
bool nsAppShell::ProcessNextNativeEvent(bool mayWait) {
- return g_main_context_iteration(nullptr, mayWait);
+ bool ret = g_main_context_iteration(nullptr, mayWait);
+#ifdef MOZ_WAYLAND
+ WaylandDispatchDisplays();
+#endif
+ return ret;
}
diff --git a/widget/gtk/nsWaylandDisplay.h b/widget/gtk/nsWaylandDisplay.h
--- a/widget/gtk/nsWaylandDisplay.h
+++ b/widget/gtk/nsWaylandDisplay.h
@@ -14,10 +14,6 @@
namespace mozilla {
namespace widget {
-// TODO: Bug 1467125 - We need to integrate wl_display_dispatch_queue_pending()
-// with compositor event loop.
-#define EVENT_LOOP_DELAY (1000 / 240)
-
// Our general connection to Wayland display server,
// holds our display connection and runs event loop.
class nsWaylandDisplay {
@@ -25,9 +21,10 @@
explicit nsWaylandDisplay(wl_display* aDisplay);
virtual ~nsWaylandDisplay();
- bool DisplayLoop();
+ bool DispatchEventQueue();
bool Matches(wl_display* aDisplay);
+ MessageLoop* GetDispatcherThreadLoop() { return mDispatcherThreadLoop; }
wl_display* GetDisplay() { return mDisplay; };
wl_event_queue* GetEventQueue() { return mEventQueue; };
wl_subcompositor* GetSubcompositor(void) { return mSubcompositor; };
@@ -47,7 +44,10 @@
void SetPrimarySelectionDeviceManager(
gtk_primary_selection_device_manager* aPrimarySelectionDeviceManager);
+ void Shutdown();
+
private:
+ MessageLoop* mDispatcherThreadLoop;
PRThread* mThreadId;
wl_display* mDisplay;
wl_event_queue* mEventQueue;
@@ -59,6 +59,7 @@
wl_registry* mRegistry;
};
+void WaylandDispatchDisplays();
nsWaylandDisplay* WaylandDisplayGet(GdkDisplay* aGdkDisplay = nullptr);
} // namespace widget
diff --git a/widget/gtk/nsWaylandDisplay.cpp b/widget/gtk/nsWaylandDisplay.cpp
--- a/widget/gtk/nsWaylandDisplay.cpp
+++ b/widget/gtk/nsWaylandDisplay.cpp
@@ -21,6 +21,15 @@
static nsWaylandDisplay *gWaylandDisplays[MAX_DISPLAY_CONNECTIONS];
static StaticMutex gWaylandDisplaysMutex;
+void WaylandDisplayShutdown() {
+ StaticMutexAutoLock lock(gWaylandDisplaysMutex);
+ for (auto &display : gWaylandDisplays) {
+ if (display) {
+ display->Shutdown();
+ }
+ }
+}
+
static void ReleaseDisplaysAtExit() {
for (int i = 0; i < MAX_DISPLAY_CONNECTIONS; i++) {
delete gWaylandDisplays[i];
@@ -28,6 +37,10 @@
}
}
+static void DispatchDisplay(nsWaylandDisplay *aDisplay) {
+ aDisplay->DispatchEventQueue();
+}
+
// Each thread which is using wayland connection (wl_display) has to operate
// its own wl_event_queue. Main Firefox thread wl_event_queue is handled
// by Gtk main loop, other threads/wl_event_queue has to be handled by us.
@@ -35,7 +48,15 @@
// nsWaylandDisplay is our interface to wayland compositor. It provides wayland
// global objects as we need (wl_display, wl_shm) and operates wl_event_queue on
// compositor (not the main) thread.
-static void WaylandDisplayLoop(wl_display *aDisplay);
+void WaylandDispatchDisplays() {
+ StaticMutexAutoLock lock(gWaylandDisplaysMutex);
+ for (auto &display : gWaylandDisplays) {
+ if (display && display->GetDispatcherThreadLoop()) {
+ display->GetDispatcherThreadLoop()->PostTask(NewRunnableFunction(
+ "WaylandDisplayDispatch", &DispatchDisplay, display));
+ }
+ }
+}
// Get WaylandDisplay for given wl_display and actual calling thread.
static nsWaylandDisplay *WaylandDisplayGetLocked(GdkDisplay *aGdkDisplay,
@@ -73,27 +94,6 @@
return WaylandDisplayGetLocked(aGdkDisplay, lock);
}
-static void WaylandDisplayLoopLocked(wl_display *aDisplay,
- const StaticMutexAutoLock &) {
- for (auto &display : gWaylandDisplays) {
- if (display && display->Matches(aDisplay)) {
- if (display->DisplayLoop()) {
- MessageLoop::current()->PostDelayedTask(
- NewRunnableFunction("WaylandDisplayLoop", &WaylandDisplayLoop,
- aDisplay),
- EVENT_LOOP_DELAY);
- }
- break;
- }
- }
-}
-
-static void WaylandDisplayLoop(wl_display *aDisplay) {
- MOZ_ASSERT(!NS_IsMainThread());
- StaticMutexAutoLock lock(gWaylandDisplaysMutex);
- WaylandDisplayLoopLocked(aDisplay, lock);
-}
-
void nsWaylandDisplay::SetShm(wl_shm *aShm) { mShm = aShm; }
void nsWaylandDisplay::SetSubcompositor(wl_subcompositor *aSubcompositor) {
@@ -158,7 +158,7 @@
static const struct wl_registry_listener registry_listener = {
global_registry_handler, global_registry_remover};
-bool nsWaylandDisplay::DisplayLoop() {
+bool nsWaylandDisplay::DispatchEventQueue() {
wl_display_dispatch_queue_pending(mDisplay, mEventQueue);
return true;
}
@@ -168,7 +168,8 @@
}
nsWaylandDisplay::nsWaylandDisplay(wl_display *aDisplay)
- : mThreadId(PR_GetCurrentThread()),
+ : mDispatcherThreadLoop(nullptr),
+ mThreadId(PR_GetCurrentThread()),
mDisplay(aDisplay),
mEventQueue(nullptr),
mDataDeviceManager(nullptr),
@@ -186,15 +187,16 @@
wl_display_roundtrip(mDisplay);
wl_display_roundtrip(mDisplay);
} else {
+ mDispatcherThreadLoop = MessageLoop::current();
mEventQueue = wl_display_create_queue(mDisplay);
- MessageLoop::current()->PostTask(NewRunnableFunction(
- "WaylandDisplayLoop", &WaylandDisplayLoop, mDisplay));
wl_proxy_set_queue((struct wl_proxy *)mRegistry, mEventQueue);
wl_display_roundtrip_queue(mDisplay, mEventQueue);
wl_display_roundtrip_queue(mDisplay, mEventQueue);
}
}
+void nsWaylandDisplay::Shutdown() { mDispatcherThreadLoop = nullptr; }
+
nsWaylandDisplay::~nsWaylandDisplay() {
// Owned by Gtk+, we don't need to release
mDisplay = nullptr;
diff --git a/widget/gtk/nsWaylandDisplayShutdown.h b/widget/gtk/nsWaylandDisplayShutdown.h
new file mode 100644
--- /dev/null
+++ b/widget/gtk/nsWaylandDisplayShutdown.h
@@ -0,0 +1,19 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
+ */
+/* 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 __MOZ_WAYLAND_DISPLAY_SHUTDOWN_H__
+#define __MOZ_WAYLAND_DISPLAY_SHUTDOWN_H__
+
+namespace mozilla {
+namespace widget {
+
+void WaylandDisplayShutdown();
+
+} // namespace widget
+} // namespace mozilla
+
+#endif // __MOZ_WAYLAND_DISPLAY_SHUTDOWN_H__

View file

@ -1,276 +0,0 @@
changeset: 465236:be9a6c98a4a7
tag: tip
user: Martin Stransky <stransky@redhat.com>
date: Mon Mar 18 10:42:48 2019 +0100
summary: tearing
diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
--- a/widget/gtk/nsAppShell.cpp
+++ b/widget/gtk/nsAppShell.cpp
@@ -35,16 +35,17 @@ using mozilla::widget::ScreenHelperGTK;
using mozilla::widget::ScreenManager;
#define NOTIFY_TOKEN 0xFA
LazyLogModule gWidgetLog("Widget");
LazyLogModule gWidgetFocusLog("WidgetFocus");
LazyLogModule gWidgetDragLog("WidgetDrag");
LazyLogModule gWidgetDrawLog("WidgetDraw");
+LazyLogModule gWidgetWaylandLog("WidgetWayland");
static GPollFunc sPollFunc;
// Wrapper function to disable hang monitoring while waiting in poll().
static gint PollWrapper(GPollFD* ufds, guint nfsd, gint timeout_) {
mozilla::BackgroundHangMonitor().NotifyWait();
gint result;
{
diff -up firefox-66.0/widget/gtk/WindowSurfaceWayland.cpp.old firefox-66.0/widget/gtk/WindowSurfaceWayland.cpp
--- firefox-66.0/widget/gtk/WindowSurfaceWayland.cpp.old 2019-03-20 15:48:52.265966904 +0100
+++ firefox-66.0/widget/gtk/WindowSurfaceWayland.cpp 2019-03-20 14:48:21.082035284 +0100
@@ -20,6 +20,18 @@
#include <fcntl.h>
#include <errno.h>
+#undef LOG
+#ifdef MOZ_LOGGING
+# include "mozilla/Logging.h"
+# include "nsTArray.h"
+# include "Units.h"
+extern mozilla::LazyLogModule gWidgetWaylandLog;
+# define LOGWAYLAND(args) \
+ MOZ_LOG(gWidgetWaylandLog, mozilla::LogLevel::Debug, args)
+#else
+# define LOGWAYLAND(args)
+#endif /* MOZ_LOGGING */
+
namespace mozilla {
namespace widget {
@@ -241,7 +253,7 @@ WaylandShmPool::~WaylandShmPool() {
static void buffer_release(void* data, wl_buffer* buffer) {
auto surface = reinterpret_cast<WindowBackBuffer*>(data);
- surface->Detach();
+ surface->Detach(buffer);
}
static const struct wl_buffer_listener buffer_listener = {buffer_release};
@@ -261,9 +273,16 @@ void WindowBackBuffer::Create(int aWidth
mWidth = aWidth;
mHeight = aHeight;
+
+ LOGWAYLAND((
+ "%s [%p] wl_buffer %p ID %d\n", __PRETTY_FUNCTION__, (void*)this,
+ (void*)mWaylandBuffer,
+ mWaylandBuffer ? wl_proxy_get_id((struct wl_proxy*)mWaylandBuffer) : -1));
}
void WindowBackBuffer::Release() {
+ LOGWAYLAND(("%s [%p]\n", __PRETTY_FUNCTION__, (void*)this));
+
wl_buffer_destroy(mWaylandBuffer);
mWidth = mHeight = 0;
}
@@ -288,6 +307,9 @@ WindowBackBuffer::~WindowBackBuffer() {
bool WindowBackBuffer::Resize(int aWidth, int aHeight) {
if (aWidth == mWidth && aHeight == mHeight) return true;
+ LOGWAYLAND(
+ ("%s [%p] %d %d\n", __PRETTY_FUNCTION__, (void*)this, aWidth, aHeight));
+
Release();
Create(aWidth, aHeight);
@@ -295,13 +317,26 @@ bool WindowBackBuffer::Resize(int aWidth
}
void WindowBackBuffer::Attach(wl_surface* aSurface) {
+ LOGWAYLAND((
+ "%s [%p] wl_surface %p ID %d wl_buffer %p ID %d\n", __PRETTY_FUNCTION__,
+ (void*)this, (void*)aSurface,
+ aSurface ? wl_proxy_get_id((struct wl_proxy*)aSurface) : -1,
+ (void*)mWaylandBuffer,
+ mWaylandBuffer ? wl_proxy_get_id((struct wl_proxy*)mWaylandBuffer) : -1));
+
wl_surface_attach(aSurface, mWaylandBuffer, 0, 0);
wl_surface_commit(aSurface);
wl_display_flush(mWaylandDisplay->GetDisplay());
mAttached = true;
}
-void WindowBackBuffer::Detach() { mAttached = false; }
+void WindowBackBuffer::Detach(wl_buffer* aBuffer) {
+ LOGWAYLAND(("%s [%p] wl_buffer %p ID %d\n", __PRETTY_FUNCTION__, (void*)this,
+ (void*)aBuffer,
+ aBuffer ? wl_proxy_get_id((struct wl_proxy*)aBuffer) : -1));
+
+ mAttached = false;
+}
bool WindowBackBuffer::SetImageDataFromBuffer(
class WindowBackBuffer* aSourceBuffer) {
@@ -316,6 +351,11 @@ bool WindowBackBuffer::SetImageDataFromB
}
already_AddRefed<gfx::DrawTarget> WindowBackBuffer::Lock() {
+ LOGWAYLAND((
+ "%s [%p] [%d x %d] wl_buffer %p ID %d\n", __PRETTY_FUNCTION__,
+ (void*)this, mWidth, mHeight, (void*)mWaylandBuffer,
+ mWaylandBuffer ? wl_proxy_get_id((struct wl_proxy*)mWaylandBuffer) : -1));
+
gfx::IntSize lockSize(mWidth, mHeight);
return gfxPlatform::CreateDrawTargetForData(
static_cast<unsigned char*>(mShmPool.GetImageData()), lockSize,
@@ -345,7 +385,8 @@ WindowSurfaceWayland::WindowSurfaceWayla
mPendingCommit(false),
mWaylandBufferFullScreenDamage(false),
mIsMainThread(NS_IsMainThread()),
- mNeedScaleFactorUpdate(true) {
+ mNeedScaleFactorUpdate(true),
+ mWaitToFullScreenUpdate(true) {
for (int i = 0; i < BACK_BUFFER_NUM; i++) mBackupBuffer[i] = nullptr;
}
@@ -387,7 +428,11 @@ WindowSurfaceWayland::~WindowSurfaceWayl
WindowBackBuffer* WindowSurfaceWayland::GetWaylandBufferToDraw(int aWidth,
int aHeight) {
if (!mWaylandBuffer) {
+ LOGWAYLAND(("%s [%p] Create [%d x %d]\n", __PRETTY_FUNCTION__, (void*)this,
+ aWidth, aHeight));
+
mWaylandBuffer = new WindowBackBuffer(mWaylandDisplay, aWidth, aHeight);
+ mWaitToFullScreenUpdate = true;
return mWaylandBuffer;
}
@@ -396,8 +441,11 @@ WindowBackBuffer* WindowSurfaceWayland::
mWaylandBuffer->Resize(aWidth, aHeight);
// There's a chance that scale factor has been changed
// when buffer size changed
- mNeedScaleFactorUpdate = true;
+ mWaitToFullScreenUpdate = true;
}
+ LOGWAYLAND(("%s [%p] Reuse buffer [%d x %d]\n", __PRETTY_FUNCTION__,
+ (void*)this, aWidth, aHeight));
+
return mWaylandBuffer;
}
@@ -420,6 +468,8 @@ WindowBackBuffer* WindowSurfaceWayland::
}
if (MOZ_UNLIKELY(availableBuffer == BACK_BUFFER_NUM)) {
+ LOGWAYLAND(("%s [%p] No drawing buffer available!\n", __PRETTY_FUNCTION__,
+ (void*)this));
NS_WARNING("No drawing buffer available");
return nullptr;
}
@@ -429,6 +479,8 @@ WindowBackBuffer* WindowSurfaceWayland::
mBackupBuffer[availableBuffer] = lastWaylandBuffer;
if (lastWaylandBuffer->IsMatchingSize(aWidth, aHeight)) {
+ LOGWAYLAND(("%s [%p] Copy from old buffer [%d x %d]\n", __PRETTY_FUNCTION__,
+ (void*)this, aWidth, aHeight));
// Former front buffer has the same size as a requested one.
// Gecko may expect a content already drawn on screen so copy
// existing data to the new buffer.
@@ -437,9 +489,12 @@ WindowBackBuffer* WindowSurfaceWayland::
// (https://bugzilla.redhat.com/show_bug.cgi?id=1418260)
mWaylandBufferFullScreenDamage = true;
} else {
+ LOGWAYLAND(("%s [%p] Resize to [%d x %d]\n", __PRETTY_FUNCTION__,
+ (void*)this, aWidth, aHeight));
// Former buffer has different size from the new request. Only resize
// the new buffer and leave gecko to render new whole content.
mWaylandBuffer->Resize(aWidth, aHeight);
+ mWaitToFullScreenUpdate = true;
}
return mWaylandBuffer;
@@ -499,6 +554,10 @@ already_AddRefed<gfx::DrawTarget> Window
gfx::IntRect bounds = aRegion.GetBounds().ToUnknownRect();
gfx::IntSize lockSize(bounds.XMost(), bounds.YMost());
+ LOGWAYLAND(("%s [%p] lockSize [%d x %d] screenSize [%d x %d]\n",
+ __PRETTY_FUNCTION__, (void*)this, lockSize.width, lockSize.height,
+ screenRect.width, lockSize.height));
+
// Are we asked for entire nsWindow to draw?
mDrawToWaylandBufferDirectly =
(aRegion.GetNumRects() == 1 && bounds.x == 0 && bounds.y == 0 &&
@@ -510,6 +569,13 @@ already_AddRefed<gfx::DrawTarget> Window
LockWaylandBuffer(screenRect.width, screenRect.height,
mWindow->WaylandSurfaceNeedsClear());
if (dt) {
+ // When we have a request to update whole screen at once
+ // (surface was created, resized or changed somehow)
+ // we also need update scale factor of the screen.
+ if (mWaitToFullScreenUpdate) {
+ mWaitToFullScreenUpdate = false;
+ mNeedScaleFactorUpdate = true;
+ }
return dt.forget();
}
@@ -576,6 +642,10 @@ static void WaylandBufferDelayCommitHand
void WindowSurfaceWayland::CommitWaylandBuffer() {
MOZ_ASSERT(mPendingCommit, "Committing empty surface!");
+ if (mWaitToFullScreenUpdate) {
+ return;
+ }
+
wl_surface* waylandSurface = mWindow->GetWaylandSurface();
if (!waylandSurface) {
// Target window is not created yet - delay the commit. This can happen only
@@ -619,6 +689,7 @@ void WindowSurfaceWayland::CommitWayland
LayoutDeviceIntRect rect = mWindow->GetBounds();
wl_surface_damage(waylandSurface, 0, 0, rect.width, rect.height);
mWaylandBufferFullScreenDamage = false;
+ mNeedScaleFactorUpdate = true;
} else {
gint scaleFactor = mWindow->GdkScaleFactor();
for (auto iter = mWaylandBufferDamage.RectIter(); !iter.Done();
@@ -653,6 +724,18 @@ void WindowSurfaceWayland::CommitWayland
void WindowSurfaceWayland::Commit(const LayoutDeviceIntRegion& aInvalidRegion) {
MOZ_ASSERT(mIsMainThread == NS_IsMainThread());
+#ifdef DEBUG
+ {
+ LayoutDeviceIntRect screenRect = mWindow->GetBounds();
+ gfx::IntRect bounds = aInvalidRegion.GetBounds().ToUnknownRect();
+ gfx::IntSize lockSize(bounds.XMost(), bounds.YMost());
+
+ LOGWAYLAND(("%s [%p] lockSize [%d x %d] screenSize [%d x %d]\n",
+ __PRETTY_FUNCTION__, (void*)this, lockSize.width,
+ lockSize.height, screenRect.width, lockSize.height));
+ }
+#endif
+
// We have new content at mImageSurface - copy data to mWaylandBuffer first.
if (!mDrawToWaylandBufferDirectly) {
CommitImageSurfaceToWaylandBuffer(aInvalidRegion);
diff -up firefox-66.0/widget/gtk/WindowSurfaceWayland.h.old firefox-66.0/widget/gtk/WindowSurfaceWayland.h
--- firefox-66.0/widget/gtk/WindowSurfaceWayland.h.old 2019-03-20 15:48:56.218949138 +0100
+++ firefox-66.0/widget/gtk/WindowSurfaceWayland.h 2019-03-20 14:48:21.082035284 +0100
@@ -46,7 +46,7 @@ class WindowBackBuffer {
already_AddRefed<gfx::DrawTarget> Lock();
void Attach(wl_surface* aSurface);
- void Detach();
+ void Detach(wl_buffer* aBuffer);
bool IsAttached() { return mAttached; }
void Clear();
@@ -118,6 +118,7 @@ class WindowSurfaceWayland : public Wind
bool mWaylandBufferFullScreenDamage;
bool mIsMainThread;
bool mNeedScaleFactorUpdate;
+ bool mWaitToFullScreenUpdate;
};
} // namespace widget

View file

@ -1,92 +0,0 @@
changeset: 468935:3b964face103
tag: tip
user: Martin Stransky <stransky@redhat.com>
date: Wed Apr 10 15:14:32 2019 +0200
summary: Bug 1508378 - Fix round error when damage rect size/position is odd number and scale factor is used, r=lsalzman
diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp
--- a/widget/gtk/WindowSurfaceWayland.cpp
+++ b/widget/gtk/WindowSurfaceWayland.cpp
@@ -624,16 +624,33 @@ static void WaylandBufferDelayCommitHand
} else {
// Referenced WindowSurfaceWayland is already deleted.
// Do nothing but just release the mDelayedCommitHandle allocated at
// WindowSurfaceWayland::CommitWaylandBuffer().
free(aSurface);
}
}
+void WindowSurfaceWayland::CalcRectScale(LayoutDeviceIntRect& aRect, int aScale) {
+ if (aRect.x & 0x1) {
+ aRect.width += 1;
+ }
+ aRect.x = aRect.x / aScale;
+
+ if (aRect.y & 0x1) {
+ aRect.height += 1;
+ }
+ aRect.y = aRect.y / aScale;
+
+ aRect.width = (aRect.width & 0x1) ? aRect.width / aScale + 1 :
+ aRect.width / aScale;
+ aRect.height = (aRect.height & 0x1) ? aRect.height / aScale + 1 :
+ aRect.height / aScale;
+}
+
void WindowSurfaceWayland::CommitWaylandBuffer() {
MOZ_ASSERT(mPendingCommit, "Committing empty surface!");
if (mWaitToFullScreenUpdate) {
return;
}
wl_surface* waylandSurface = mWindow->GetWaylandSurface();
@@ -679,21 +696,23 @@ void WindowSurfaceWayland::CommitWayland
LayoutDeviceIntRect rect = mWindow->GetBounds();
wl_surface_damage(waylandSurface, 0, 0, rect.width, rect.height);
mWaylandBufferFullScreenDamage = false;
mNeedScaleFactorUpdate = true;
} else {
gint scaleFactor = mWindow->GdkScaleFactor();
for (auto iter = mWaylandBufferDamage.RectIter(); !iter.Done();
iter.Next()) {
- const mozilla::LayoutDeviceIntRect& r = iter.Get();
+ mozilla::LayoutDeviceIntRect r = iter.Get();
// We need to remove the scale factor because the wl_surface_damage
// also multiplies by current scale factor.
- wl_surface_damage(waylandSurface, r.x / scaleFactor, r.y / scaleFactor,
- r.width / scaleFactor, r.height / scaleFactor);
+ if (scaleFactor > 1) {
+ CalcRectScale(r, scaleFactor);
+ }
+ wl_surface_damage(waylandSurface, r.x, r.y, r.width, r.height);
}
}
// Clear all back buffer damage as we're committing
// all requested regions.
mWaylandBufferDamage.SetEmpty();
mFrameCallback = wl_surface_frame(waylandSurface);
diff --git a/widget/gtk/WindowSurfaceWayland.h b/widget/gtk/WindowSurfaceWayland.h
--- a/widget/gtk/WindowSurfaceWayland.h
+++ b/widget/gtk/WindowSurfaceWayland.h
@@ -96,16 +96,17 @@ class WindowSurfaceWayland : public Wind
WindowBackBuffer* GetWaylandBufferToDraw(int aWidth, int aHeight);
already_AddRefed<gfx::DrawTarget> LockWaylandBuffer(int aWidth, int aHeight,
bool aClearBuffer);
already_AddRefed<gfx::DrawTarget> LockImageSurface(
const gfx::IntSize& aLockSize);
bool CommitImageSurfaceToWaylandBuffer(const LayoutDeviceIntRegion& aRegion);
void CommitWaylandBuffer();
+ void CalcRectScale(LayoutDeviceIntRect& aRect, int scale);
// TODO: Do we need to hold a reference to nsWindow object?
nsWindow* mWindow;
nsWaylandDisplay* mWaylandDisplay;
WindowBackBuffer* mWaylandBuffer;
LayoutDeviceIntRegion mWaylandBufferDamage;
WindowBackBuffer* mBackupBuffer[BACK_BUFFER_NUM];
RefPtr<gfxImageSurface> mImageSurface;

View file

@ -1,38 +0,0 @@
diff -up firefox-65.0/build/moz.configure/toolchain.configure.1516081 firefox-65.0/build/moz.configure/toolchain.configure
--- firefox-65.0/build/moz.configure/toolchain.configure.1516081 2019-01-24 19:48:38.000000000 +0100
+++ firefox-65.0/build/moz.configure/toolchain.configure 2019-01-28 14:09:00.813320242 +0100
@@ -1364,7 +1364,7 @@ def pgo_flags(compiler, build_env, targe
if compiler.type == 'gcc':
return namespace(
- gen_cflags=['-fprofile-generate'],
+ gen_cflags=['-fprofile-generate', '-DMOZ_PROFILE_INSTRUMENTATION'],
gen_ldflags=['-fprofile-generate'],
use_cflags=['-fprofile-use', '-fprofile-correction',
'-Wcoverage-mismatch'],
@@ -1385,7 +1385,8 @@ def pgo_flags(compiler, build_env, targe
if gen_ldflags:
return namespace(
- gen_cflags=['-fprofile-instr-generate'],
+ gen_cflags=['-fprofile-instr-generate',
+ '-DMOZ_PROFILE_INSTRUMENTATION'],
gen_ldflags=gen_ldflags,
use_cflags=['-fprofile-instr-use=%s' % profdata,
'-Wno-error=profile-instr-out-of-date',
diff -up firefox-65.0/toolkit/components/terminator/nsTerminator.cpp.1516081 firefox-65.0/toolkit/components/terminator/nsTerminator.cpp
--- firefox-65.0/toolkit/components/terminator/nsTerminator.cpp.1516081 2019-01-28 14:09:00.813320242 +0100
+++ firefox-65.0/toolkit/components/terminator/nsTerminator.cpp 2019-01-28 14:11:56.745577302 +0100
@@ -419,6 +419,12 @@ void nsTerminator::StartWatchdog() {
}
}
#endif
+ // Disable watchdog for PGO train builds - writting profile information at
+ // exit may take time and it is better to make build hang rather than
+ // silently produce poorly performing binary.
+#ifdef MOZ_PROFILE_INSTRUMENTATION
+ crashAfterMS = INT32_MAX;
+#endif
UniquePtr<Options> options(new Options());
const PRIntervalTime ticksDuration = PR_MillisecondsToInterval(1000);

View file

@ -1,16 +1,15 @@
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -99,9 +99,8 @@
diff -up firefox-84.0/security/sandbox/linux/moz.build.1516803 firefox-84.0/security/sandbox/linux/moz.build
--- firefox-84.0/security/sandbox/linux/moz.build.1516803 2020-12-10 16:17:55.425139545 +0100
+++ firefox-84.0/security/sandbox/linux/moz.build 2020-12-10 16:29:21.945860841 +0100
@@ -114,9 +114,8 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
# gcc lto likes to put the top level asm in syscall.cc in a different partition
# from the function using it which breaks the build. Work around that by
# forcing there to be only one partition.
-for f in CONFIG['OS_CXXFLAGS']:
- if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
- LDFLAGS += ['--param lto-partitions=1']
-for f in CONFIG["OS_CXXFLAGS"]:
- if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
- LDFLAGS += ["--param lto-partitions=1"]
+if CONFIG['CC_TYPE'] != 'clang':
+ LDFLAGS += ['--param', 'lto-partitions=1']
DEFINES['NS_NO_XPCOM'] = True
DEFINES["NS_NO_XPCOM"] = True
DisableStlWrapping()

View file

@ -1,209 +0,0 @@
diff -up firefox-67.0/widget/gtk/mozcontainer.cpp.mozilla-1517205 firefox-67.0/widget/gtk/mozcontainer.cpp
--- firefox-67.0/widget/gtk/mozcontainer.cpp.mozilla-1517205 2019-05-15 16:00:23.366366060 +0200
+++ firefox-67.0/widget/gtk/mozcontainer.cpp 2019-05-15 16:02:01.596967825 +0200
@@ -567,8 +567,7 @@ struct wl_surface *moz_container_get_wl_
moz_container_get_scale(container));
wl_surface_commit(container->surface);
- wl_display_flush(waylandDisplay->GetDisplay());
- WaylandDisplayRelease(waylandDisplay);
+ wl_display_flush(waylandDisplay->GetDisplay());
}
return container->surface;
diff -up firefox-67.0/widget/gtk/nsClipboardWayland.cpp.mozilla-1517205 firefox-67.0/widget/gtk/nsClipboardWayland.cpp
--- firefox-67.0/widget/gtk/nsClipboardWayland.cpp.mozilla-1517205 2019-05-14 01:08:37.000000000 +0200
+++ firefox-67.0/widget/gtk/nsClipboardWayland.cpp 2019-05-15 16:00:23.367366056 +0200
@@ -639,7 +639,6 @@ static gboolean offer_hash_remove(gpoint
nsRetrievalContextWayland::~nsRetrievalContextWayland(void) {
g_hash_table_foreach_remove(mActiveOffers, offer_hash_remove, nullptr);
g_hash_table_destroy(mActiveOffers);
- WaylandDisplayRelease(mDisplay);
}
GdkAtom *nsRetrievalContextWayland::GetTargets(int32_t aWhichClipboard,
diff -up firefox-67.0/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-67.0/widget/gtk/nsWaylandDisplay.cpp
--- firefox-67.0/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 2019-05-14 01:08:37.000000000 +0200
+++ firefox-67.0/widget/gtk/nsWaylandDisplay.cpp 2019-05-15 16:00:23.368366052 +0200
@@ -21,6 +21,13 @@ namespace widget {
static nsWaylandDisplay *gWaylandDisplays[MAX_DISPLAY_CONNECTIONS];
static StaticMutex gWaylandDisplaysMutex;
+static void ReleaseDisplaysAtExit() {
+ for (int i = 0; i < MAX_DISPLAY_CONNECTIONS; i++) {
+ delete gWaylandDisplays[i];
+ gWaylandDisplays[i] = nullptr;
+ }
+}
+
// Each thread which is using wayland connection (wl_display) has to operate
// its own wl_event_queue. Main Firefox thread wl_event_queue is handled
// by Gtk main loop, other threads/wl_event_queue has to be handled by us.
@@ -35,7 +42,6 @@ static nsWaylandDisplay *WaylandDisplayG
const StaticMutexAutoLock &) {
for (auto &display : gWaylandDisplays) {
if (display && display->Matches(aDisplay)) {
- NS_ADDREF(display);
return display;
}
}
@@ -43,7 +49,7 @@ static nsWaylandDisplay *WaylandDisplayG
for (auto &display : gWaylandDisplays) {
if (display == nullptr) {
display = new nsWaylandDisplay(aDisplay);
- NS_ADDREF(display);
+ atexit(ReleaseDisplaysAtExit);
return display;
}
}
@@ -67,26 +73,6 @@ nsWaylandDisplay *WaylandDisplayGet(GdkD
return WaylandDisplayGetLocked(display, lock);
}
-static bool WaylandDisplayReleaseLocked(nsWaylandDisplay *aDisplay,
- const StaticMutexAutoLock &) {
- for (auto &display : gWaylandDisplays) {
- if (display == aDisplay) {
- int rc = display->Release();
- if (rc == 0) {
- display = nullptr;
- }
- return true;
- }
- }
- MOZ_ASSERT(false, "Missing nsWaylandDisplay for this thread!");
- return false;
-}
-
-void WaylandDisplayRelease(nsWaylandDisplay *aDisplay) {
- StaticMutexAutoLock lock(gWaylandDisplaysMutex);
- WaylandDisplayReleaseLocked(aDisplay, lock);
-}
-
static void WaylandDisplayLoopLocked(wl_display *aDisplay,
const StaticMutexAutoLock &) {
for (auto &display : gWaylandDisplays) {
@@ -130,6 +116,8 @@ static void global_registry_handler(void
uint32_t id, const char *interface,
uint32_t version) {
auto display = reinterpret_cast<nsWaylandDisplay *>(data);
+ if (!display)
+ return;
if (strcmp(interface, "wl_shm") == 0) {
auto shm = static_cast<wl_shm *>(
@@ -180,9 +168,7 @@ bool nsWaylandDisplay::Matches(wl_displa
return mThreadId == PR_GetCurrentThread() && aDisplay == mDisplay;
}
-NS_IMPL_ISUPPORTS(nsWaylandDisplay, nsISupports);
-
-nsWaylandDisplay::nsWaylandDisplay(wl_display *aDisplay)
+nsWaylandDisplay::nsWaylandDisplay(wl_display* aDisplay)
: mThreadId(PR_GetCurrentThread()),
mDisplay(aDisplay),
mEventQueue(nullptr),
@@ -190,9 +176,10 @@ nsWaylandDisplay::nsWaylandDisplay(wl_di
mSubcompositor(nullptr),
mSeat(nullptr),
mShm(nullptr),
- mPrimarySelectionDeviceManager(nullptr) {
- wl_registry *registry = wl_display_get_registry(mDisplay);
- wl_registry_add_listener(registry, &registry_listener, this);
+ mPrimarySelectionDeviceManager(nullptr),
+ mRegistry(nullptr) {
+ mRegistry = wl_display_get_registry(mDisplay);
+ wl_registry_add_listener(mRegistry, &registry_listener, this);
if (NS_IsMainThread()) {
// Use default event queue in main thread operated by Gtk+.
@@ -203,17 +190,19 @@ nsWaylandDisplay::nsWaylandDisplay(wl_di
mEventQueue = wl_display_create_queue(mDisplay);
MessageLoop::current()->PostTask(NewRunnableFunction(
"WaylandDisplayLoop", &WaylandDisplayLoop, mDisplay));
- wl_proxy_set_queue((struct wl_proxy *)registry, mEventQueue);
+ wl_proxy_set_queue((struct wl_proxy *)mRegistry, mEventQueue);
wl_display_roundtrip_queue(mDisplay, mEventQueue);
wl_display_roundtrip_queue(mDisplay, mEventQueue);
}
}
nsWaylandDisplay::~nsWaylandDisplay() {
- MOZ_ASSERT(mThreadId == PR_GetCurrentThread());
// Owned by Gtk+, we don't need to release
mDisplay = nullptr;
+ wl_registry_destroy(mRegistry);
+ mRegistry = nullptr;
+
if (mEventQueue) {
wl_event_queue_destroy(mEventQueue);
mEventQueue = nullptr;
diff -up firefox-67.0/widget/gtk/nsWaylandDisplay.h.mozilla-1517205 firefox-67.0/widget/gtk/nsWaylandDisplay.h
--- firefox-67.0/widget/gtk/nsWaylandDisplay.h.mozilla-1517205 2019-05-14 01:08:27.000000000 +0200
+++ firefox-67.0/widget/gtk/nsWaylandDisplay.h 2019-05-15 16:00:23.368366052 +0200
@@ -20,11 +20,10 @@ namespace widget {
// Our general connection to Wayland display server,
// holds our display connection and runs event loop.
-class nsWaylandDisplay : public nsISupports {
- NS_DECL_THREADSAFE_ISUPPORTS
-
+class nsWaylandDisplay {
public:
explicit nsWaylandDisplay(wl_display* aDisplay);
+ virtual ~nsWaylandDisplay();
bool DisplayLoop();
bool Matches(wl_display* aDisplay);
@@ -41,7 +40,6 @@ class nsWaylandDisplay : public nsISuppo
return mPrimarySelectionDeviceManager;
};
- public:
void SetShm(wl_shm* aShm);
void SetSubcompositor(wl_subcompositor* aSubcompositor);
void SetDataDeviceManager(wl_data_device_manager* aDataDeviceManager);
@@ -49,9 +47,7 @@ class nsWaylandDisplay : public nsISuppo
void SetPrimarySelectionDeviceManager(
gtk_primary_selection_device_manager* aPrimarySelectionDeviceManager);
- private:
- virtual ~nsWaylandDisplay();
-
+private:
PRThread* mThreadId;
wl_display* mDisplay;
wl_event_queue* mEventQueue;
@@ -60,10 +56,10 @@ class nsWaylandDisplay : public nsISuppo
wl_seat* mSeat;
wl_shm* mShm;
gtk_primary_selection_device_manager* mPrimarySelectionDeviceManager;
+ wl_registry *mRegistry;
};
nsWaylandDisplay* WaylandDisplayGet(GdkDisplay* aGdkDisplay = nullptr);
-void WaylandDisplayRelease(nsWaylandDisplay* aDisplay);
} // namespace widget
} // namespace mozilla
diff -up firefox-67.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1517205 firefox-67.0/widget/gtk/WindowSurfaceWayland.cpp
--- firefox-67.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1517205 2019-05-15 16:00:23.335366185 +0200
+++ firefox-67.0/widget/gtk/WindowSurfaceWayland.cpp 2019-05-15 16:00:23.368366052 +0200
@@ -413,16 +413,6 @@ WindowSurfaceWayland::~WindowSurfaceWayl
delete mBackupBuffer[i];
}
}
-
- if (!mIsMainThread) {
- // We can be destroyed from main thread even though we was created/used
- // in compositor thread. We have to unref/delete WaylandDisplay in
- // compositor thread then and we can't use MessageLoop::current() here.
- mDisplayThreadMessageLoop->PostTask(NewRunnableFunction(
- "WaylandDisplayRelease", &WaylandDisplayRelease, mWaylandDisplay));
- } else {
- WaylandDisplayRelease(mWaylandDisplay);
- }
}
WindowBackBuffer* WindowSurfaceWayland::GetWaylandBufferToDraw(int aWidth,

View file

@ -1,340 +0,0 @@
changeset: 465480:a86f3560fb17
parent: 465477:26d9b7ffbd6b
user: Martin Stransky <stransky@redhat.com>
date: Fri Mar 29 15:30:15 2019 +0100
summary: Bug 1526243 - [Linux] Don't use nsGConfService in nsGNOMEShellService.cpp, r=glandium
diff --git a/browser/components/shell/nsGNOMEShellService.cpp b/browser/components/shell/nsGNOMEShellService.cpp
--- a/browser/components/shell/nsGNOMEShellService.cpp
+++ b/browser/components/shell/nsGNOMEShellService.cpp
@@ -10,17 +10,16 @@
#include "nsShellService.h"
#include "nsIServiceManager.h"
#include "nsIFile.h"
#include "nsIProperties.h"
#include "nsDirectoryServiceDefs.h"
#include "nsIPrefService.h"
#include "prenv.h"
#include "nsString.h"
-#include "nsIGConfService.h"
#include "nsIGIOService.h"
#include "nsIGSettingsService.h"
#include "nsIStringBundle.h"
#include "nsIOutputStream.h"
#include "nsIProcess.h"
#include "nsServiceManagerUtils.h"
#include "nsComponentManagerUtils.h"
#include "nsIImageLoadingContent.h"
@@ -65,48 +64,39 @@ static const ProtocolAssociation appProt
static const MimeTypeAssociation appTypes[] = {
// clang-format off
{ "text/html", "htm html shtml" },
{ "application/xhtml+xml", "xhtml xht" }
// clang-format on
};
-// GConf registry key constants
-#define DG_BACKGROUND "/desktop/gnome/background"
-
-#define kDesktopImageKey DG_BACKGROUND "/picture_filename"
-#define kDesktopOptionsKey DG_BACKGROUND "/picture_options"
-#define kDesktopDrawBGKey DG_BACKGROUND "/draw_background"
-#define kDesktopColorKey DG_BACKGROUND "/primary_color"
-
#define kDesktopBGSchema "org.gnome.desktop.background"
#define kDesktopImageGSKey "picture-uri"
#define kDesktopOptionGSKey "picture-options"
#define kDesktopDrawBGGSKey "draw-background"
#define kDesktopColorGSKey "primary-color"
static bool IsRunningAsASnap() { return (PR_GetEnv("SNAP") != nullptr); }
nsresult nsGNOMEShellService::Init() {
nsresult rv;
if (gfxPlatform::IsHeadless()) {
return NS_ERROR_NOT_AVAILABLE;
}
- // GConf, GSettings or GIO _must_ be available, or we do not allow
+ // GSettings or GIO _must_ be available, or we do not allow
// CreateInstance to succeed.
- nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
nsCOMPtr<nsIGSettingsService> gsettings =
do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (!gconf && !giovfs && !gsettings) return NS_ERROR_NOT_AVAILABLE;
+ if (!giovfs && !gsettings) return NS_ERROR_NOT_AVAILABLE;
// Check G_BROKEN_FILENAMES. If it's set, then filenames in glib use
// the locale encoding. If it's not set, they use UTF-8.
mUseLocaleFilenames = PR_GetEnv("G_BROKEN_FILENAMES") != nullptr;
if (GetAppPathFromLauncher()) return NS_OK;
nsCOMPtr<nsIProperties> dirSvc(
@@ -212,35 +202,23 @@ nsGNOMEShellService::IsDefaultBrowser(bo
}
if (strcmp(output, "yes\n") == 0) {
*aIsDefaultBrowser = true;
}
g_free(output);
return NS_OK;
}
- nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
-
- bool enabled;
nsAutoCString handler;
nsCOMPtr<nsIGIOMimeApp> gioApp;
for (unsigned int i = 0; i < ArrayLength(appProtocols); ++i) {
if (!appProtocols[i].essential) continue;
- if (gconf) {
- handler.Truncate();
- gconf->GetAppForProtocol(nsDependentCString(appProtocols[i].name),
- &enabled, handler);
-
- if (!CheckHandlerMatchesAppName(handler) || !enabled)
- return NS_OK; // the handler is disabled or set to another app
- }
-
if (giovfs) {
handler.Truncate();
nsCOMPtr<nsIHandlerApp> handlerApp;
giovfs->GetAppForURIScheme(nsDependentCString(appProtocols[i].name),
getter_AddRefs(handlerApp));
gioApp = do_QueryInterface(handlerApp);
if (!gioApp) return NS_OK;
@@ -270,39 +248,17 @@ nsGNOMEShellService::SetDefaultBrowser(b
GSpawnFlags flags = static_cast<GSpawnFlags>(G_SPAWN_SEARCH_PATH |
G_SPAWN_STDOUT_TO_DEV_NULL |
G_SPAWN_STDERR_TO_DEV_NULL);
g_spawn_sync(nullptr, (gchar **)argv, nullptr, flags, nullptr, nullptr,
nullptr, nullptr, nullptr, nullptr);
return NS_OK;
}
- nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
- if (gconf) {
- nsAutoCString appKeyValue;
- if (mAppIsInPath) {
- // mAppPath is in the users path, so use only the basename as the launcher
- gchar *tmp = g_path_get_basename(mAppPath.get());
- appKeyValue = tmp;
- g_free(tmp);
- } else {
- appKeyValue = mAppPath;
- }
-
- appKeyValue.AppendLiteral(" %s");
-
- for (unsigned int i = 0; i < ArrayLength(appProtocols); ++i) {
- if (appProtocols[i].essential || aClaimAllTypes) {
- gconf->SetAppForProtocol(nsDependentCString(appProtocols[i].name),
- appKeyValue);
- }
- }
- }
-
if (giovfs) {
nsresult rv;
nsCOMPtr<nsIStringBundleService> bundleService =
do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIStringBundle> brandBundle;
rv = bundleService->CreateBundle(BRAND_PROPERTIES,
@@ -353,19 +309,21 @@ nsGNOMEShellService::SetDefaultBrowser(b
}
return NS_OK;
}
NS_IMETHODIMP
nsGNOMEShellService::GetCanSetDesktopBackground(bool *aResult) {
// setting desktop background is currently only supported
- // for Gnome or desktops using the same GSettings and GConf keys
- const char *gnomeSession = getenv("GNOME_DESKTOP_SESSION_ID");
- if (gnomeSession) {
+ // for Gnome or desktops using the same GSettings keys
+ const char *currentDesktop = getenv("XDG_CURRENT_DESKTOP");
+ if (currentDesktop &&
+ (strstr(currentDesktop, "GNOME-Flashback:GNOME") != nullptr ||
+ strstr(currentDesktop, "GNOME") != nullptr)) {
*aResult = true;
} else {
*aResult = false;
}
return NS_OK;
}
@@ -439,20 +397,16 @@ nsGNOMEShellService::SetDesktopBackgroun
filePath.Append('/');
filePath.Append(NS_ConvertUTF16toUTF8(brandName));
filePath.AppendLiteral("_wallpaper.png");
// write the image to a file in the home dir
rv = WriteImage(filePath, container);
NS_ENSURE_SUCCESS(rv, rv);
- // Try GSettings first. If we don't have GSettings or the right schema, fall
- // back to using GConf instead. Note that if GSettings works ok, the changes
- // get mirrored to GConf by the gsettings->gconf bridge in
- // gnome-settings-daemon
nsCOMPtr<nsIGSettingsService> gsettings =
do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
if (gsettings) {
nsCOMPtr<nsIGSettingsCollection> background_settings;
gsettings->GetCollectionForSchema(NS_LITERAL_CSTRING(kDesktopBGSchema),
getter_AddRefs(background_settings));
if (background_settings) {
gchar *file_uri = g_filename_to_uri(filePath.get(), nullptr, nullptr);
@@ -465,32 +419,17 @@ nsGNOMEShellService::SetDesktopBackgroun
nsDependentCString(file_uri));
g_free(file_uri);
background_settings->SetBoolean(NS_LITERAL_CSTRING(kDesktopDrawBGGSKey),
true);
return rv;
}
}
- // if the file was written successfully, set it as the system wallpaper
- nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
-
- if (gconf) {
- gconf->SetString(NS_LITERAL_CSTRING(kDesktopOptionsKey), options);
-
- // Set the image to an empty string first to force a refresh
- // (since we could be writing a new image on top of an existing
- // Firefox_wallpaper.png and nautilus doesn't monitor the file for changes)
- gconf->SetString(NS_LITERAL_CSTRING(kDesktopImageKey), EmptyCString());
-
- gconf->SetString(NS_LITERAL_CSTRING(kDesktopImageKey), filePath);
- gconf->SetBool(NS_LITERAL_CSTRING(kDesktopDrawBGKey), true);
- }
-
- return rv;
+ return NS_ERROR_FAILURE;
}
#define COLOR_16_TO_8_BIT(_c) ((_c) >> 8)
#define COLOR_8_TO_16_BIT(_c) ((_c) << 8 | (_c))
NS_IMETHODIMP
nsGNOMEShellService::GetDesktopBackgroundColor(uint32_t *aColor) {
nsCOMPtr<nsIGSettingsService> gsettings =
@@ -502,22 +441,16 @@ nsGNOMEShellService::GetDesktopBackgroun
gsettings->GetCollectionForSchema(NS_LITERAL_CSTRING(kDesktopBGSchema),
getter_AddRefs(background_settings));
if (background_settings) {
background_settings->GetString(NS_LITERAL_CSTRING(kDesktopColorGSKey),
background);
}
}
- if (!background_settings) {
- nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
- if (gconf)
- gconf->GetString(NS_LITERAL_CSTRING(kDesktopColorKey), background);
- }
-
if (background.IsEmpty()) {
*aColor = 0;
return NS_OK;
}
GdkColor color;
gboolean success = gdk_color_parse(background.get(), &color);
@@ -555,23 +488,17 @@ nsGNOMEShellService::SetDesktopBackgroun
getter_AddRefs(background_settings));
if (background_settings) {
background_settings->SetString(NS_LITERAL_CSTRING(kDesktopColorGSKey),
colorString);
return NS_OK;
}
}
- nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
-
- if (gconf) {
- gconf->SetString(NS_LITERAL_CSTRING(kDesktopColorKey), colorString);
- }
-
- return NS_OK;
+ return NS_ERROR_FAILURE;
}
NS_IMETHODIMP
nsGNOMEShellService::OpenApplication(int32_t aApplication) {
nsAutoCString scheme;
if (aApplication == APPLICATION_MAIL)
scheme.AssignLiteral("mailto");
else if (aApplication == APPLICATION_NEWS)
@@ -581,55 +508,17 @@ nsGNOMEShellService::OpenApplication(int
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
if (giovfs) {
nsCOMPtr<nsIHandlerApp> handlerApp;
giovfs->GetAppForURIScheme(scheme, getter_AddRefs(handlerApp));
if (handlerApp) return handlerApp->LaunchWithURI(nullptr, nullptr);
}
- nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
- if (!gconf) return NS_ERROR_FAILURE;
-
- bool enabled;
- nsAutoCString appCommand;
- gconf->GetAppForProtocol(scheme, &enabled, appCommand);
-
- if (!enabled) return NS_ERROR_FAILURE;
-
- // XXX we don't currently handle launching a terminal window.
- // If the handler requires a terminal, bail.
- bool requiresTerminal;
- gconf->HandlerRequiresTerminal(scheme, &requiresTerminal);
- if (requiresTerminal) return NS_ERROR_FAILURE;
-
- // Perform shell argument expansion
- int argc;
- char **argv;
- if (!g_shell_parse_argv(appCommand.get(), &argc, &argv, nullptr))
- return NS_ERROR_FAILURE;
-
- char **newArgv = new char *[argc + 1];
- int newArgc = 0;
-
- // Run through the list of arguments. Copy all of them to the new
- // argv except for %s, which we skip.
- for (int i = 0; i < argc; ++i) {
- if (strcmp(argv[i], "%s") != 0) newArgv[newArgc++] = argv[i];
- }
-
- newArgv[newArgc] = nullptr;
-
- gboolean err = g_spawn_async(nullptr, newArgv, nullptr, G_SPAWN_SEARCH_PATH,
- nullptr, nullptr, nullptr, nullptr);
-
- g_strfreev(argv);
- delete[] newArgv;
-
- return err ? NS_OK : NS_ERROR_FAILURE;
+ return NS_ERROR_FAILURE;
}
NS_IMETHODIMP
nsGNOMEShellService::OpenApplicationWithURI(nsIFile *aApplication,
const nsACString &aURI) {
nsresult rv;
nsCOMPtr<nsIProcess> process =
do_CreateInstance("@mozilla.org/process/util;1", &rv);

View file

@ -1,71 +0,0 @@
diff -up firefox-67.0/layout/xul/moz.build.mozilla-1532643-popup firefox-67.0/layout/xul/moz.build
--- firefox-67.0/layout/xul/moz.build.mozilla-1532643-popup 2019-05-14 01:08:24.000000000 +0200
+++ firefox-67.0/layout/xul/moz.build 2019-05-15 15:31:39.714299754 +0200
@@ -88,3 +88,6 @@ LOCAL_INCLUDES += [
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']
+
+CFLAGS += CONFIG['TK_CFLAGS']
+CXXFLAGS += CONFIG['TK_CFLAGS']
diff -up firefox-67.0/layout/xul/nsMenuPopupFrame.cpp.mozilla-1532643-popup firefox-67.0/layout/xul/nsMenuPopupFrame.cpp
--- firefox-67.0/layout/xul/nsMenuPopupFrame.cpp.mozilla-1532643-popup 2019-05-14 01:08:24.000000000 +0200
+++ firefox-67.0/layout/xul/nsMenuPopupFrame.cpp 2019-05-15 15:37:01.121215863 +0200
@@ -55,6 +55,10 @@
#include "mozilla/dom/KeyboardEvent.h"
#include "mozilla/dom/KeyboardEventBinding.h"
#include <algorithm>
+#ifdef MOZ_WAYLAND
+#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
+#endif /* MOZ_WAYLAND */
using namespace mozilla;
using mozilla::dom::Document;
@@ -301,11 +305,29 @@ nsresult nsMenuPopupFrame::CreateWidgetF
!(mode == eTransparencyTransparent || tag == nsGkAtoms::menulist);
widgetData.mPopupLevel = PopupLevel(widgetData.mNoAutoHide);
+ static bool waylandBackend =
+#ifdef MOZ_WAYLAND
+ !GDK_IS_X11_DISPLAY(gdk_display_get_default());
+#else
+ false;
+#endif
+
// panels which have a parent level need a parent widget. This allows them to
// always appear in front of the parent window but behind other windows that
// should be in front of it.
nsCOMPtr<nsIWidget> parentWidget;
- if (widgetData.mPopupLevel != ePopupLevelTop) {
+ if (waylandBackend) {
+ // On Wayland we always need to connect menu to its parent menu widget
+ // otherwise it's not shown.
+ nsMenuFrame* menuFrame = do_QueryFrame(GetParent());
+ if (menuFrame) {
+ nsMenuParent* parentPopup = menuFrame->GetMenuParent();
+ if (parentPopup && parentPopup->IsMenu()) {
+ parentWidget =
+ static_cast<nsMenuPopupFrame*>(parentPopup)->GetWidget();
+ }
+ }
+ } else if (widgetData.mPopupLevel != ePopupLevelTop) {
nsCOMPtr<nsIDocShellTreeItem> dsti = PresContext()->GetDocShell();
if (!dsti) return NS_ERROR_FAILURE;
diff -up firefox-67.0/widget/gtk/nsWindow.cpp.mozilla-1532643-popup firefox-67.0/widget/gtk/nsWindow.cpp
--- firefox-67.0/widget/gtk/nsWindow.cpp.mozilla-1532643-popup 2019-05-15 15:31:39.712299764 +0200
+++ firefox-67.0/widget/gtk/nsWindow.cpp 2019-05-15 15:31:39.716299744 +0200
@@ -3527,11 +3527,7 @@ nsresult nsWindow::Create(nsIWidget *aPa
} else {
switch (aInitData->mPopupHint) {
case ePopupTypeMenu:
- // Use GDK_WINDOW_TYPE_HINT_UTILITY on Wayland which
- // guides Gtk to create the popup as subsurface
- // instead of xdg_shell popup (see Bug 1423598).
- gtkTypeHint = mIsX11Display ? GDK_WINDOW_TYPE_HINT_POPUP_MENU
- : GDK_WINDOW_TYPE_HINT_UTILITY;
+ gtkTypeHint = GDK_WINDOW_TYPE_HINT_POPUP_MENU;
break;
case ePopupTypeTooltip:
gtkTypeHint = GDK_WINDOW_TYPE_HINT_TOOLTIP;

View file

@ -1,136 +0,0 @@
diff -up firefox-67.0/widget/gtk/mozcontainer.cpp.mozilla-1535567 firefox-67.0/widget/gtk/mozcontainer.cpp
--- firefox-67.0/widget/gtk/mozcontainer.cpp.mozilla-1535567 2019-05-14 01:08:37.000000000 +0200
+++ firefox-67.0/widget/gtk/mozcontainer.cpp 2019-05-15 15:56:19.645336209 +0200
@@ -157,6 +157,7 @@ void moz_container_init(MozContainer *co
container->subsurface = nullptr;
container->eglwindow = nullptr;
container->frame_callback_handler = nullptr;
+ container->frame_callback_handler_surface_id = -1;
// We can draw to x11 window any time.
container->ready_to_draw = GDK_IS_X11_DISPLAY(gdk_display_get_default());
container->surface_needs_clear = true;
@@ -165,6 +166,11 @@ void moz_container_init(MozContainer *co
}
#if defined(MOZ_WAYLAND)
+void moz_container_set_initial_draw_callback(
+ MozContainer *container, std::function<void(void)> inital_draw_cb) {
+ container->inital_draw_cb = inital_draw_cb;
+}
+
static wl_surface *moz_container_get_gtk_container_surface(
MozContainer *container) {
static auto sGdkWaylandWindowGetWlSurface = (wl_surface * (*)(GdkWindow *))
@@ -178,37 +184,61 @@ static void frame_callback_handler(void
uint32_t time) {
MozContainer *container = MOZ_CONTAINER(data);
g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy);
+ container->frame_callback_handler_surface_id = -1;
if (!container->ready_to_draw && container->inital_draw_cb) {
container->inital_draw_cb();
}
container->ready_to_draw = true;
}
-void moz_container_set_initial_draw_callback(
- MozContainer *container, std::function<void(void)> inital_draw_cb) {
- container->inital_draw_cb = inital_draw_cb;
-}
-
static const struct wl_callback_listener frame_listener = {
frame_callback_handler};
-static gboolean moz_container_map_wayland(GtkWidget *widget,
- GdkEventAny *event) {
- MozContainer *container = MOZ_CONTAINER(widget);
-
- if (container->ready_to_draw || container->frame_callback_handler) {
- return FALSE;
- }
-
+static void moz_container_request_parent_frame_callback(
+ MozContainer *container) {
wl_surface *gtk_container_surface =
moz_container_get_gtk_container_surface(container);
+ int gtk_container_surface_id =
+ gtk_container_surface
+ ? wl_proxy_get_id((struct wl_proxy *)gtk_container_surface)
+ : -1;
+
+
+
+
+
+
+
+ if (container->frame_callback_handler &&
+ container->frame_callback_handler_surface_id ==
+ gtk_container_surface_id) {
+ return;
+ }
+
+ // If there's pending frame callback, delete it.
+ if (container->frame_callback_handler) {
+ g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy);
+ }
if (gtk_container_surface) {
+ container->frame_callback_handler_surface_id = gtk_container_surface_id;
container->frame_callback_handler = wl_surface_frame(gtk_container_surface);
wl_callback_add_listener(container->frame_callback_handler, &frame_listener,
container);
+ } else {
+ container->frame_callback_handler_surface_id = -1;
+ }
+}
+
+static gboolean moz_container_map_wayland(GtkWidget *widget,
+ GdkEventAny *event) {
+ MozContainer *container = MOZ_CONTAINER(widget);
+
+ if (container->ready_to_draw) {
+ return FALSE;
}
+ moz_container_request_parent_frame_callback(MOZ_CONTAINER(widget));
return FALSE;
}
@@ -217,6 +247,7 @@ static void moz_container_unmap_wayland(
g_clear_pointer(&container->subsurface, wl_subsurface_destroy);
g_clear_pointer(&container->surface, wl_surface_destroy);
g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy);
+ container->frame_callback_handler_surface_id = -1;
container->surface_needs_clear = true;
container->ready_to_draw = false;
@@ -329,6 +360,10 @@ void moz_container_realize(GtkWidget *wi
: gtk_widget_get_visual(widget);
window = gdk_window_new(parent, &attributes, attributes_mask);
+
+
+
+
gdk_window_set_user_data(window, widget);
} else {
window = parent;
@@ -498,6 +533,7 @@ static void moz_container_add(GtkContain
struct wl_surface *moz_container_get_wl_surface(MozContainer *container) {
if (!container->surface) {
if (!container->ready_to_draw) {
+ moz_container_request_parent_frame_callback(container);
return nullptr;
}
GdkDisplay *display = gtk_widget_get_display(GTK_WIDGET(container));
diff -up firefox-67.0/widget/gtk/mozcontainer.h.mozilla-1535567 firefox-67.0/widget/gtk/mozcontainer.h
--- firefox-67.0/widget/gtk/mozcontainer.h.mozilla-1535567 2019-05-14 01:08:37.000000000 +0200
+++ firefox-67.0/widget/gtk/mozcontainer.h 2019-05-15 15:50:59.440570372 +0200
@@ -77,6 +77,7 @@ struct _MozContainer {
struct wl_subsurface *subsurface;
struct wl_egl_window *eglwindow;
struct wl_callback *frame_callback_handler;
+ int frame_callback_handler_surface_id;
gboolean surface_needs_clear;
gboolean ready_to_draw;
std::function<void(void)> inital_draw_cb;

View file

@ -1,206 +0,0 @@
diff -up firefox-66.0.1/widget/gtk/nsWindow.cpp.mozilla-1539471 firefox-66.0.1/widget/gtk/nsWindow.cpp
--- firefox-66.0.1/widget/gtk/nsWindow.cpp.mozilla-1539471 2019-03-28 14:08:42.351128620 +0100
+++ firefox-66.0.1/widget/gtk/nsWindow.cpp 2019-03-28 14:20:23.282890178 +0100
@@ -312,6 +312,9 @@ static nsWindow *gFocusWindow = nullptr;
static bool gBlockActivateEvent = false;
static bool gGlobalsInitialized = false;
static bool gRaiseWindows = true;
+#ifdef MOZ_WAYLAND
+static GList *gCurrentPopupWindows = nullptr;
+#endif
#if GTK_CHECK_VERSION(3, 4, 0)
static uint32_t gLastTouchID = 0;
@@ -1136,8 +1139,16 @@ void nsWindow::NativeMoveResizeWaylandPo
return;
}
- GtkWidget* parentWidget =
- GTK_WIDGET(gtk_window_get_transient_for(GTK_WINDOW(mShell)));
+ GtkWidget *parentWidget;
+ if (mPopupType == ePopupTypeTooltip && gCurrentPopupWindows) {
+ // Attach tooltip window to the latest popup window
+ // to have both visible.
+ parentWidget = GTK_WIDGET(gCurrentPopupWindows->data);
+ gtk_window_set_transient_for(GTK_WINDOW(mShell),
+ GTK_WINDOW(parentWidget));
+ } else {
+ parentWidget = GTK_WIDGET(gtk_window_get_transient_for(GTK_WINDOW(mShell)));
+ }
int x_parent, y_parent;
gdk_window_get_origin(gtk_widget_get_window(parentWidget), &x_parent, &y_parent);
@@ -3489,7 +3500,7 @@ nsresult nsWindow::Create(nsIWidget *aPa
gtkTypeHint = GDK_WINDOW_TYPE_HINT_DND;
mIsDragPopup = true;
} else {
- switch (aInitData->mPopupHint) {
+ switch (mPopupType) {
case ePopupTypeMenu:
gtkTypeHint = GDK_WINDOW_TYPE_HINT_POPUP_MENU;
break;
@@ -3610,6 +3621,8 @@ nsresult nsWindow::Create(nsIWidget *aPa
return NS_ERROR_FAILURE;
case eWindowType_child: {
+ MOZ_ASSERT(mIsX11Display,
+ "eWindowType_child is not supported on Wayland!");
if (parentMozContainer) {
mGdkWindow = CreateGdkWindow(parentGdkWindow, parentMozContainer);
mHasMappedToplevel = parentnsWindow->mHasMappedToplevel;
@@ -3979,6 +3992,49 @@ void nsWindow::NativeMoveResize() {
}
}
+#ifdef MOZ_WAYLAND
+void nsWindow::OpenToplevelWaylandWindow() {
+ // Wayland keeps strong popup window hierarchy. We need to track active
+ // (visible) popup windows and make sure we hide popup on the same level
+ // before we open another one on that level. It means that every open
+ // popup needs to have an unique parent.
+ if (mWindowType == eWindowType_popup) {
+ GtkWidget *parentWidget =
+ GTK_WIDGET(gtk_window_get_transient_for(GTK_WINDOW(mShell)));
+
+ if (gCurrentPopupWindows) {
+ do {
+ GtkWidget *widget = GTK_WIDGET(gCurrentPopupWindows->data);
+ if (widget == parentWidget) {
+ break;
+ }
+ nsWindow* window = get_window_for_gtk_widget(widget);
+ NS_ASSERTION(window, "Unknown window in popup widget list!");
+ window->CloseToplevelWaylandWindow();
+
+ } while (gCurrentPopupWindows != nullptr);
+ }
+ gCurrentPopupWindows = g_list_prepend(gCurrentPopupWindows, mShell);
+ }
+
+ gtk_widget_show(mShell);
+}
+
+void nsWindow::CloseToplevelWaylandWindow() {
+ if (mContainer && moz_container_has_wl_egl_window(mContainer)) {
+ // Because wl_egl_window is destroyed on moz_container_unmap(),
+ // the current compositor cannot use it anymore. To avoid crash,
+ // destroy the compositor & recreate a new compositor on next
+ // expose event.
+ DestroyLayerManager();
+ }
+ if (mWindowType == eWindowType_popup) {
+ gCurrentPopupWindows = g_list_remove(gCurrentPopupWindows, mShell);
+ }
+ gtk_widget_hide(mShell);
+}
+#endif
+
void nsWindow::NativeShow(bool aAction) {
if (aAction) {
// unset our flag now that our window has been shown
@@ -3990,51 +4046,55 @@ void nsWindow::NativeShow(bool aAction)
SetUserTimeAndStartupIDForActivatedWindow(mShell);
}
- gtk_widget_show(mShell);
+#ifdef MOZ_WAYLAND
+ if (!mIsX11Display) {
+ OpenToplevelWaylandWindow();
+ } else
+#endif
+ {
+ gtk_widget_show(mShell);
+ }
} else if (mContainer) {
gtk_widget_show(GTK_WIDGET(mContainer));
} else if (mGdkWindow) {
gdk_window_show_unraised(mGdkWindow);
}
} else {
-#ifdef MOZ_WAYLAND
- if (mContainer && moz_container_has_wl_egl_window(mContainer)) {
- // Because wl_egl_window is destroyed on moz_container_unmap(),
- // the current compositor cannot use it anymore. To avoid crash,
- // destroy the compositor & recreate a new compositor on next
- // expose event.
- DestroyLayerManager();
- }
-#endif
-
if (mIsTopLevel) {
- // Workaround window freezes on GTK versions before 3.21.2 by
- // ensuring that configure events get dispatched to windows before
- // they are unmapped. See bug 1225044.
- if (gtk_check_version(3, 21, 2) != nullptr && mPendingConfigures > 0) {
- GtkAllocation allocation;
- gtk_widget_get_allocation(GTK_WIDGET(mShell), &allocation);
-
- GdkEventConfigure event;
- PodZero(&event);
- event.type = GDK_CONFIGURE;
- event.window = mGdkWindow;
- event.send_event = TRUE;
- event.x = allocation.x;
- event.y = allocation.y;
- event.width = allocation.width;
- event.height = allocation.height;
-
- auto shellClass = GTK_WIDGET_GET_CLASS(mShell);
- for (unsigned int i = 0; i < mPendingConfigures; i++) {
- Unused << shellClass->configure_event(mShell, &event);
+#ifdef MOZ_WAYLAND
+ if (!mIsX11Display) {
+ CloseToplevelWaylandWindow();
+ } else
+#endif
+ {
+ // Workaround window freezes on GTK versions before 3.21.2 by
+ // ensuring that configure events get dispatched to windows before
+ // they are unmapped. See bug 1225044.
+ if (gtk_check_version(3, 21, 2) != nullptr && mPendingConfigures > 0) {
+ GtkAllocation allocation;
+ gtk_widget_get_allocation(GTK_WIDGET(mShell), &allocation);
+
+ GdkEventConfigure event;
+ PodZero(&event);
+ event.type = GDK_CONFIGURE;
+ event.window = mGdkWindow;
+ event.send_event = TRUE;
+ event.x = allocation.x;
+ event.y = allocation.y;
+ event.width = allocation.width;
+ event.height = allocation.height;
+
+ auto shellClass = GTK_WIDGET_GET_CLASS(mShell);
+ for (unsigned int i = 0; i < mPendingConfigures; i++) {
+ Unused << shellClass->configure_event(mShell, &event);
+ }
+ mPendingConfigures = 0;
}
- mPendingConfigures = 0;
- }
- gtk_widget_hide(mShell);
+ gtk_widget_hide(mShell);
- ClearTransparencyBitmap(); // Release some resources
+ ClearTransparencyBitmap(); // Release some resources
+ }
} else if (mContainer) {
gtk_widget_hide(GTK_WIDGET(mContainer));
} else if (mGdkWindow) {
diff -up firefox-66.0.1/widget/gtk/nsWindow.h.mozilla-1539471 firefox-66.0.1/widget/gtk/nsWindow.h
--- firefox-66.0.1/widget/gtk/nsWindow.h.mozilla-1539471 2019-03-28 14:08:42.345128639 +0100
+++ firefox-66.0.1/widget/gtk/nsWindow.h 2019-03-28 14:08:42.355128607 +0100
@@ -603,6 +603,11 @@ class nsWindow final : public nsBaseWidg
void ForceTitlebarRedraw();
+#ifdef MOZ_WAYLAND
+ void OpenToplevelWaylandWindow();
+ void CloseToplevelWaylandWindow();
+#endif
+
/**
* |mIMContext| takes all IME related stuff.
*

View file

@ -1,156 +0,0 @@
diff -up firefox-67.0/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.mozilla-1540145 firefox-67.0/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- firefox-67.0/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.mozilla-1540145 2019-05-14 01:08:35.000000000 +0200
+++ firefox-67.0/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 2019-05-15 15:20:13.365502186 +0200
@@ -34,16 +34,10 @@ class nsUnixSystemProxySettings final :
private:
~nsUnixSystemProxySettings() = default;
- nsCOMPtr<nsIGConfService> mGConf;
- nsCOMPtr<nsIGSettingsService> mGSettings;
+ nsCOMPtr<nsIGSettingsService> mGSettings;
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection>
mSchemeProxySettings;
- bool IsProxyMode(const char* aMode);
- nsresult SetProxyResultFromGConf(const char* aKeyBase, const char* aType,
- nsACString& aResult);
- nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost,
- int32_t aPort, nsACString& aResult);
nsresult GetProxyFromGSettings(const nsACString& aScheme,
const nsACString& aHost, int32_t aPort,
nsACString& aResult);
@@ -68,16 +62,6 @@ void nsUnixSystemProxySettings::Init() {
NS_LITERAL_CSTRING("org.gnome.system.proxy"),
getter_AddRefs(mProxySettings));
}
- if (!mProxySettings) {
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
- }
-}
-
-bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) {
- nsAutoCString mode;
- return NS_SUCCEEDED(mGConf->GetString(
- NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
- mode.EqualsASCII(aMode);
}
nsresult nsUnixSystemProxySettings::GetPACURI(nsACString& aResult) {
@@ -92,14 +76,8 @@ nsresult nsUnixSystemProxySettings::GetP
}
/* The org.gnome.system.proxy schema has been found, but auto mode is not
* set. Don't try the GConf and return empty string. */
- aResult.Truncate();
- return NS_OK;
}
- if (mGConf && IsProxyMode("auto")) {
- return mGConf->GetString(NS_LITERAL_CSTRING("/system/proxy/autoconfig_url"),
- aResult);
- }
// Return an empty string when auto mode is not set.
aResult.Truncate();
return NS_OK;
@@ -217,30 +195,6 @@ static nsresult GetProxyFromEnvironment(
return NS_OK;
}
-nsresult nsUnixSystemProxySettings::SetProxyResultFromGConf(
- const char* aKeyBase, const char* aType, nsACString& aResult) {
- nsAutoCString hostKey;
- hostKey.AppendASCII(aKeyBase);
- hostKey.AppendLiteral("host");
- nsAutoCString host;
- nsresult rv = mGConf->GetString(hostKey, host);
- NS_ENSURE_SUCCESS(rv, rv);
- if (host.IsEmpty()) return NS_ERROR_FAILURE;
-
- nsAutoCString portKey;
- portKey.AppendASCII(aKeyBase);
- portKey.AppendLiteral("port");
- int32_t port;
- rv = mGConf->GetInt(portKey, &port);
- NS_ENSURE_SUCCESS(rv, rv);
-
- /* When port is 0, proxy is not considered as enabled even if host is set. */
- if (port == 0) return NS_ERROR_FAILURE;
-
- SetProxyResult(aType, host, port, aResult);
- return NS_OK;
-}
-
nsresult nsUnixSystemProxySettings::SetProxyResultFromGSettings(
const char* aKeyBase, const char* aType, nsACString& aResult) {
nsDependentCString key(aKeyBase);
@@ -366,63 +320,6 @@ static bool HostIgnoredByProxy(const nsA
return memcmp(&ignoreAddr, &hostAddr, sizeof(PRIPv6Addr)) == 0;
}
-nsresult nsUnixSystemProxySettings::GetProxyFromGConf(const nsACString& aScheme,
- const nsACString& aHost,
- int32_t aPort,
- nsACString& aResult) {
- bool masterProxySwitch = false;
- mGConf->GetBool(NS_LITERAL_CSTRING("/system/http_proxy/use_http_proxy"),
- &masterProxySwitch);
- // if no proxy is set in GConf return NS_ERROR_FAILURE
- if (!(IsProxyMode("manual") || masterProxySwitch)) {
- return NS_ERROR_FAILURE;
- }
-
- nsCOMPtr<nsIArray> ignoreList;
- if (NS_SUCCEEDED(mGConf->GetStringList(
- NS_LITERAL_CSTRING("/system/http_proxy/ignore_hosts"),
- getter_AddRefs(ignoreList))) &&
- ignoreList) {
- uint32_t len = 0;
- ignoreList->GetLength(&len);
- for (uint32_t i = 0; i < len; ++i) {
- nsCOMPtr<nsISupportsString> str = do_QueryElementAt(ignoreList, i);
- if (str) {
- nsAutoString s;
- if (NS_SUCCEEDED(str->GetData(s)) && !s.IsEmpty()) {
- if (HostIgnoredByProxy(NS_ConvertUTF16toUTF8(s), aHost)) {
- aResult.AppendLiteral("DIRECT");
- return NS_OK;
- }
- }
- }
- }
- }
-
- bool useHttpProxyForAll = false;
- // This setting sometimes doesn't exist, don't bail on failure
- mGConf->GetBool(NS_LITERAL_CSTRING("/system/http_proxy/use_same_proxy"),
- &useHttpProxyForAll);
-
- nsresult rv;
- if (!useHttpProxyForAll) {
- rv = SetProxyResultFromGConf("/system/proxy/socks_", "SOCKS", aResult);
- if (NS_SUCCEEDED(rv)) return rv;
- }
-
- if (aScheme.LowerCaseEqualsLiteral("http") || useHttpProxyForAll) {
- rv = SetProxyResultFromGConf("/system/http_proxy/", "PROXY", aResult);
- } else if (aScheme.LowerCaseEqualsLiteral("https")) {
- rv = SetProxyResultFromGConf("/system/proxy/secure_", "PROXY", aResult);
- } else if (aScheme.LowerCaseEqualsLiteral("ftp")) {
- rv = SetProxyResultFromGConf("/system/proxy/ftp_", "PROXY", aResult);
- } else {
- rv = NS_ERROR_FAILURE;
- }
-
- return rv;
-}
-
nsresult nsUnixSystemProxySettings::GetProxyFromGSettings(
const nsACString& aScheme, const nsACString& aHost, int32_t aPort,
nsACString& aResult) {
@@ -494,7 +391,6 @@ nsresult nsUnixSystemProxySettings::GetP
nsresult rv = GetProxyFromGSettings(aScheme, aHost, aPort, aResult);
if (NS_SUCCEEDED(rv)) return rv;
}
- if (mGConf) return GetProxyFromGConf(aScheme, aHost, aPort, aResult);
return GetProxyFromEnvironment(aScheme, aHost, aPort, aResult);
}

File diff suppressed because it is too large Load diff

550
mozilla-1667096.patch Normal file
View file

@ -0,0 +1,550 @@
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
@@ -11,6 +11,9 @@ static const FFCodec * const codec_list[
#if CONFIG_MP3_DECODER
&ff_mp3_decoder,
#endif
+#ifdef CONFIG_LIBFDK_AAC
+ &ff_libfdk_aac_decoder,
+#endif
#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 @@
+/*
+ * AAC decoder wrapper
+ * Copyright (c) 2012 Martin Storsjo
+ *
+ * This file is part of FFmpeg.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <fdk-aac/aacdecoder_lib.h>
+
+#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"
+
+#ifdef AACDECODER_LIB_VL0
+#define FDKDEC_VER_AT_LEAST(vl0, vl1) \
+ ((AACDECODER_LIB_VL0 > vl0) || \
+ (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1))
+#else
+#define FDKDEC_VER_AT_LEAST(vl0, vl1) 0
+#endif
+
+#if !FDKDEC_VER_AT_LEAST(2, 5) // < 2.5.10
+#define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS
+#endif
+
+enum ConcealMethod {
+ CONCEAL_METHOD_SPECTRAL_MUTING = 0,
+ CONCEAL_METHOD_NOISE_SUBSTITUTION = 1,
+ CONCEAL_METHOD_ENERGY_INTERPOLATION = 2,
+ CONCEAL_METHOD_NB,
+};
+
+typedef struct FDKAACDecContext {
+ const AVClass *class;
+ HANDLE_AACDECODER handle;
+ uint8_t *decoder_buffer;
+ int decoder_buffer_size;
+ uint8_t *anc_buffer;
+ int conceal_method;
+ int drc_level;
+ int drc_boost;
+ int drc_heavy;
+ int drc_effect;
+ int drc_cut;
+ int album_mode;
+ int level_limit;
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
+ int output_delay_set;
+ int flush_samples;
+ int delay_samples;
+#endif
+ AVChannelLayout downmix_layout;
+} FDKAACDecContext;
+
+
+#define DMX_ANC_BUFFSIZE 128
+#define DECODER_MAX_CHANNELS 8
+#define DECODER_BUFFSIZE 2048 * sizeof(INT_PCM)
+
+#define OFFSET(x) offsetof(FDKAACDecContext, x)
+#define AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM
+static const AVOption fdk_aac_dec_options[] = {
+ { "conceal", "Error concealment method", OFFSET(conceal_method), AV_OPT_TYPE_INT, { .i64 = CONCEAL_METHOD_NOISE_SUBSTITUTION }, CONCEAL_METHOD_SPECTRAL_MUTING, CONCEAL_METHOD_NB - 1, AD, "conceal" },
+ { "spectral", "Spectral muting", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_SPECTRAL_MUTING }, INT_MIN, INT_MAX, AD, "conceal" },
+ { "noise", "Noise Substitution", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_NOISE_SUBSTITUTION }, INT_MIN, INT_MAX, AD, "conceal" },
+ { "energy", "Energy Interpolation", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_ENERGY_INTERPOLATION }, INT_MIN, INT_MAX, AD, "conceal" },
+ { "drc_boost", "Dynamic Range Control: boost, where [0] is none and [127] is max boost",
+ OFFSET(drc_boost), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL },
+ { "drc_cut", "Dynamic Range Control: attenuation factor, where [0] is none and [127] is max compression",
+ OFFSET(drc_cut), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL },
+ { "drc_level", "Dynamic Range Control: reference level, quantized to 0.25dB steps where [0] is 0dB and [127] is -31.75dB, -1 for auto, and -2 for disabled",
+ OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -2, 127, AD, NULL },
+ { "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off",
+ OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL },
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
+ { "level_limit", "Signal level limiting",
+ OFFSET(level_limit), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, AD },
+#endif
+#if FDKDEC_VER_AT_LEAST(3, 0) // 3.0.0
+ { "drc_effect","Dynamic Range Control: effect type, where e.g. [0] is none and [6] is general",
+ OFFSET(drc_effect), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 8, AD, NULL },
+#endif
+#if FDKDEC_VER_AT_LEAST(3, 1) // 3.1.0
+ { "album_mode","Dynamic Range Control: album mode, where [0] is off and [1] is on",
+ OFFSET(album_mode), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL },
+#endif
+ { "downmix", "Request a specific channel layout from the decoder", OFFSET(downmix_layout), AV_OPT_TYPE_CHLAYOUT, {.str = NULL}, .flags = AD },
+ { NULL }
+};
+
+static const AVClass fdk_aac_dec_class = {
+ .class_name = "libfdk-aac decoder",
+ .item_name = av_default_item_name,
+ .option = fdk_aac_dec_options,
+ .version = LIBAVUTIL_VERSION_INT,
+};
+
+static int get_stream_info(AVCodecContext *avctx)
+{
+ FDKAACDecContext *s = avctx->priv_data;
+ CStreamInfo *info = aacDecoder_GetStreamInfo(s->handle);
+ int channel_counts[0x24] = { 0 };
+ int i, ch_error = 0;
+ uint64_t ch_layout = 0;
+
+ if (!info) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to get stream info\n");
+ return AVERROR_UNKNOWN;
+ }
+
+ if (info->sampleRate <= 0) {
+ av_log(avctx, AV_LOG_ERROR, "Stream info not initialized\n");
+ return AVERROR_UNKNOWN;
+ }
+ avctx->sample_rate = info->sampleRate;
+ avctx->frame_size = info->frameSize;
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
+ if (!s->output_delay_set && info->outputDelay) {
+ // Set this only once.
+ s->flush_samples = info->outputDelay;
+ s->delay_samples = info->outputDelay;
+ s->output_delay_set = 1;
+ }
+#endif
+
+ for (i = 0; i < info->numChannels; i++) {
+ AUDIO_CHANNEL_TYPE ctype = info->pChannelType[i];
+ if (ctype <= ACT_NONE || ctype >= FF_ARRAY_ELEMS(channel_counts)) {
+ av_log(avctx, AV_LOG_WARNING, "unknown channel type\n");
+ break;
+ }
+ channel_counts[ctype]++;
+ }
+ av_log(avctx, AV_LOG_DEBUG,
+ "%d channels - front:%d side:%d back:%d lfe:%d top:%d\n",
+ info->numChannels,
+ channel_counts[ACT_FRONT], channel_counts[ACT_SIDE],
+ channel_counts[ACT_BACK], channel_counts[ACT_LFE],
+ channel_counts[ACT_FRONT_TOP] + channel_counts[ACT_SIDE_TOP] +
+ channel_counts[ACT_BACK_TOP] + channel_counts[ACT_TOP]);
+
+ switch (channel_counts[ACT_FRONT]) {
+ case 4:
+ ch_layout |= AV_CH_LAYOUT_STEREO | AV_CH_FRONT_LEFT_OF_CENTER |
+ AV_CH_FRONT_RIGHT_OF_CENTER;
+ break;
+ case 3:
+ ch_layout |= AV_CH_LAYOUT_STEREO | AV_CH_FRONT_CENTER;
+ break;
+ case 2:
+ ch_layout |= AV_CH_LAYOUT_STEREO;
+ break;
+ case 1:
+ ch_layout |= AV_CH_FRONT_CENTER;
+ break;
+ default:
+ av_log(avctx, AV_LOG_WARNING,
+ "unsupported number of front channels: %d\n",
+ channel_counts[ACT_FRONT]);
+ ch_error = 1;
+ break;
+ }
+ if (channel_counts[ACT_SIDE] > 0) {
+ if (channel_counts[ACT_SIDE] == 2) {
+ ch_layout |= AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT;
+ } else {
+ av_log(avctx, AV_LOG_WARNING,
+ "unsupported number of side channels: %d\n",
+ channel_counts[ACT_SIDE]);
+ ch_error = 1;
+ }
+ }
+ if (channel_counts[ACT_BACK] > 0) {
+ switch (channel_counts[ACT_BACK]) {
+ case 3:
+ ch_layout |= AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT | AV_CH_BACK_CENTER;
+ break;
+ case 2:
+ ch_layout |= AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT;
+ break;
+ case 1:
+ ch_layout |= AV_CH_BACK_CENTER;
+ break;
+ default:
+ av_log(avctx, AV_LOG_WARNING,
+ "unsupported number of back channels: %d\n",
+ channel_counts[ACT_BACK]);
+ ch_error = 1;
+ break;
+ }
+ }
+ if (channel_counts[ACT_LFE] > 0) {
+ if (channel_counts[ACT_LFE] == 1) {
+ ch_layout |= AV_CH_LOW_FREQUENCY;
+ } else {
+ av_log(avctx, AV_LOG_WARNING,
+ "unsupported number of LFE channels: %d\n",
+ channel_counts[ACT_LFE]);
+ ch_error = 1;
+ }
+ }
+
+ av_channel_layout_uninit(&avctx->ch_layout);
+ av_channel_layout_from_mask(&avctx->ch_layout, ch_layout);
+ if (!ch_error && avctx->ch_layout.nb_channels != info->numChannels) {
+ av_log(avctx, AV_LOG_WARNING, "unsupported channel configuration\n");
+ ch_error = 1;
+ }
+ if (ch_error)
+ avctx->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC;
+
+ return 0;
+}
+
+static av_cold int fdk_aac_decode_close(AVCodecContext *avctx)
+{
+ FDKAACDecContext *s = avctx->priv_data;
+
+ if (s->handle)
+ aacDecoder_Close(s->handle);
+ av_freep(&s->decoder_buffer);
+ av_freep(&s->anc_buffer);
+
+ return 0;
+}
+
+static av_cold int fdk_aac_decode_init(AVCodecContext *avctx)
+{
+ FDKAACDecContext *s = avctx->priv_data;
+ AAC_DECODER_ERROR err;
+
+ s->handle = aacDecoder_Open(avctx->extradata_size ? TT_MP4_RAW : TT_MP4_ADTS, 1);
+ if (!s->handle) {
+ av_log(avctx, AV_LOG_ERROR, "Error opening decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+
+ if (avctx->extradata_size) {
+ if ((err = aacDecoder_ConfigRaw(s->handle, &avctx->extradata,
+ &avctx->extradata_size)) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set extradata\n");
+ return AVERROR_INVALIDDATA;
+ }
+ }
+
+ if ((err = aacDecoder_SetParam(s->handle, AAC_CONCEAL_METHOD,
+ s->conceal_method)) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set error concealment method\n");
+ return AVERROR_UNKNOWN;
+ }
+
+#if FF_API_OLD_CHANNEL_LAYOUT
+FF_DISABLE_DEPRECATION_WARNINGS
+ if (avctx->request_channel_layout) {
+ av_channel_layout_uninit(&s->downmix_layout);
+ av_channel_layout_from_mask(&s->downmix_layout, avctx->request_channel_layout);
+ }
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
+ if (s->downmix_layout.nb_channels > 0 &&
+ s->downmix_layout.order != AV_CHANNEL_ORDER_NATIVE) {
+ int downmix_channels = -1;
+
+ switch (s->downmix_layout.u.mask) {
+ case AV_CH_LAYOUT_STEREO:
+ case AV_CH_LAYOUT_STEREO_DOWNMIX:
+ downmix_channels = 2;
+ break;
+ case AV_CH_LAYOUT_MONO:
+ downmix_channels = 1;
+ break;
+ default:
+ av_log(avctx, AV_LOG_WARNING, "Invalid downmix option\n");
+ break;
+ }
+
+ if (downmix_channels != -1) {
+ if (aacDecoder_SetParam(s->handle, AAC_PCM_MAX_OUTPUT_CHANNELS,
+ downmix_channels) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_WARNING, "Unable to set output channels in the decoder\n");
+ } else {
+ s->anc_buffer = av_malloc(DMX_ANC_BUFFSIZE);
+ if (!s->anc_buffer) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to allocate ancillary buffer for the decoder\n");
+ return AVERROR(ENOMEM);
+ }
+ if (aacDecoder_AncDataInit(s->handle, s->anc_buffer, DMX_ANC_BUFFSIZE)) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to register downmix ancillary buffer in the decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+ }
+ }
+ }
+
+ if (s->drc_boost != -1) {
+ if (aacDecoder_SetParam(s->handle, AAC_DRC_BOOST_FACTOR, s->drc_boost) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC boost factor in the decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+ }
+
+ if (s->drc_cut != -1) {
+ if (aacDecoder_SetParam(s->handle, AAC_DRC_ATTENUATION_FACTOR, s->drc_cut) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC attenuation factor in the decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+ }
+
+ if (s->drc_level != -1) {
+ // This option defaults to -1, i.e. not calling
+ // aacDecoder_SetParam(AAC_DRC_REFERENCE_LEVEL) at all, which defaults
+ // to the level from DRC metadata, if available. The user can set
+ // -drc_level -2, which calls aacDecoder_SetParam(
+ // AAC_DRC_REFERENCE_LEVEL) with a negative value, which then
+ // explicitly disables the feature.
+ if (aacDecoder_SetParam(s->handle, AAC_DRC_REFERENCE_LEVEL, s->drc_level) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC reference level in the decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+ }
+
+ if (s->drc_heavy != -1) {
+ if (aacDecoder_SetParam(s->handle, AAC_DRC_HEAVY_COMPRESSION, s->drc_heavy) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC heavy compression in the decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+ }
+
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
+ // Setting this parameter to -1 enables the auto behaviour in the library.
+ if (aacDecoder_SetParam(s->handle, AAC_PCM_LIMITER_ENABLE, s->level_limit) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set in signal level limiting in the decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+#endif
+
+#if FDKDEC_VER_AT_LEAST(3, 0) // 3.0.0
+ if (s->drc_effect != -1) {
+ if (aacDecoder_SetParam(s->handle, AAC_UNIDRC_SET_EFFECT, s->drc_effect) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC effect type in the decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+ }
+#endif
+
+#if FDKDEC_VER_AT_LEAST(3, 1) // 3.1.0
+ if (s->album_mode != -1) {
+ if (aacDecoder_SetParam(s->handle, AAC_UNIDRC_ALBUM_MODE, s->album_mode) != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "Unable to set album mode in the decoder\n");
+ return AVERROR_UNKNOWN;
+ }
+ }
+#endif
+
+ avctx->sample_fmt = AV_SAMPLE_FMT_S16;
+
+ s->decoder_buffer_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS;
+ s->decoder_buffer = av_malloc(s->decoder_buffer_size);
+ if (!s->decoder_buffer)
+ return AVERROR(ENOMEM);
+
+ return 0;
+}
+
+static int fdk_aac_decode_frame(AVCodecContext *avctx, AVFrame *frame,
+ int *got_frame_ptr, AVPacket *avpkt)
+{
+ FDKAACDecContext *s = avctx->priv_data;
+ int ret;
+ AAC_DECODER_ERROR err;
+ UINT valid = avpkt->size;
+ UINT flags = 0;
+ int input_offset = 0;
+
+ if (avpkt->size) {
+ err = aacDecoder_Fill(s->handle, &avpkt->data, &avpkt->size, &valid);
+ if (err != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR, "aacDecoder_Fill() failed: %x\n", err);
+ return AVERROR_INVALIDDATA;
+ }
+ } else {
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
+ /* Handle decoder draining */
+ if (s->flush_samples > 0) {
+ flags |= AACDEC_FLUSH;
+ } else {
+ return AVERROR_EOF;
+ }
+#else
+ return AVERROR_EOF;
+#endif
+ }
+
+ err = aacDecoder_DecodeFrame(s->handle, (INT_PCM *) s->decoder_buffer,
+ s->decoder_buffer_size / sizeof(INT_PCM),
+ flags);
+ if (err == AAC_DEC_NOT_ENOUGH_BITS) {
+ ret = avpkt->size - valid;
+ goto end;
+ }
+ if (err != AAC_DEC_OK) {
+ av_log(avctx, AV_LOG_ERROR,
+ "aacDecoder_DecodeFrame() failed: %x\n", err);
+ ret = AVERROR_UNKNOWN;
+ goto end;
+ }
+
+ if ((ret = get_stream_info(avctx)) < 0)
+ goto end;
+ frame->nb_samples = avctx->frame_size;
+
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
+ if (flags & AACDEC_FLUSH) {
+ // Only return the right amount of samples at the end; if calling the
+ // decoder with AACDEC_FLUSH, it will keep returning frames indefinitely.
+ frame->nb_samples = FFMIN(s->flush_samples, frame->nb_samples);
+ av_log(s, AV_LOG_DEBUG, "Returning %d/%d delayed samples.\n",
+ frame->nb_samples, s->flush_samples);
+ s->flush_samples -= frame->nb_samples;
+ } else {
+ // Trim off samples from the start to compensate for extra decoder
+ // delay. We could also just adjust the pts, but this avoids
+ // including the extra samples in the output altogether.
+ if (s->delay_samples) {
+ int drop_samples = FFMIN(s->delay_samples, frame->nb_samples);
+ av_log(s, AV_LOG_DEBUG, "Dropping %d/%d delayed samples.\n",
+ drop_samples, s->delay_samples);
+ s->delay_samples -= drop_samples;
+ frame->nb_samples -= drop_samples;
+ input_offset = drop_samples * avctx->ch_layout.nb_channels;
+ if (frame->nb_samples <= 0)
+ return 0;
+ }
+ }
+#endif
+
+ if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
+ goto end;
+
+ memcpy(frame->extended_data[0], s->decoder_buffer + input_offset,
+ avctx->ch_layout.nb_channels * frame->nb_samples *
+ av_get_bytes_per_sample(avctx->sample_fmt));
+
+ *got_frame_ptr = 1;
+ ret = avpkt->size - valid;
+
+end:
+ return ret;
+}
+
+static av_cold void fdk_aac_decode_flush(AVCodecContext *avctx)
+{
+ FDKAACDecContext *s = avctx->priv_data;
+ AAC_DECODER_ERROR err;
+
+ if (!s->handle)
+ return;
+
+ if ((err = aacDecoder_SetParam(s->handle,
+ AAC_TPDEC_CLEAR_BUFFER, 1)) != AAC_DEC_OK)
+ av_log(avctx, AV_LOG_WARNING, "failed to clear buffer when flushing\n");
+}
+
+const FFCodec ff_libfdk_aac_decoder = {
+ .p.name = "libfdk_aac",
+ CODEC_LONG_NAME("Fraunhofer FDK AAC"),
+ .p.type = AVMEDIA_TYPE_AUDIO,
+ .p.id = AV_CODEC_ID_AAC,
+ .priv_data_size = sizeof(FDKAACDecContext),
+ .init = fdk_aac_decode_init,
+ FF_CODEC_DECODE_CB(fdk_aac_decode_frame),
+ .close = fdk_aac_decode_close,
+ .flush = fdk_aac_decode_flush,
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
+ | AV_CODEC_CAP_DELAY
+#endif
+ ,
+ .p.priv_class = &fdk_aac_dec_class,
+ .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:
CXXFLAGS += CONFIG["MOZ_LIBVPX_CFLAGS"]
OS_LIBS += CONFIG["MOZ_LIBVPX_LIBS"]
+if CONFIG['MOZ_FDK_AAC']:
+ SOURCES += [
+ 'libfdk-aacdec.c',
+ ]
+ OS_LIBS += CONFIG['MOZ_FDK_AAC_LIBS']
+
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):
set_config("MOZ_SYSTEM_PNG", True, when="--with-system-png")
+# FDK AAC support
+# ==============================================================
+option('--with-system-fdk-aac',
+ help='Use system libfdk-aac (located with pkgconfig)')
+
+system_fdk_aac = pkg_check_modules('MOZ_FDK_AAC', 'fdk-aac',
+ when='--with-system-fdk-aac')
+
+set_config('MOZ_FDK_AAC', depends(when=system_fdk_aac)(lambda: True))
# FFmpeg's ffvpx configuration
# ==============================================================

View file

@ -1,111 +0,0 @@
diff -up firefox-56.0/modules/libpref/prefapi.cpp.440908 firefox-56.0/modules/libpref/prefapi.cpp
--- firefox-56.0/modules/libpref/prefapi.cpp.440908 2017-09-14 22:15:52.000000000 +0200
+++ firefox-56.0/modules/libpref/prefapi.cpp 2017-09-25 10:39:39.266572792 +0200
@@ -1036,8 +1036,8 @@ void PREF_ReaderCallback(void *clo
PrefValue value,
PrefType type,
bool isDefault,
- bool isStickyDefault)
-
+ bool isStickyDefault,
+ bool isLocked)
{
uint32_t flags = 0;
if (isDefault) {
@@ -1049,4 +1049,6 @@ void PREF_ReaderCallback(void *clo
flags |= kPrefForceSet;
}
pref_HashPref(pref, value, type, flags);
+ if (isLocked)
+ PREF_LockPref(pref, true);
}
diff -up firefox-56.0/modules/libpref/prefapi.h.440908 firefox-56.0/modules/libpref/prefapi.h
--- firefox-56.0/modules/libpref/prefapi.h.440908 2017-07-31 18:20:51.000000000 +0200
+++ firefox-56.0/modules/libpref/prefapi.h 2017-09-25 10:39:39.267572789 +0200
@@ -246,8 +246,8 @@ void PREF_ReaderCallback( void *closure,
PrefValue value,
PrefType type,
bool isDefault,
- bool isStickyDefault);
-
+ bool isStickyDefault,
+ bool isLocked);
/*
* Callback whenever we change a preference
diff -up firefox-56.0/modules/libpref/prefread.cpp.440908 firefox-56.0/modules/libpref/prefread.cpp
--- firefox-56.0/modules/libpref/prefread.cpp.440908 2017-09-14 22:15:52.000000000 +0200
+++ firefox-56.0/modules/libpref/prefread.cpp 2017-09-25 10:39:39.267572789 +0200
@@ -43,6 +43,7 @@ enum {
#define BITS_PER_HEX_DIGIT 4
static const char kUserPref[] = "user_pref";
+static const char kLockPref[] = "lockPref";
static const char kPref[] = "pref";
static const char kPrefSticky[] = "sticky_pref";
static const char kTrue[] = "true";
@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
break;
}
(*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
- ps->fstickydefault);
+ ps->fstickydefault, ps->flock);
return true;
}
@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
ps->vtype = PrefType::Invalid;
ps->fdefault = false;
ps->fstickydefault = false;
+ ps->flock = false;
}
switch (c) {
case '/': /* begin comment block or line? */
@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
break;
case 'u': /* indicating user_pref */
case 's': /* indicating sticky_pref */
+ case 'l': /* indicating lockPref */
case 'p': /* indicating pref */
if (c == 'u') {
ps->smatch = kUserPref;
} else if (c == 's') {
ps->smatch = kPrefSticky;
+ } else if (c == 'l') {
+ ps->smatch = kLockPref;
} else {
ps->smatch = kPref;
}
@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
/* name parsing */
case PREF_PARSE_UNTIL_NAME:
if (c == '\"' || c == '\'') {
- ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky);
+ ps->fdefault = (ps->smatch == kPref || ps->smatch == kPrefSticky
+ || ps->smatch == kLockPref);
ps->fstickydefault = (ps->smatch == kPrefSticky);
+ ps->flock = (ps->smatch == kLockPref);
ps->quotechar = c;
ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
state = PREF_PARSE_QUOTED_STRING;
diff -up firefox-56.0/modules/libpref/prefread.h.440908 firefox-56.0/modules/libpref/prefread.h
--- firefox-56.0/modules/libpref/prefread.h.440908 2017-09-14 22:15:52.000000000 +0200
+++ firefox-56.0/modules/libpref/prefread.h 2017-09-25 10:39:39.267572789 +0200
@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
PrefValue val,
PrefType type,
bool defPref,
- bool stickyPref);
+ bool stickyPref,
+ bool lockPref);
/**
* Report any errors or warnings we encounter during parsing.
@@ -62,6 +63,7 @@ typedef struct PrefParseState {
PrefType vtype; /* PREF_STRING,INT,BOOL */
bool fdefault; /* true if (default) pref */
bool fstickydefault; /* true if (sticky) pref */
+ bool flock; /* true if pref to be locked */
} PrefParseState;
/**

View file

@ -1,14 +0,0 @@
diff -up firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h
--- firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm 2017-03-03 13:53:52.480754536 +0100
+++ firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h 2017-03-03 13:56:01.476018102 +0100
@@ -203,6 +203,10 @@
#define SK_ARM_HAS_CRC32
#endif
+#if defined(__aarch64__)
+ #undef SK_ARM_HAS_NEON
+#endif
+
//////////////////////////////////////////////////////////////////////
#if !defined(SKIA_IMPLEMENTATION)

View file

@ -0,0 +1,2 @@
#!/bin/sh
exec /usr/bin/node "$@" 2>&1 | cat -

View file

@ -0,0 +1,3 @@
[D-BUS Service]
Name=org.mozilla.firefox.SearchProvider
Exec=/usr/lib64/firefox/firefox --dbus-service /usr/bin/firefox

View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2019 Firefox contributors -->
<component type="desktop-application">
<id>org.mozilla.firefox</id>
<metadata_license>CC0-1.0</metadata_license>
<name>Firefox</name>
<summary>Web Browser</summary>
<summary xml:lang="ca">Navegador web</summary>
<summary xml:lang="cs">Webový prohlížeč</summary>
<summary xml:lang="es">Navegador web</summary>
<summary xml:lang="fa">مرورگر اینترنتی</summary>
<summary xml:lang="fi">WWW-selain</summary>
<summary xml:lang="fr">Navigateur Web</summary>
<summary xml:lang="hu">Webböngésző</summary>
<summary xml:lang="it">Browser Web</summary>
<summary xml:lang="ja">ウェブ・ブラウザ</summary>
<summary xml:lang="ko">웹 브라우저</summary>
<summary xml:lang="nb">Nettleser</summary>
<summary xml:lang="nl">Webbrowser</summary>
<summary xml:lang="nn">Nettlesar</summary>
<summary xml:lang="no">Nettleser</summary>
<summary xml:lang="pl">Przeglądarka WWW</summary>
<summary xml:lang="pt">Navegador Web</summary>
<summary xml:lang="pt_BR">Navegador Web</summary>
<summary xml:lang="sk">Internetový prehliadač</summary>
<summary xml:lang="sv">Webbläsare</summary>
<description>
<p>
Bringing together all kinds of awesomeness to make browsing better for you.
Get to your favorite sites quickly even if you dont remember the URLs.
Type your term into the location bar (aka the Awesome Bar) and the autocomplete
function will include possible matches from your browsing history, bookmarked
sites and open tabs.
</p>
</description>
<url type="homepage">https://www.mozilla.org</url>
<update_contact>stransky@redhat.com</update_contact>
<kudos>
<kudo>ModernToolkit</kudo>
<kudo>SearchProvider</kudo>
</kudos>
<project_group>Mozilla</project_group>
<project_license>GPL-3.0+</project_license>
<developer_name>Mozilla Corporation</developer_name>
<url type="bugtracker">https://bugzilla.mozilla.org/</url>
<url type="help">https://support.mozilla.org/</url>
<translation type="gettext">firefox</translation>
<launchable type="desktop-id">org.mozilla.firefox.desktop</launchable>
<provides>
<id>firefox.desktop</id>
</provides>
<screenshots>
<screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png</screenshot>
<screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png</screenshot>
<screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png</screenshot>
</screenshots>
<content_rating type="oars-1.1"/>
<releases>
<release version="__VERSION__" date="__DATE__"/>
</releases>
</component>

276
org.mozilla.firefox.desktop Normal file
View file

@ -0,0 +1,276 @@
[Desktop Entry]
Version=1.0
Name=Firefox
GenericName=Web Browser
GenericName[ca]=Navegador web
GenericName[cs]=Webový prohlížeč
GenericName[es]=Navegador web
GenericName[fa]=مرورگر اینترنتی
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[hu]=Webböngésző
GenericName[it]=Browser Web
GenericName[ja]=
GenericName[ko]=
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
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
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;
[Desktop Action new-window]
Name=Open a New Window
Name[ach]=Dirica manyen
Name[af]=Nuwe venster
Name[an]=Nueva finestra
Name[ar]=نافذة جديدة
Name[as]=
Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn_BD]= (N)
Name[bn_IN]=
Name[br]=Prenestr nevez
Name[brx]= '(N)
Name[bs]=Novi prozor
Name[ca]=Finestra nova
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_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]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fy_NL]=Nij finster
Name[ga_IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu_IN]= િ
Name[he]=חלון חדש
Name[hi_IN]= ि
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
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[kk]=Жаңа терезе
Name[km]=
Name[kn]= ಿಿ
Name[ko]=
Name[kok]=
Name[ks]=نئئ وِنڈو
Name[lij]=Neuvo barcon
Name[lo]=
Name[lt]=Naujas langas
Name[ltg]=Jauns lūgs
Name[lv]=Jauns logs
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[or]= ି
Name[pa_IN]= ਿ
Name[pl]=Nowe okno
Name[pt_BR]=Nova janela
Name[pt_PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sat]= ि (N)
Name[si]=
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv_SE]=Nytt fönster
Name[ta]=ி
Name[te]= ి
Name[th]=
Name[tr]=Yeni pencere
Name[tsz]=Eraatarakua jimpani
Name[uk]=Нове вікно
Name[ur]=نیا دریچہ
Name[uz]=Yangi oyna
Name[vi]=Ca s mi
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=Open a New Private Window
Name[ach]=Dirica manyen me mung
Name[af]=Nuwe privaatvenster
Name[an]=Nueva finestra privada
Name[ar]=نافذة خاصة جديدة
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[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_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]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy_NL]=Nij priveefinster
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]= િ
Name[he]=חלון פרטי חדש
Name[hi_IN]= ि ि
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
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[kk]=Жаңа жекелік терезе
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[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[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]=Fereastră privată nouă
Name[ru]=Новое приватное окно
Name[sat]= ि ि (W )
Name[si]= (W)
Name[sk]=Nové okno v režime Súkromné prehliadanie
Name[sl]=Novo zasebno okno
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватан прозор
Name[sv_SE]=Nytt privat fönster
Name[ta]=ி ி
Name[te]= ి ి
Name[th]=
Name[tr]=Yeni gizli pencere
Name[tsz]=Juchiiti eraatarakua jimpani
Name[uk]=Приватне вікно
Name[ur]=نیا نجی دریچہ
Name[uz]=Yangi maxfiy oyna
Name[vi]=Ca s riêng tư mi
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=
Name[zh_TW]=
Exec=firefox --private-window %u
[Desktop Action profile-manager-window]
Name=Open the Profile Manager
Name[cs]=Správa profilů
Name[de]=Profilverwaltung öffnen
Name[fr]=Ouvrir le gestionnaire de profils
Exec=firefox --ProfileManager

View file

@ -0,0 +1,5 @@
[Shell Search Provider]
DesktopId=org.mozilla.firefox.desktop
BusName=org.mozilla.firefox.SearchProvider
ObjectPath=/org/mozilla/firefox/SearchProvider
Version=2

149
pgo.patch
View file

@ -1,29 +1,128 @@
diff -up firefox-64.0/build/unix/mozconfig.unix.pgo firefox-64.0/build/unix/mozconfig.unix
--- firefox-64.0/build/unix/mozconfig.unix.pgo 2019-01-03 15:23:16.792980384 +0100
+++ firefox-64.0/build/unix/mozconfig.unix 2019-01-03 15:24:29.978693550 +0100
@@ -6,6 +6,15 @@ if [ -n "$FORCE_GCC" ]; then
CC="$TOOLTOOL_DIR/gcc/bin/gcc"
CXX="$TOOLTOOL_DIR/gcc/bin/g++"
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
+ if [ -n "$MOZ_PGO" ]; then
+ if [ -z "$USE_ARTIFACT" ]; then
+ ac_add_options --enable-lto
+ fi
+ export AR="$topsrcdir/gcc/bin/gcc-ar"
+ export NM="$topsrcdir/gcc/bin/gcc-nm"
+ export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
+ fi
@depends(
"--enable-profile-use",
+ c_compiler,
pgo_profile_path,
llvm_profdata,
llvm_profdata_order,
build_environment,
)
-def orderfile_path(profile_use, path, profdata, profdata_order, build_env):
+def orderfile_path(profile_use, compiler, path, profdata, profdata_order, build_env):
+ if compiler.type == "gcc":
+ return None
+
# We want to make sure we use binutils and other binaries in the tooltool
# package.
mk_add_options "export PATH=$TOOLTOOL_DIR/gcc/bin:$PATH"
diff -up firefox-64.0/extensions/spellcheck/src/moz.build.pgo firefox-64.0/extensions/spellcheck/src/moz.build
--- firefox-64.0/extensions/spellcheck/src/moz.build.pgo 2018-12-07 03:56:27.000000000 +0100
+++ firefox-64.0/extensions/spellcheck/src/moz.build 2019-01-03 15:21:32.793385074 +0100
@@ -28,3 +28,5 @@ EXPORTS.mozilla += [
if not profile_use:
return None
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']
@@ -145,7 +149,7 @@ def pgo_flags(
return namespace(
gen_cflags=["-fprofile-generate"],
gen_ldflags=["-fprofile-generate"],
- use_cflags=["-fprofile-use", "-fprofile-correction", "-Wcoverage-mismatch"],
+ use_cflags=["-fprofile-use", "-fprofile-correction", "-Wno-coverage-mismatch"],
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
import sys
import mozcrash
-from mozbuild.base import BinaryNotFoundException, MozbuildObject
+from mozbuild.base import BinaryNotFoundException, MozbuildObject, BuildEnvironmentNotFoundException
from mozfile import TemporaryDirectory, json
from mozhttpd import MozHttpd
from mozprofile import FirefoxProfile, Preferences
@@ -96,9 +96,22 @@ if __name__ == "__main__":
locations = ServerLocations()
locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
- old_profraw_files = glob.glob("*.profraw")
- for f in old_profraw_files:
- os.remove(f)
+ using_gcc = False
+ try:
+ if build.config_environment.substs.get('CC_TYPE') == 'gcc':
+ using_gcc = True
+ except BuildEnvironmentNotFoundException:
+ pass
+
+CXXFLAGS += ['-fno-devirtualize']
\ No newline at end of file
+ if using_gcc:
+ for dirpath, _, filenames in os.walk('.'):
+ for f in filenames:
+ if f.endswith('.gcda'):
+ os.remove(os.path.join(dirpath, f))
+ else:
+ old_profraw_files = glob.glob('*.profraw')
+ for f in old_profraw_files:
+ os.remove(f)
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
# The file uses SSE2 intrinsics, so it needs special compile flags on some
# compilers.
- SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2"]
+ SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
SOURCES["ConvolutionFilterSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
SOURCES["FilterProcessingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
SOURCES["ImageScalingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
- SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2"]
+ SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
SOURCES["SwizzleSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
SOURCES["SwizzleSSSE3.cpp"].flags += CONFIG["SSSE3_FLAGS"]
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
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() {
}
#endif
+ // Disable watchdog for PGO train builds - writting profile information at
+ // exit may take time and it is better to make build hang rather than
+ // silently produce poorly performing binary.
+ crashAfterMS = INT32_MAX;
+
UniquePtr<Options> options(new Options());
// crashAfterTicks is guaranteed to be > 0 as
// crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >> HEARTBEAT_INTERVAL_MS

13
print-error-reftest Executable file
View file

@ -0,0 +1,13 @@
#!/usr/bin/bash
# Print reftest failures and compose them to html
TEST_DIR="$1"
TEST_FLAVOUR="$2"
OUTPUT_FILE="failures-reftest$TEST_FLAVOUR.html"
grep --text -e "REFTEST TEST-UNEXPECTED-PASS" -e "REFTEST TEST-UNEXPECTED-FAIL" -e "IMAGE 1 (TEST):" -e "IMAGE 2 (REFERENCE):" $TEST_DIR/reftest$TEST_FLAVOUR 2>&1 > $OUTPUT_FILE
sed -i '/REFTEST IMAGE 1/a ">' $OUTPUT_FILE
sed -i '/REFTEST IMAGE 2/a "><BR><BR>' $OUTPUT_FILE
sed -i '/REFTEST TEST/a <BR>' $OUTPUT_FILE
sed -i -e 's/^REFTEST IMAGE 1 (TEST): /<img border=2 src="/' $OUTPUT_FILE
sed -i -e 's/^REFTEST IMAGE 2 (REFERENCE): /<img border=2 src="/' $OUTPUT_FILE

9
print-errors Executable file
View file

@ -0,0 +1,9 @@
#!/usr/bin/bash
# Print failed tests
TEST_DIR=$1
TEST_FLAVOUR=$2
grep "TEST-UNEXPECTED-FAIL" $TEST_DIR/mochitest$TEST_FLAVOUR 2>&1 > failures-mochitest$TEST_FLAVOUR.txt
grep --text -e " FAIL " -e " TIMEOUT " $TEST_DIR/xpcshell$TEST_FLAVOUR 2>&1 > failures-xpcshell$TEST_FLAVOUR.txt
grep --text -e "REFTEST TEST-UNEXPECTED-PASS" -e "REFTEST TEST-UNEXPECTED-FAIL" $TEST_DIR/reftest$TEST_FLAVOUR 2>&1 > failures-reftest$TEST_FLAVOUR.txt

9
print_failures Executable file
View file

@ -0,0 +1,9 @@
#!/usr/bin/bash
# Analyze and print test failures
export TEST_DIR="test_results"
#./print-errors $TEST_DIR ""
./print-errors $TEST_DIR "-wr"
#./print-error-reftest $TEST_DIR ""
./print-error-reftest $TEST_DIR "-wr"

10
print_results Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/bash
# Analyze and print general test results
export TEST_DIR="test_results"
echo "Test results"
#echo "Basic compositor"
#./psummary $TEST_DIR ""
echo "WebRender"
./psummary $TEST_DIR "-wr"

23
psummary Executable file
View file

@ -0,0 +1,23 @@
#!/usr/bin/bash
# Analyze and print specialized (basic/webrender) test results
TEST_DIR=$1
TEST_FLAVOUR=$2
MPASS=`grep "TEST_END: Test OK" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l`
MERR=`grep "TEST_END: Test ERROR" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l`
MUNEX=`grep "TEST-UNEXPECTED-FAIL" $TEST_DIR/mochitest$TEST_FLAVOUR | wc -l`
echo "Mochitest PASSED: $MPASS FAILED: $MERR UNEXPECTED-FAILURES: $MUNEX"
XPCPASS=`grep --text "Expected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3`
XPCFAIL=`grep --text "Unexpected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3`
echo "XPCShell: PASSED: $XPCPASS FAILED: $XPCFAIL"
CRPASS=`grep "REFTEST INFO | Successful:" $TEST_DIR/crashtest$TEST_FLAVOUR | cut -d ' ' -f 5`
CRFAIL=`grep "^REFTEST INFO | Unexpected:" $TEST_DIR/crashtest$TEST_FLAVOUR | cut -d ' ' -f 5`
echo "Crashtest: PASSED: $CRPASS FAILED: $CRFAIL"
RFPASS=`grep --text "REFTEST INFO | Successful:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 5`
RFUN=`grep --text "^REFTEST INFO | Unexpected:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 5`
RFKNOWN=`grep --text "REFTEST INFO | Known problems:" $TEST_DIR/reftest$TEST_FLAVOUR | cut -d ' ' -f 6`
echo "Reftest: PASSED: $RFPASS FAILED: $RFUN Known issues: $RFKNOWN"

View file

@ -1,12 +1,12 @@
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;
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};
- const char* const args[] = {"ntlm_auth",
+ const char* const args[] = {"/usr/bin/ntlm_auth",
"--helper-protocol",
"ntlmssp-client-1",
"--use-cached-creds",

View file

@ -1,23 +0,0 @@
diff -up firefox-55.0/js/src/old-configure.in.rhbz-1219542-s390 firefox-55.0/js/src/old-configure.in
--- firefox-55.0/js/src/old-configure.in.rhbz-1219542-s390 2017-07-31 18:20:48.000000000 +0200
+++ firefox-55.0/js/src/old-configure.in 2017-08-02 14:31:32.190243669 +0200
@@ -541,7 +541,7 @@ case "$host" in
*-linux*|*-kfreebsd*-gnu|*-gnu*)
HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
- HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
+ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O1}"
;;
*)
@@ -617,8 +617,8 @@ case "$target" in
*-*linux*)
if test "$GNU_CC" -o "$GNU_CXX"; then
- MOZ_PGO_OPTIMIZE_FLAGS="-O3"
- MOZ_OPTIMIZE_FLAGS="-O3"
+ MOZ_PGO_OPTIMIZE_FLAGS="-O1"
+ MOZ_OPTIMIZE_FLAGS="-O1"
if test -z "$CLANG_CC"; then
MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
fi

View file

@ -1,12 +1,12 @@
diff -up firefox-65.0/layout/base/nsIPresShell.h.1354671 firefox-65.0/layout/base/nsIPresShell.h
--- firefox-65.0/layout/base/nsIPresShell.h.1354671 2019-01-29 11:50:08.516649643 +0100
+++ firefox-65.0/layout/base/nsIPresShell.h 2019-01-29 11:51:48.930258629 +0100
@@ -205,7 +205,7 @@ class nsIPresShell : public nsStubDocume
diff -up firefox-70.0/layout/base/PresShell.h.1354671 firefox-70.0/layout/base/PresShell.h
--- firefox-70.0/layout/base/PresShell.h.1354671 2019-10-22 12:33:12.987775587 +0200
+++ firefox-70.0/layout/base/PresShell.h 2019-10-22 12:36:39.999366086 +0200
@@ -257,7 +257,7 @@ class PresShell final : public nsStubDoc
* to the same aSize value. AllocateFrame is infallible and will abort
* on out-of-memory.
*/
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
+ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
void* result = mFrameArena.AllocateByFrameID(aID, aSize);
RecordAlloc(result);
return result;
#define FRAME_ID(classname, ...) \
static_assert(size_t(nsQueryFrame::FrameIID::classname##_id) == \
size_t(eArenaObjectID_##classname), \

View file

@ -1,72 +0,0 @@
diff --git a/security/certverifier/CertVerifier.cpp b/security/certverifier/CertVerifier.cpp
--- a/security/certverifier/CertVerifier.cpp
+++ b/security/certverifier/CertVerifier.cpp
@@ -120,16 +120,20 @@ IsCertChainRootBuiltInRoot(const UniqueC
}
CERTCertificate* root = rootNode->cert;
if (!root) {
return Result::FATAL_ERROR_LIBRARY_FAILURE;
}
return IsCertBuiltInRoot(root, result);
}
+// The term "builtin root" traditionally refers to a root CA certificate that
+// has been added to the NSS trust store, because it has been approved
+// for inclusion according to the Mozilla CA policy, and might be accepted
+// by Mozilla applications as an issuer for certificates seen on the public web.
Result
IsCertBuiltInRoot(CERTCertificate* cert, bool& result)
{
result = false;
#ifdef DEBUG
nsCOMPtr<nsINSSComponent> component(do_GetService(PSM_COMPONENT_CONTRACTID));
if (!component) {
return Result::FATAL_ERROR_LIBRARY_FAILURE;
@@ -142,25 +146,38 @@ IsCertBuiltInRoot(CERTCertificate* cert,
return Success;
}
#endif // DEBUG
AutoSECMODListReadLock lock;
for (SECMODModuleList* list = SECMOD_GetDefaultModuleList(); list;
list = list->next) {
for (int i = 0; i < list->module->slotCount; i++) {
PK11SlotInfo* slot = list->module->slots[i];
- // PK11_HasRootCerts should return true if and only if the given slot has
- // an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST, which
- // should be true only of the builtin root list.
- // If we can find a copy of the given certificate on the slot with the
- // builtin root list, that certificate must be a builtin.
- if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot) &&
- PK11_FindCertInSlot(slot, cert, nullptr) != CK_INVALID_HANDLE) {
- result = true;
- return Success;
+ // We're searching for the "builtin root module", which is a module that
+ // contains an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST.
+ // We use PK11_HasRootCerts() to identify a module with that property.
+ // In the past, we exclusively used the PKCS#11 module named nssckbi,
+ // which is provided by the NSS library.
+ // Nowadays, some distributions use a replacement module, which contains
+ // the builtin roots, but which also contains additional CA certificates,
+ // such as CAs trusted in a local deployment.
+ // We want to be able to distinguish between these two categories,
+ // because a CA, which may issue certificates for the public web,
+ // is expected to comply with additional requirements.
+ // If the certificate has attribute CKA_NSS_MOZILLA_CA_POLICY set to true,
+ // then we treat it as a "builtin root".
+ if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot)) {
+ CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(slot, cert, nullptr);
+ if (handle != CK_INVALID_HANDLE &&
+ PK11_HasAttributeSet(slot, handle, CKA_NSS_MOZILLA_CA_POLICY,
+ false)) {
+ // Attribute was found, and is set to true
+ result = true;
+ break;
+ }
}
}
}
return Success;
}
static Result
BuildCertChainForOneKeyUsage(NSSCertDBTrustDomain& trustDomain, Input certDER,

80
run-tests-wayland Executable file
View file

@ -0,0 +1,80 @@
#!/usr/bin/bash
# usage: run-tests-wayland [test flavour]
set -x
RUN_XPCSHELL_TEST=1
RUN_REFTEST=1
RUN_MOCHITEST=1
RUN_CRASHTEST=1
while (( "$#" )); do
SELECTED_TEST=$1
if [ "$SELECTED_TEST" = "xpcshell" ] ; then
RUN_XPCSHELL_TEST=1
elif [ "$SELECTED_TEST" = "reftest" ] ; then
RUN_REFTEST=1
elif [ "$SELECTED_TEST" = "mochitest" ] ; then
RUN_MOCHITEST=1
elif [ "$SELECTED_TEST" = "crashtest" ] ; then
RUN_CRASHTEST=1
fi
shift
done
export MACH_USE_SYSTEM_PYTHON=1
export MOZ_NODE_PATH=/usr/bin/node
MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4"
TEST_DIR="test_results"
mkdir $TEST_DIR
env | grep "DISPLAY"
# Fix for system nss
ln -s /usr/bin/certutil objdir/dist/bin/certutil
ln -s /usr/bin/pk12util objdir/dist/bin/pk12util
NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
export MOZ_ENABLE_WAYLAND=1
if [ $RUN_XPCSHELL_TEST -ne 0 ] ; then
# ./mach xpcshell-test 2>&1 | cat - | tee $TEST_DIR/xpcshell
./mach xpcshell-test --enable-webrender 2>&1 | cat - | tee $TEST_DIR/xpcshell-wr
sleep 60
fi
# Basic render testing
export TEST_PARAMS="--setpref reftest.ignoreWindowSize=true --setpref widget.wayland.test-workarounds.enabled=true"
#export TEST_FLAVOUR=""
#if [ $RUN_REFTEST -ne 0 ] ; then
# ./mach reftest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR
#fi
#if [ $RUN_CRASHTEST -ne 0 ] ; then
# ./mach crashtest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR
#fi
#if [ $RUN_MOCHITEST -ne 0 ] ; then
# ./mach mochitest --marionette localhost:$(($(($RANDOM))+2000)) $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR
#fi
# WebRender testing
export TEST_PARAMS="--enable-webrender $TEST_PARAMS"
export TEST_FLAVOUR="-wr"
# Use dom/base/test or dom/base/test/chrome for short version
export MOCHITEST_DIR='dom'
if [ $RUN_REFTEST -ne 0 ] ; then
./mach reftest $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR
sleep 60
fi
if [ $RUN_CRASHTEST -ne 0 ] ; then
./mach crashtest $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR
sleep 60
fi
if [ $RUN_MOCHITEST -ne 0 ] ; then
./mach mochitest $MOCHITEST_DIR $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR
sleep 60
fi
rm -f objdir/dist/bin/certutil
rm -f objdir/dist/bin/pk12util

39
run-tests-x11 Executable file
View file

@ -0,0 +1,39 @@
#!/usr/bin/bash
set -x
export MACH_USE_SYSTEM_PYTHON=1
export MOZ_NODE_PATH=/usr/bin/node
export X_PARAMS="-screen 0 1600x1200x24"
export MOCHITEST_PARAMS="--timeout 1 --chunk-by-dir 4"
export TEST_DIR="test_results"
# Fix for system nss
ln -s /usr/bin/certutil objdir/dist/bin/certutil
ln -s /usr/bin/pk12util objdir/dist/bin/pk12util
NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
# Basic render testing
export TEST_PARAMS=""
export TEST_FLAVOUR=""
#xvfb-run -s "$X_PARAMS" -n 91 ./mach xpcshell-test --sequential $TEST_PARAMS 2>&1 | cat - | tee $TEST_DIR/xpcshell
#xvfb-run -s "$X_PARAMS" -n 92 ./mach reftest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR
#xvfb-run -s "$X_PARAMS" -n 93 ./mach crashtest --marionette localhost:$(($(($RANDOM))+2000)) $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR
#xvfb-run -s "$X_PARAMS" -n 94 ./mach mochitest --marionette localhost:$(($(($RANDOM))+2000)) $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR
# WebRender testing
export TEST_PARAMS="--enable-webrender $TEST_PARAMS"
export TEST_FLAVOUR="-wr"
#xvfb-run -s "$X_PARAMS" -n 95 ./mach xpcshell-test --sequential $TEST_PARAMS 2>&1 | cat - | tee $TEST_DIR/xpcshell-wr
#sleep 60
#xvfb-run -s "$X_PARAMS" -n 96 ./mach reftest $TEST_PARAMS 2>&1 | tee $TEST_DIR/reftest$TEST_FLAVOUR
#sleep 60
#xvfb-run -s "$X_PARAMS" -n 97 ./mach crashtest $TEST_PARAMS 2>&1 | tee $TEST_DIR/crashtest$TEST_FLAVOUR
#sleep 60
#export DISPLAY=:0
#./mach mochitest dom/base/test/ $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR
export DISPLAY=:98
xvfb-run -s "$X_PARAMS" -n 98 ./mach mochitest dom/base/test/ $MOCHITEST_PARAMS $TEST_PARAMS 2>&1 | tee $TEST_DIR/mochitest$TEST_FLAVOUR
rm -f objdir/dist/bin/certutil
rm -f objdir/dist/bin/pk12util

59
run-wayland-compositor Executable file
View file

@ -0,0 +1,59 @@
#!/usr/bin/bash
# Run wayland compositor and set WAYLAND_DISPLAY env variable
set -x
echo export DESKTOP_SESSION=gnome > $HOME/.xsessionrc
echo export XDG_CURRENT_DESKTOP=GNOME > $HOME/.xsessionrc
echo export XDG_SESSION_TYPE=wayland >> $HOME/.xsessionrc
# Turn off the screen saver and screen locking
gsettings set org.gnome.desktop.screensaver idle-activation-enabled false
gsettings set org.gnome.desktop.screensaver lock-enabled false
gsettings set org.gnome.desktop.screensaver lock-delay 3600
# Disable the screen saver
# This starts the gnome-keyring-daemon with an unlocked login keyring. libsecret uses this to
# store secrets. Firefox uses libsecret to store a key that protects sensitive information like
# credit card numbers.
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
# if not found, launch a new one
eval `dbus-launch --sh-syntax`
fi
if [ -z "$XDG_RUNTIME_DIR" ]; then
export XDG_RUNTIME_DIR=$HOME
fi
export WAYLAND_DISPLAY=firefox-pgo-wayland-0
if [ -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ]; then
rm -f $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY
rm -f $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY.lock
fi
echo "Launch mutter for $WAYLAND_DISPLAY"
mutter --headless --virtual-monitor 1920x1080 --wayland-display=$WAYLAND_DISPLAY --no-x11 & MUTTER_PID=$!
export MUTTER_PID
echo "Mutter PID $MUTTER_PID"
echo "Waiting for mutter to start..."
sleep 5
retry_count=0
max_retries=5
until [ $retry_count -gt $max_retries ]; do
if [ -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ]; then
retry_count=$(($max_retries + 1))
else
retry_count=$(($retry_count + 1))
echo "Waiting for Mutter, retry: $retry_count"
sleep 2
fi
done
if [ ! -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ]; then
echo "Mutter failed to start!"
exit 1
fi
echo "Mutter is running, $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY is here."

10
sources
View file

@ -1,3 +1,7 @@
SHA512 (cbindgen-vendor.tar.xz) = bdd1535c9923a082cdca263ff2c1765814b00b6a1c74be95bac4dbf7d0b7b29c1c27f0fed6feae99c88521c96e2865f0ea3cf784bd9a32a44cec6ee4df850662
SHA512 (firefox-67.0.source.tar.xz) = a1000d6ca8146a9a3c74a3f69041b755c0c5014c8a608298d9c4cbe39577939d43139a7ad742983697ae90b635d3f5d8f9a008fcc2b3778adaadc25acc49ca29
SHA512 (firefox-langpacks-67.0-20190517.tar.xz) = f8406332e5bf841ae78b1ff57a4eebb11110f94b0ecdac629ac6935c9f0feddfde4de33b18310b7693015b7ae5b438df86a67f7a0bdf8fa36a3bcccbea15d13e
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

35
wasi.patch Normal file
View file

@ -0,0 +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
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 []
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(
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]))

35
wasi.patch.template Normal file
View file

@ -0,0 +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
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 []
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(
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]))