Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package MozillaFirefox for openSUSE:Factory 
checked in at 2026-05-27 16:12:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old)
 and      /work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "MozillaFirefox"

Wed May 27 16:12:21 2026 rev:487 rq:1355191 version:151.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes    
2026-05-10 16:46:53.757271962 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937/MozillaFirefox.changes  
2026-05-27 16:12:29.953905705 +0200
@@ -1,0 +2,109 @@
+Thu May 21 21:15:56 UTC 2026 - Wolfgang Rosenauer <[email protected]>
+
+- Mozilla Firefox 151.0.1
+  * Fixed a crash experienced by users with Intel Raptor Lake CPUs.
+    (bmo#1950764)
+  * Fixed an issue on Windows where some websites using WebSerial to
+    flash device firmware could fail unexpectedly. (bmo#2040754)
+- Mozilla Firefox 151.0
+  * https://www.firefox.com/en-US/firefox/151.0/releasenotes/
+  MFSA 2026-46 (bsc#1265212)
+  * CVE-2026-8945 (bmo#2003171)
+    Sandbox escape in Firefox and Firefox Focus for Android
+  * CVE-2026-8946 (bmo#2029070)
+    Incorrect boundary conditions in the Audio/Video: Web Codecs
+    component
+  * CVE-2026-8947 (bmo#2038439)
+    Use-after-free in the DOM: Bindings (WebIDL) component
+  * CVE-2026-8948 (bmo#2038803)
+    Same-origin policy bypass in the DOM: Networking component
+  * CVE-2026-8949 (bmo#1355639)
+    Integer overflow in the Widget: Win32 component
+  * CVE-2026-8950 (bmo#1965430)
+    Same-origin policy bypass in the Networking: HTTP component
+  * CVE-2026-8951 (bmo#2018513)
+    Spoofing issue in the Toolbar component in Firefox for Android
+  * CVE-2026-8952 (bmo#2021727)
+    Privilege escalation in the Application Update component
+  * CVE-2026-8953 (bmo#2029511)
+    Sandbox escape due to use-after-free in the Disability Access
+    APIs component
+  * CVE-2026-8954 (bmo#2030747)
+    Incorrect boundary conditions, integer overflow in the
+    Audio/Video component
+  * CVE-2026-8955 (bmo#2031064)
+    Privilege escalation in the DOM: Workers component
+  * CVE-2026-8956 (bmo#2032427)
+    Integer overflow in the Networking: JAR component
+  * CVE-2026-8957 (bmo#2033850)
+    Privilege escalation in the Enterprise Policies component
+  * CVE-2026-8958 (bmo#2034713)
+    Information disclosure, sandbox escape in the Security:
+    Process Sandboxing component
+  * CVE-2026-8959 (bmo#2034754)
+    Sandbox escape due to incorrect boundary conditions in the
+    Widget: Win32 component
+  * CVE-2026-8960 (bmo#1940116)
+    Spoofing issue in WebExtensions
+  * CVE-2026-8961 (bmo#1962625)
+    Spoofing issue in the Form Autofill component
+  * CVE-2026-8962 (bmo#2004804)
+    Mitigation bypass in the DOM: Security component
+  * CVE-2026-8963 (bmo#2021222)
+    Spoofing issue in the Web Speech component
+  * CVE-2026-8964 (bmo#2025170)
+    Spoofing issue in the Popup Blocker component
+  * CVE-2026-8965 (bmo#2025740)
+    Information disclosure in the DOM: Security component
+  * CVE-2026-8966 (bmo#2025849)
+    Information disclosure in the IP Protection component
+  * CVE-2026-8967 (bmo#2027173)
+    Information disclosure in the Graphics: WebGPU component
+  * CVE-2026-8968 (bmo#2030467)
+    Denial-of-service due to invalid pointer in the Audio/Video:
+    Web Codecs component
+  * CVE-2026-8969 (bmo#2031123)
+    Mitigation bypass in the DOM: Security component
+  * CVE-2026-8970 (bmo#2032174)
+    Privilege escalation in the Security component
+  * CVE-2026-8971 (bmo#2032604)
+    Same-origin policy bypass in the Networking: JAR component
+  * CVE-2026-8972 (bmo#2033275)
+    Privilege escalation in the WebRTC: Audio/Video component
+  * CVE-2026-8973 (bmo#1362365, bmo#1860538, bmo#1929005, bmo#1983353,
+    bmo#1998526, bmo#2023271, bmo#2023943, bmo#2024244, bmo#2024260,
+    bmo#2024443, bmo#2024665, bmo#2024774, bmo#2024916, bmo#2025346,
+    bmo#2025357, bmo#2025406, bmo#2025434, bmo#2025488, bmo#2025496,
+    bmo#2025942, bmo#2025947, bmo#2025968, bmo#2026279, bmo#2027159,
+    bmo#2027239, bmo#2027276, bmo#2027308, bmo#2027310, bmo#2027324,
+    bmo#2027329, bmo#2027363, bmo#2027381, bmo#2027382, bmo#2027383,
+    bmo#2028274, bmo#2028884, bmo#2029060, bmo#2029065, bmo#2029068,
+    bmo#2029281, bmo#2029293, bmo#2029297, bmo#2029303, bmo#2029439,
+    bmo#2029448, bmo#2029703, bmo#2029720, bmo#2029721, bmo#2029723,
+    bmo#2029770, bmo#2029771, bmo#2029782, bmo#2029818, bmo#2029885,
+    bmo#2030100, bmo#2030379, bmo#2030385, bmo#2030979, bmo#2031119,
+    bmo#2031122, bmo#2034119, bmo#2034791, bmo#2035209, bmo#2036666,
+    bmo#2037986)
+    Memory safety bugs fixed in Firefox 151
+  * CVE-2026-8974 (bmo#1784128, bmo#1883230, bmo#1983677, bmo#2022390,
+    bmo#2023116, bmo#2023657, bmo#2024255, bmo#2024418, bmo#2024441,
+    bmo#2024447, bmo#2024966, bmo#2025412, bmo#2025467, bmo#2025940,
+    bmo#2025950, bmo#2025956, bmo#2026284, bmo#2027247, bmo#2027255,
+    bmo#2027288, bmo#2027306, bmo#2027322, bmo#2027332, bmo#2027333,
+    bmo#2028266, bmo#2028292, bmo#2028319, bmo#2028526, bmo#2028870,
+    bmo#2028876, bmo#2028882, bmo#2029062, bmo#2029309, bmo#2029414,
+    bmo#2029422, bmo#2029428, bmo#2029447, bmo#2029732, bmo#2029785,
+    bmo#2029793, bmo#2029813, bmo#2029899, bmo#2031028, bmo#2031457,
+    bmo#2032039, bmo#2033610, bmo#2033854, bmo#2034498, bmo#2034628,
+    bmo#2034978, bmo#2035966, bmo#2036668, bmo#2036905, bmo#2036930)
+    Memory safety bugs fixed in Firefox ESR 140.11 and Firefox 151
+  * CVE-2026-8975 (bmo#1860195, bmo#2029325, bmo#2029429,
+    bmo#2029910, bmo#2035915, bmo#2038669, bmo#2038678)
+    Memory safety bugs fixed in Firefox ESR 115.36, Firefox ESR
+    140.11 and Firefox 151
+- requires NSS 3.123.1
+- rebase big endian patches
+- added mozilla-bmo2041150.patch to fix build with libproxy (bmo#2041150)
+- removed obsolete mozilla-bmo531915.patch
+
+-------------------------------------------------------------------

Old:
----
  firefox-150.0.2.source.tar.xz
  firefox-150.0.2.source.tar.xz.asc
  l10n-150.0.2.tar.xz
  mozilla-bmo531915.patch

New:
----
  firefox-151.0.1.source.tar.xz
  firefox-151.0.1.source.tar.xz.asc
  l10n-151.0.1.tar.xz
  mozilla-bmo2041150.patch

----------(Old B)----------
  Old:- added mozilla-bmo2041150.patch to fix build with libproxy (bmo#2041150)
- removed obsolete mozilla-bmo531915.patch
----------(Old E)----------

----------(New B)----------
  New:- rebase big endian patches
- added mozilla-bmo2041150.patch to fix build with libproxy (bmo#2041150)
- removed obsolete mozilla-bmo531915.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.0ddvPo/_old  2026-05-27 16:13:02.031229322 +0200
+++ /var/tmp/diff_new_pack.0ddvPo/_new  2026-05-27 16:13:02.039229653 +0200
@@ -28,9 +28,9 @@
 # orig_suffix b3
 # major 69
 # mainver %%major.99
-%define major          150
-%define mainver        %major.0.2
-%define orig_version   150.0.2
+%define major          151
+%define mainver        %major.0.1
+%define orig_version   151.0.1
 %define orig_suffix    %{nil}
 %define update_channel release
 %define branding       1
@@ -124,8 +124,8 @@
 BuildRequires:  libiw-devel
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
-BuildRequires:  mozilla-nspr-devel >= 4.38.2
-BuildRequires:  mozilla-nss-devel >= 3.122.2
+BuildRequires:  mozilla-nspr-devel >= 4.39
+BuildRequires:  mozilla-nss-devel >= 3.123.1
 BuildRequires:  nasm >= 2.14
 BuildRequires:  nodejs >= 12.22.12
 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
@@ -232,12 +232,12 @@
 Patch14:        mozilla-bmo849632.patch
 Patch17:        mozilla-libavcodec58_91.patch
 Patch18:        mozilla-silence-no-return-type.patch
-Patch19:        mozilla-bmo531915.patch
 Patch20:        one_swizzle_to_rule_them_all.patch
 Patch21:        svg-rendering.patch
 Patch24:        mozilla-bmo1746799.patch
 Patch25:        mozilla-sandbox-lto.patch
-Patch27:        mozilla-bmo2030493.patch
+Patch26:        mozilla-bmo2030493.patch
+Patch27:        mozilla-bmo2041150.patch
 # Firefox/browser
 Patch102:       firefox-branded-icons.patch
 %endif

++++++ firefox-150.0.2.source.tar.xz -> firefox-151.0.1.source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/firefox-150.0.2.source.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937/firefox-151.0.1.source.tar.xz
 differ: char 15, line 1

++++++ l10n-150.0.2.tar.xz -> l10n-151.0.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/l10n-150.0.2.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937/l10n-151.0.1.tar.xz differ: 
char 8, line 1

++++++ mozilla-bmo1504834-part1.patch ++++++
--- /var/tmp/diff_new_pack.0ddvPo/_old  2026-05-27 16:13:02.311240891 +0200
+++ /var/tmp/diff_new_pack.0ddvPo/_new  2026-05-27 16:13:02.315241056 +0200
@@ -1,11 +1,11 @@
 # HG changeset patch
-# Parent  30360f7dae4c2a1046c3327d73580b29fb4ac32e
+# Parent  ed92e2fa6996864cd05177e2d4012c2aa867bf54
 Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
 
 diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
 --- a/gfx/2d/DrawTargetSkia.cpp
 +++ b/gfx/2d/DrawTargetSkia.cpp
-@@ -156,17 +156,18 @@ static IntRect CalculateSurfaceBounds(co
+@@ -162,17 +162,18 @@ static IntRect CalculateSurfaceBounds(co
    if (!sampledBounds.ToIntRect(&bounds)) {
      return surfaceBounds;
    }
@@ -25,41 +25,6 @@
    }
    // We should've initialized the data to be opaque already
    // On debug builds, verify that this is actually true.
-diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
---- a/gfx/2d/Types.h
-+++ b/gfx/2d/Types.h
-@@ -102,28 +102,21 @@ enum class SurfaceFormat : int8_t {
-   R10G10B10X2_UINT32,  // 0b00RRRRRRRRRRGGGGGGGGGGBBBBBBBBBB
-   // 4 half-float (f16) components in RGBA order for HDR rendering, each is
-   // machine endian.
-   R16G16B16A16F,
- 
-   // This represents the unknown format.
-   UNKNOWN,  // TODO: Replace uses with Maybe<SurfaceFormat>.
- 
--// The following values are endian-independent synonyms. The _UINT32 suffix
--// indicates that the name reflects the layout when viewed as a uint32_t
--// value.
--#if MOZ_LITTLE_ENDIAN()
-+  // The following values are endian-independent synonyms. The _UINT32 suffix
-+  // indicates that the name reflects the layout when viewed as a uint32_t
-+  // value.
-   A8R8G8B8_UINT32 = B8G8R8A8,  // 0xAARRGGBB
-   X8R8G8B8_UINT32 = B8G8R8X8,  // 0x00RRGGBB
--#elif MOZ_BIG_ENDIAN()
--  A8R8G8B8_UINT32 = A8R8G8B8,  // 0xAARRGGBB
--  X8R8G8B8_UINT32 = X8R8G8B8,  // 0x00RRGGBB
--#else
--#  error "bad endianness"
--#endif
- 
-   // The following values are OS and endian-independent synonyms.
-   //
-   // TODO(aosmond): When everything blocking bug 1581828 has been resolved, we
-   // can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms.
-   OS_RGBA = A8R8G8B8_UINT32,
-   OS_RGBX = X8R8G8B8_UINT32
- };
 diff --git a/gfx/skia/skia/modules/skcms/skcms.cc 
b/gfx/skia/skia/modules/skcms/skcms.cc
 --- a/gfx/skia/skia/modules/skcms/skcms.cc
 +++ b/gfx/skia/skia/modules/skcms/skcms.cc

++++++ mozilla-bmo1746799.patch ++++++
--- /var/tmp/diff_new_pack.0ddvPo/_old  2026-05-27 16:13:02.327241551 +0200
+++ /var/tmp/diff_new_pack.0ddvPo/_new  2026-05-27 16:13:02.335241883 +0200
@@ -11,13 +11,13 @@
 --- a/third_party/rust/cubeb-pulse/.cargo-checksum.json
 +++ b/third_party/rust/cubeb-pulse/.cargo-checksum.json
 @@ -1,1 +1,1 @@
--{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"c91e5b2eeb7a70d9a03164c47e7e143a6eecb0f2b8cca65ae7c9a045e04f5933","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.lock":"b3c23055437dea3d869de506d9cebdee22c346dbeac4ec639357e0177088bcb1","Cargo.toml":"90192b9fd4ce4b7eb699d0d68dbada1f8f4848e887d758e8485bf64aa0a7139e","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"096d471309e88409ffdd17d4a3887302dca2b4382d55a2f2a39110b852338816","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"e44a2c4bebc079cfed9324
 
d23b1dfdfadd33d0f972f9778c4bed9f1d8ca025d0","src/capi.rs":"f5d3e21b64dc401a86ed4de8f5cc339fda5fe69720566e749f6bb71e50767fb2","src/lib.rs":"35b84c71bd564f9571a166440087e5ee737066f3d35ac7417552cedd08b2933d"},"package":null}
+-{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"c91e5b2eeb7a70d9a03164c47e7e143a6eecb0f2b8cca65ae7c9a045e04f5933","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.lock":"b3c23055437dea3d869de506d9cebdee22c346dbeac4ec639357e0177088bcb1","Cargo.toml":"90192b9fd4ce4b7eb699d0d68dbada1f8f4848e887d758e8485bf64aa0a7139e","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"269f6963e22baacad11b0956bd8e6d28d298a59982b5e3883777e127cd8a6f9d","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"fbee2bd3e1964efcf0bc3e
 
c34ccf7da8974b726ac6b4d43f34e53c93343f4b48","src/capi.rs":"f5d3e21b64dc401a86ed4de8f5cc339fda5fe69720566e749f6bb71e50767fb2","src/lib.rs":"35b84c71bd564f9571a166440087e5ee737066f3d35ac7417552cedd08b2933d"},"package":null}
 \ No newline at end of file
-+{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"c91e5b2eeb7a70d9a03164c47e7e143a6eecb0f2b8cca65ae7c9a045e04f5933","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.lock":"b3c23055437dea3d869de506d9cebdee22c346dbeac4ec639357e0177088bcb1","Cargo.toml":"90192b9fd4ce4b7eb699d0d68dbada1f8f4848e887d758e8485bf64aa0a7139e","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"096d471309e88409ffdd17d4a3887302dca2b4382d55a2f2a39110b852338816","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"46cdbdb737e4ba115e8544
 
0b82bc247eb68841d037801f1a2f35139e1715bd6e","src/capi.rs":"f5d3e21b64dc401a86ed4de8f5cc339fda5fe69720566e749f6bb71e50767fb2","src/lib.rs":"35b84c71bd564f9571a166440087e5ee737066f3d35ac7417552cedd08b2933d"},"package":null}
++{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"c91e5b2eeb7a70d9a03164c47e7e143a6eecb0f2b8cca65ae7c9a045e04f5933","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.lock":"b3c23055437dea3d869de506d9cebdee22c346dbeac4ec639357e0177088bcb1","Cargo.toml":"90192b9fd4ce4b7eb699d0d68dbada1f8f4848e887d758e8485bf64aa0a7139e","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"269f6963e22baacad11b0956bd8e6d28d298a59982b5e3883777e127cd8a6f9d","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"b4e5861c192412a580c58d
 
9042b717ccbd0ba81cf975c974ec72a9e762cd7ba9","src/capi.rs":"f5d3e21b64dc401a86ed4de8f5cc339fda5fe69720566e749f6bb71e50767fb2","src/lib.rs":"35b84c71bd564f9571a166440087e5ee737066f3d35ac7417552cedd08b2933d"},"package":null}
 diff --git a/third_party/rust/cubeb-pulse/src/backend/stream.rs 
b/third_party/rust/cubeb-pulse/src/backend/stream.rs
 --- a/third_party/rust/cubeb-pulse/src/backend/stream.rs
 +++ b/third_party/rust/cubeb-pulse/src/backend/stream.rs
-@@ -760,18 +760,18 @@ impl StreamOps for PulseStream<'_> {
+@@ -777,18 +777,18 @@ impl StreamOps for PulseStream<'_> {
                              _ => pulse::SinkFlags::empty(),
                          }
                      };

++++++ mozilla-bmo531915.patch -> mozilla-bmo2041150.patch ++++++
--- /work/SRC/openSUSE:Factory/MozillaFirefox/mozilla-bmo531915.patch   
2022-11-17 17:24:05.304933370 +0100
+++ 
/work/SRC/openSUSE:Factory/.MozillaFirefox.new.1937/mozilla-bmo2041150.patch    
    2026-05-27 16:12:55.078942106 +0200
@@ -1,33 +1,41 @@
-# HG changeset patch
-# User Wolfgang Rosenauer <[email protected]>
-# Parent  fa8a5832a374ccd7af5db927b992b5d9f15273ef
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Ajrat Makhmutov <[email protected]>
+Date: Wed, 21 May 2026 00:00:00 +0300
+Subject: [PATCH] Implement systemProxyDirect in the libproxy backend
 
-diff --git a/modules/fdlibm/src/math_private.h 
b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -25,19 +25,24 @@
- 
- #include "fdlibm.h"
- 
- /*
-  * Emulate FreeBSD internal double types.
-  * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
-  */
- 
-+#ifdef __i386__
-+typedef long double __double_t;
-+typedef long double __float_t;
-+#else
- typedef double      __double_t;
-+typedef float       __float_t;
-+#endif
- typedef __double_t  double_t;
--typedef float       __float_t;
- 
- /*
-  * The original fdlibm code used statements like:
-  *    n0 = ((*(int*)&one)>>29)^1;             * index of high word *
-  *    ix0 = *(n0+(int*)&x);                   * high word of x *
-  *    ix1 = *((1-n0)+(int*)&x);               * low word of x *
-  * to dig two 32 bit words out of the 64 bit IEEE floating point
-  * value.  That is non-ANSI, and, moreover, the gcc instruction
+Thunderbird 151 added the readonly attribute systemProxyDirect to the
+nsISystemProxySettings interface. The GIO, Windows and Android backends
+were updated, but nsLibProxySettings.cpp (built with --enable-libproxy)
+was not, so its vtable references an undefined
+nsUnixSystemProxySettings::GetSystemProxyDirect and libxul fails to link:
+
+  ld.lld: error: undefined hidden symbol:
+      nsUnixSystemProxySettings::GetSystemProxyDirect(bool*)
+
+libproxy is queried per-URI and has no cheap "no proxy at all" fast path,
+so the getter conservatively reports false.
+---
+ thunderbird/toolkit/system/unixproxy/nsLibProxySettings.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/toolkit/system/unixproxy/nsLibProxySettings.cpp 
b/toolkit/system/unixproxy/nsLibProxySettings.cpp
+index 3de1b7ce9b8..29bae455aea 100644
+--- a/toolkit/system/unixproxy/nsLibProxySettings.cpp
++++ b/toolkit/system/unixproxy/nsLibProxySettings.cpp
+@@ -111,6 +111,14 @@ nsUnixSystemProxySettings::GetSystemWPADSetting(bool* 
aSystemWPADSetting) {
+   return NS_OK;
+ }
+
++NS_IMETHODIMP
++nsUnixSystemProxySettings::GetSystemProxyDirect(bool* aSystemProxyDirect) {
++  // libproxy is queried per-URI, so there is no cheap "no proxy at all"
++  // fast path; always let proxy resolution perform the per-URI query.
++  *aSystemProxyDirect = false;
++  return NS_OK;
++}
++
+ NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) {
+   return do_AddRef(new nsUnixSystemProxySettings()).downcast<nsISupports>();
+ }
+--
+2.50.1

++++++ mozilla-bmo849632.patch ++++++
--- /var/tmp/diff_new_pack.0ddvPo/_old  2026-05-27 16:13:02.371243370 +0200
+++ /var/tmp/diff_new_pack.0ddvPo/_new  2026-05-27 16:13:02.375243535 +0200
@@ -6,21 +6,29 @@
           So we swizzle the output of webgl after reading it from readpixels()
 Note:     This does not fix all webGL sites, but is a step in the right 
direction
 
-Index: firefox-115.0/gfx/gl/GLContext.h
+Index: firefox-151.0.1/gfx/gl/GLContext.h
 ===================================================================
---- firefox-115.0.orig/gfx/gl/GLContext.h
-+++ firefox-115.0/gfx/gl/GLContext.h
-@@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe
+--- firefox-151.0.1.orig/gfx/gl/GLContext.h
++++ firefox-151.0.1/gfx/gl/GLContext.h
+@@ -24,6 +24,7 @@
+ #  define MOZ_GL_DEBUG_BUILD 1
+ #endif
+ 
++#include "mozilla/EndianUtils.h"
+ #include "mozilla/IntegerRange.h"
+ #include "mozilla/RefPtr.h"
+ #include "mozilla/UniquePtr.h"
+@@ -1621,6 +1622,13 @@ class GLContext : public GenericAtomicRe
      BEFORE_GL_CALL;
      mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
      OnSyncCall();
-+#if MOZ_BIG_ENDIAN()
-+    uint8_t* itr = (uint8_t*)pixels;
-+    for (GLsizei i = 0; i < width * height; i++) {
-+      NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
-+      itr += 4;
++    if constexpr (std::endian::native == std::endian::big) {
++      uint8_t* itr = (uint8_t*)pixels;
++      for (GLsizei i = 0; i < width * height; i++) {
++        NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
++        itr += 4;
++      }
 +    }
-+#endif
      AFTER_GL_CALL;
      mHeavyGLCallsSinceLastFlush = true;
    }

++++++ mozilla-silence-no-return-type.patch ++++++
--- /var/tmp/diff_new_pack.0ddvPo/_old  2026-05-27 16:13:02.419245352 +0200
+++ /var/tmp/diff_new_pack.0ddvPo/_new  2026-05-27 16:13:02.427245684 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  12a274a85f8317615a937830dbe1a4675fdca2fb
+# Parent  0ba4feb95e7f4c365dcb637fef2d16969d5231a9
 
 diff --git a/gfx/skia/skia/include/codec/SkEncodedOrigin.h 
b/gfx/skia/skia/include/codec/SkEncodedOrigin.h
 --- a/gfx/skia/skia/include/codec/SkEncodedOrigin.h
@@ -298,7 +298,7 @@
 diff --git a/js/src/irregexp/imported/regexp-parser.cc 
b/js/src/irregexp/imported/regexp-parser.cc
 --- a/js/src/irregexp/imported/regexp-parser.cc
 +++ b/js/src/irregexp/imported/regexp-parser.cc
-@@ -2795,16 +2795,17 @@ bool MayContainStrings(ClassSetOperandTy
+@@ -2810,16 +2810,17 @@ bool MayContainStrings(ClassSetOperandTy
        return false;
      case ClassSetOperandType::kCharacterClassEscape:
      case ClassSetOperandType::kClassStringDisjunction:
@@ -313,7 +313,7 @@
  }  // namespace
  
  template <class CharT>
- void RegExpParserImpl<CharT>::AddMaybeSimpleCaseFoldedRange(
+ void ParserImpl<CharT>::AddMaybeSimpleCaseFoldedRange(
      ZoneList<CharacterRange>* ranges, CharacterRange new_range) {
    DCHECK(unicode_sets());
 diff --git a/third_party/libwebrtc/api/adaptation/resource.cc 
b/third_party/libwebrtc/api/adaptation/resource.cc
@@ -340,7 +340,7 @@
 diff --git a/third_party/libwebrtc/api/rtp_parameters.cc 
b/third_party/libwebrtc/api/rtp_parameters.cc
 --- a/third_party/libwebrtc/api/rtp_parameters.cc
 +++ b/third_party/libwebrtc/api/rtp_parameters.cc
-@@ -75,16 +75,17 @@ const char* DegradationPreferenceToStrin
+@@ -74,16 +74,17 @@ const char* DegradationPreferenceToStrin
      case DegradationPreference::MAINTAIN_FRAMERATE:
        return "maintain-framerate";
      case DegradationPreference::MAINTAIN_RESOLUTION:
@@ -519,7 +519,7 @@
 diff --git a/third_party/libwebrtc/call/rtp_payload_params.cc 
b/third_party/libwebrtc/call/rtp_payload_params.cc
 --- a/third_party/libwebrtc/call/rtp_payload_params.cc
 +++ b/third_party/libwebrtc/call/rtp_payload_params.cc
-@@ -421,17 +421,18 @@ std::optional<FrameDependencyStructure> 
+@@ -420,17 +420,18 @@ std::optional<FrameDependencyStructure> 
      case VideoCodecType::kVideoCodecH264:
        return MinimalisticStructure(
            /*num_spatial_layers=*/1,
@@ -644,7 +644,7 @@
 diff --git 
a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc 
b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
 --- a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
 +++ b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
-@@ -113,16 +113,17 @@ GainControl::Mode Agc1ConfigModeToInterf
+@@ -112,16 +112,17 @@ GainControl::Mode Agc1ConfigModeToInterf
      case Agc1Config::kAdaptiveAnalog:
        return GainControl::kAdaptiveAnalog;
      case Agc1Config::kAdaptiveDigital:
@@ -662,7 +662,7 @@
  
  // Maximum lengths that frame of samples being passed from the render side to
  // the capture side can have (does not apply to AEC3).
-@@ -180,17 +181,17 @@ int AudioFormatValidityToErrorCode(Audio
+@@ -179,17 +180,17 @@ int AudioFormatValidityToErrorCode(Audio
      case AudioFormatValidity::kValidAndSupported:
        return AudioProcessing::kNoError;
      case AudioFormatValidity::kValidButUnsupportedSampleRate:  // fall-through
@@ -681,7 +681,7 @@
      const StreamConfig& input_config,
      const StreamConfig& output_config) {
    AudioFormatValidity input_validity = ValidateAudioFormat(input_config);
-@@ -2089,16 +2090,17 @@ void AudioProcessingImpl::InitializeNois
+@@ -1995,16 +1996,17 @@ void AudioProcessingImpl::InitializeNois
              case NoiseSuppresionConfig::kModerate:
                return NsConfig::SuppressionLevel::k12dB;
              case NoiseSuppresionConfig::kHigh:
@@ -702,7 +702,7 @@
 diff --git 
a/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
 
b/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
 --- 
a/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
 +++ 
b/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
-@@ -77,16 +77,18 @@ BandwidthLimitedCause GetBandwidthLimite
+@@ -80,16 +80,18 @@ BandwidthLimitedCause GetBandwidthLimite
        // Probes may not be sent in this state.
        return BandwidthLimitedCause::kLossLimitedBwe;
      case LossBasedState::kIncreasing:
@@ -724,28 +724,28 @@
 diff --git 
a/third_party/libwebrtc/modules/congestion_controller/goog_cc_scream_network_controller/goog_cc_scream_network_controller.h
 
b/third_party/libwebrtc/modules/congestion_controller/goog_cc_scream_network_controller/goog_cc_scream_network_controller.h
 --- 
a/third_party/libwebrtc/modules/congestion_controller/goog_cc_scream_network_controller/goog_cc_scream_network_controller.h
 +++ 
b/third_party/libwebrtc/modules/congestion_controller/goog_cc_scream_network_controller/goog_cc_scream_network_controller.h
-@@ -70,16 +70,17 @@ class GoogCcScreamNetworkController : pu
-       case Mode::kGoogCc:
-         return false;
+@@ -58,16 +58,17 @@ class GoogCcScreamNetworkController : pu
+ 
+   bool SupportsEcnAdaptation() const override {
+     switch (mode_) {
        case Mode::kGoogCcWithEct1:
          return !ecn_ce_seen_;
-       case Mode::kScreamAlways:
        case Mode::kScreamAfterCe:
          return true;
      }
 +    return false;
    }
-   // Returns "ScreamV2" or "GoogCC" depending on currently used network
-   // controller.
-   std::string_view CurrentControllerType() const;
  
   private:
-   enum class Mode { kGoogCc, kScreamAlways, kScreamAfterCe, kGoogCcWithEct1 };
+   NetworkControlUpdate MaybeRunOnAllControllers(
+       absl::AnyInvocable<NetworkControlUpdate(NetworkControllerInterface&)>
+           update);
  
+   Environment env_;
 diff --git 
a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
 
b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
 --- 
a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
 +++ 
b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
-@@ -49,16 +49,17 @@ ScreenCastPortal::CaptureSourceType Scre
+@@ -51,16 +51,17 @@ ScreenCastPortal::CaptureSourceType Scre
    switch (type) {
      case CaptureType::kScreen:
        return ScreenCastPortal::CaptureSourceType::kScreen;
@@ -757,12 +757,12 @@
 +  RTC_CHECK_NOTREACHED();
  }
  
- ScreenCastPortal::ScreenCastPortal(CaptureType type, PortalNotifier* notifier)
+ ScreenCastPortal::ScreenCastPortal(CaptureType type,
+                                    PortalNotifier* notifier,
+                                    bool prefer_cursor_embedded)
      : ScreenCastPortal(type,
                         notifier,
                         OnProxyRequested,
-                        OnSourcesRequestResponseSignal,
-                        this) {}
 diff --git a/third_party/libwebrtc/modules/pacing/bitrate_prober.cc 
b/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
 --- a/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
 +++ b/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
@@ -869,7 +869,7 @@
 diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_video.cc 
b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
 --- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
 +++ b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
-@@ -172,16 +172,17 @@ PacketizationFormat GetPacketizationForm
+@@ -173,16 +173,17 @@ PacketizationFormat GetPacketizationForm
        return PacketizationFormat::kVP9;
      case kVideoCodecAV1:
        return PacketizationFormat::kAV1;
@@ -1106,6 +1106,35 @@
               OnExpired on_expired,
               UnregisterHandler unregister_handler,
               std::unique_ptr<Timeout> timeout,
+diff --git a/third_party/libwebrtc/rtc_base/network_monitor.cc 
b/third_party/libwebrtc/rtc_base/network_monitor.cc
+--- a/third_party/libwebrtc/rtc_base/network_monitor.cc
++++ b/third_party/libwebrtc/rtc_base/network_monitor.cc
+@@ -16,23 +16,25 @@ namespace webrtc {
+ 
+ absl::string_view NetworkPreferenceToString(NetworkPreference preference) {
+   switch (preference) {
+     case NetworkPreference::NEUTRAL:
+       return "NEUTRAL";
+     case NetworkPreference::NOT_PREFERRED:
+       return "NOT_PREFERRED";
+   }
++  return "NEUTRAL"; //unreached
+ }
+ 
+ absl::string_view NetworkSliceToString(NetworkSlice network_slice) {
+   switch (network_slice) {
+     case NetworkSlice::NO_SLICE:
+       return "NO_SLICE";
+     case NetworkSlice::UNIFIED_COMMUNICATIONS:
+       return "UNIFIED_COMMUNICATIONS";
+   }
++  return "NO_SLICE"; //unreached
+ }
+ 
+ NetworkMonitorInterface::NetworkMonitorInterface() {}
+ NetworkMonitorInterface::~NetworkMonitorInterface() {}
+ 
+ }  // namespace webrtc
 diff --git a/third_party/libwebrtc/video/adaptation/pixel_limit_resource.cc 
b/third_party/libwebrtc/video/adaptation/pixel_limit_resource.cc
 --- a/third_party/libwebrtc/video/adaptation/pixel_limit_resource.cc
 +++ b/third_party/libwebrtc/video/adaptation/pixel_limit_resource.cc

++++++ one_swizzle_to_rule_them_all.patch ++++++
--- /var/tmp/diff_new_pack.0ddvPo/_old  2026-05-27 16:13:02.467247335 +0200
+++ /var/tmp/diff_new_pack.0ddvPo/_new  2026-05-27 16:13:02.471247501 +0200
@@ -22,12 +22,12 @@
    }
    mDT->Flush();
  
-+#if MOZ_BIG_ENDIAN()
-+  // One swizzle to rule them all.
-+  gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
-+                   mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
-+                   mDT->GetSize());
-+#endif
++  if constexpr (std::endian::native == std::endian::big) {
++    // One swizzle to rule them all.
++    gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
++                     mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
++                     mDT->GetSize());
++  }
 +
    // Done with the DT. Hand it back to the widget and clear out any trace of 
it.
    mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion);

++++++ svg-rendering.patch ++++++
--- /var/tmp/diff_new_pack.0ddvPo/_old  2026-05-27 16:13:02.495248492 +0200
+++ /var/tmp/diff_new_pack.0ddvPo/_new  2026-05-27 16:13:02.503248823 +0200
@@ -13,16 +13,16 @@
      return NS_ERROR_OUT_OF_MEMORY;
    }
  
-+#if MOZ_BIG_ENDIAN()
-+  if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
-+      // SKIA is lying about what format it returns on big endian
-+      for (int ii=0; ii < 
mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
-+        uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
-+        uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 
0xFF00FF );
-+        vals[ii] = (val << 16) | (val >> 16);
-+      }
++  if constexpr (std::endian::native == std::endian::big) {
++    if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
++        // SKIA is lying about what format it returns on big endian
++        for (int ii=0; ii < 
mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
++          uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
++          uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 
0xFF00FF );
++          vals[ii] = (val << 16) | (val >> 16);
++        }
++    }
 +  }
-+#endif
 +
    if (!canUseDataSurface) {
      // We used an offscreen surface, which is an "optimized" surface from

++++++ tar_stamps ++++++
--- /var/tmp/diff_new_pack.0ddvPo/_old  2026-05-27 16:13:02.527249815 +0200
+++ /var/tmp/diff_new_pack.0ddvPo/_new  2026-05-27 16:13:02.531249980 +0200
@@ -1,11 +1,11 @@
 PRODUCT="firefox"
 CHANNEL="release"
-VERSION="150.0.2"
+VERSION="151.0.1"
 VERSION_SUFFIX=""
-PREV_VERSION="150.0.1"
+PREV_VERSION="151.0"
 PREV_VERSION_SUFFIX=""
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
 RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release";
-RELEASE_TAG="f886be72b68e40ef310bed24350a841eb9ee07e9"
-RELEASE_TIMESTAMP="20260506140522"
+RELEASE_TAG="08b6bd8d41197610421c9afa119fdf1cb8b8153e"
+RELEASE_TIMESTAMP="20260520211922"
 

Reply via email to