Firefox 111.0.1 firefox111
authorWolfgang Rosenauer <wr@rosenauer.org>
Sun, 26 Mar 2023 12:50:07 +0200
branchfirefox111
changeset 1185 da29365b0b2c
parent 1184 1c3d3217d679
child 1186 5185fb499263
Firefox 111.0.1
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
MozillaFirefox/gcc13-fix.patch
MozillaFirefox/mozilla-bmo1810584.patch
MozillaFirefox/tar_stamps
firefox-kde.patch
gcc13-fix.patch
mozilla-bmo1810584.patch
mozilla-silence-no-return-type.patch
series
--- a/MozillaFirefox/MozillaFirefox.changes	Tue Mar 07 11:48:25 2023 +0100
+++ b/MozillaFirefox/MozillaFirefox.changes	Sun Mar 26 12:50:07 2023 +0200
@@ -1,4 +1,59 @@
 -------------------------------------------------------------------
+Sun Mar 26 08:55:39 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 111.0.1 (boo#1209688)
+  * Fixed a crash on macOS while pinch-zooming under some circumstances
+    (bmo#1658986)
+  * Fixed a bug causing Firefox to freeze on startup for some
+    Windows users (bmo#1823159)
+
+-------------------------------------------------------------------
+Tue Mar 14 14:29:09 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 111.0
+  * https://www.mozilla.org/en-US/firefox/111.0/releasenotes
+  MFSA 2023-09 (bsc#1209173)
+  * CVE-2023-28159 (bmo#1783561)
+    Fullscreen Notification could have been hidden by download
+    popups on Android
+  * CVE-2023-25748 (bmo#1798798)
+    Fullscreen Notification could have been hidden by window
+    prompts on Android
+  * CVE-2023-25749 (bmo#1810705)
+    Firefox for Android may have opened third-party apps without
+    a prompt
+  * CVE-2023-25750 (bmo#1814733)
+    Potential ServiceWorker cache leak during private browsing mode
+  * CVE-2023-25751 (bmo#1814899)
+    Incorrect code generation during JIT compilation
+  * CVE-2023-28160 (bmo#1802385)
+    Redirect to Web Extension files may have leaked local path
+  * CVE-2023-28164 (bmo#1809122)
+    URL being dragged from a removed cross-origin iframe into the
+    same tab triggered navigation
+  * CVE-2023-28161 (bmo#1811181)
+    One-time permissions granted to a local file were extended to
+    other local files loaded in the same tab
+  * CVE-2023-28162 (bmo#1811327)
+    Invalid downcast in Worklets
+  * CVE-2023-25752 (bmo#1811627)
+    Potential out-of-bounds when accessing throttled streams
+  * CVE-2023-28163 (bmo#1817768)
+    Windows Save As dialog resolved environment variables
+  * CVE-2023-28176 (bmo#1808352, bmo#1811637, bmo#1815904, bmo#1817442,
+    bmo#1818674)
+    Memory safety bugs fixed in Firefox 111 and Firefox ESR 102.9
+  * CVE-2023-28177 (bmo#1803109, bmo#1808832, bmo#1809542, bmo#1817336)
+    Memory safety bugs fixed in Firefox 111
+- ensure gcc11-c++ gets used on Leap 15.5
+- requires NSS >= 3.88.1
+- removed obsolete patches
+  gcc13-fix.patch
+  mozilla-bmo1810584.patch
+- rebased patches
+- update create-tar.sh
+
+-------------------------------------------------------------------
 Tue Mar  7 09:40:11 UTC 2023 - Martin Liška <mliska@suse.cz>
 
 - Cherry-pick upstream changes for GCC 13 in gcc13-fix.patch.
--- a/MozillaFirefox/MozillaFirefox.spec	Tue Mar 07 11:48:25 2023 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec	Sun Mar 26 12:50:07 2023 +0200
@@ -27,10 +27,10 @@
 # orig_version 70.0
 # orig_suffix b3
 # major 69
-# mainver %major.99
-%define major          110
+# mainver %%major.99
+%define major          111
 %define mainver        %major.0.1
-%define orig_version   110.0.1
+%define orig_version   111.0.1
 %define orig_suffix    %{nil}
 %define update_channel release
 %define branding       1
@@ -93,7 +93,7 @@
 BuildRequires:  dejavu-fonts
 BuildRequires:  fdupes
 BuildRequires:  memory-constraints
-%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400
+%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
 BuildRequires:  gcc11-c++
 %else
 BuildRequires:  gcc-c++
@@ -108,8 +108,8 @@
 # minimal requirement:
 BuildRequires:  rust+cargo >= 1.65
 # actually used upstream:
-BuildRequires:  cargo1.66
-BuildRequires:  rust1.66
+BuildRequires:  cargo1.67
+BuildRequires:  rust1.67
 %endif
 %if 0%{useccache} != 0
 BuildRequires:  ccache
@@ -120,7 +120,7 @@
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
 BuildRequires:  mozilla-nspr-devel >= 4.35
-BuildRequires:  mozilla-nss-devel >= 3.87
+BuildRequires:  mozilla-nss-devel >= 3.88.1
 BuildRequires:  nasm >= 2.14
 BuildRequires:  nodejs >= 10.22.1
 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
@@ -193,7 +193,7 @@
 Source11:       firefox.1
 Source12:       mozilla-get-app-id
 Source13:       spellcheck.js
-Source14:       https://github.com/openSUSE/firefox-scripts/raw/7335408da3073ec6b582fc364010cf09665765b3/create-tar.sh
+Source14:       https://github.com/openSUSE/firefox-scripts/raw/9b77cf0/create-tar.sh
 Source15:       firefox-appdata.xml
 Source16:       %{name}.changes
 Source17:       firefox-search-provider.ini
@@ -228,8 +228,6 @@
 Patch25:        one_swizzle_to_rule_them_all.patch
 Patch26:        svg-rendering.patch
 Patch27:        mozilla-buildfixes.patch
-Patch28:        mozilla-bmo1810584.patch
-Patch29:        gcc13-fix.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-branded-icons.patch
@@ -248,10 +246,6 @@
 %if 0%{?devpkg} == 0
 Obsoletes:      %{name}-devel < %{version}
 %endif
-# libproxy's mozjs pacrunner crashes FF (bnc#759123)
-%if 0%{?suse_version} < 1220
-Obsoletes:      libproxy1-pacrunner-mozjs <= 0.4.7
-%endif
 ExcludeArch:    armv6l armv6hl ppc ppc64 ppc64le
 
 %description
@@ -267,6 +261,7 @@
 Requires:       %{name} = %{version}
 Requires:       perl(Archive::Zip)
 Requires:       perl(XML::Simple)
+BuildArch:      noarch
 
 %description devel
 Development files for %{appname} to make packaging of addons easier.
@@ -377,7 +372,7 @@
 export MOZ_TELEMETRY_REPORTING=1
 export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
 export CFLAGS="%{optflags}"
-%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400
+%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
 export CC=gcc-11
 %else
 %if 0%{?clang_build} == 0
@@ -435,11 +430,11 @@
 %endif
 ac_add_options --disable-install-strip
 # building with elf-hack started to fail everywhere with FF73
-#%if 0%{?suse_version} > 1549
+#%%if 0%%{?suse_version} > 1549
 %ifarch %arm %ix86 x86_64
 ac_add_options --disable-elf-hack
 %endif
-#%endif
+#%%endif
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
 %if 0%{useccache} != 0
@@ -458,7 +453,7 @@
 ac_add_options --enable-update-channel=%{update_channel}
 ac_add_options --with-mozilla-api-keyfile=%{SOURCE18}
 # Google-service currently not available for free anymore
-#ac_add_options --with-google-location-service-api-keyfile=%{SOURCE19}
+#ac_add_options --with-google-location-service-api-keyfile=%%{SOURCE19}
 ac_add_options --with-google-safebrowsing-api-keyfile=%{SOURCE19}
 ac_add_options --with-unsigned-addon-scopes=app
 ac_add_options --allow-addon-sideload
@@ -669,7 +664,7 @@
 # inspired by mandriva
 mkdir -p %{buildroot}%{_rpmmacrodir}
 cat <<'FIN' >%{buildroot}%{_rpmmacrodir}/macros.%{progname}
-# Macros from %{name} package
+# Macros from %%{name} package
 %%firefox_major              %{major}
 %%firefox_version            %{version}
 %%firefox_mainver            %{mainver}
--- a/MozillaFirefox/create-tar.sh	Tue Mar 07 11:48:25 2023 +0100
+++ b/MozillaFirefox/create-tar.sh	Sun Mar 26 12:50:07 2023 +0200
@@ -71,7 +71,9 @@
   else
     FF_LOCALE_FILE="thunderbird-$VERSION/browser/locales/l10n-changesets.json"
     TB_LOCALE_FILE="thunderbird-$VERSION/comm/mail/locales/l10n-changesets.json"
-    L10N_STRING_PATTERNS="thunderbird-$VERSION/python/l10n/tbxchannel/l10n_merge.py"
+    FF_PREV_LOCALE_FILE="thunderbird-$PREV_VERSION/browser/locales/l10n-changesets.json"
+    TB_PREV_LOCALE_FILE="thunderbird-$PREV_VERSION/comm/mail/locales/l10n-changesets.json"
+    L10N_STRING_PATTERNS="thunderbird-$VERSION/comm/python/l10n/tbxchannel/l10n_merge.py"
   fi
 
   SOURCE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz"
@@ -100,7 +102,7 @@
       local CANDIDATE_TARBALL_LOCATION=""
       CANDIDATE_TARBALL_LOCATION="$(printf "%s/%s/source/%s" "$(get_ftp_candidates_url "$PRODUCT" "$VERSION$VERSION_SUFFIX")" "$BUILD_ID" "$TARBALL" )"
       if wget --spider "$CANDIDATE_TARBALL_LOCATION" 2> /dev/null; then
-          echo "Download UNRELEASED candidate"
+          echo "Download UNRELEASED candidate ($BUILD_ID)"
       else
           echo "Mercurial checkout"
       fi
@@ -313,8 +315,23 @@
     if [ "$PRODUCT" = "firefox" ]; then
       locales_unchanged "$PRODUCT" "$BUILD_ID"
     else
-      FF_BUILD_ID=$(get_build_number "firefox" "$VERSION$VERSION_SUFFIX")
-      locales_unchanged "$PRODUCT" "$BUILD_ID" && locales_unchanged "firefox" "$FF_BUILD_ID"
+      # Currently, upstream 'forgets' which Firefox-locales get used for which Thunderbird-release upon release
+      # so, instead of parsing upstream JSON-files, we rely on the previous tarball being there and comparing
+      # the lang-files directly
+      # FF_BUILD_ID=$(get_build_number "firefox" "$VERSION$VERSION_SUFFIX")
+      # locales_unchanged "$PRODUCT" "$BUILD_ID" && locales_unchanged "firefox" "$FF_BUILD_ID"
+      if [ -e "$PREV_SOURCE_TARBALL" ]; then 
+        echo "extract previous locale changesets"
+        tar -xf "$PREV_SOURCE_TARBALL" "$FF_PREV_LOCALE_FILE" "$TB_PREV_LOCALE_FILE"
+
+        curr_ff_content=$(locales_parse_file "$FF_LOCALE_FILE") || exit 1
+        prev_ff_content=$(locales_parse_file "$FF_PREV_LOCALE_FILE") || exit 1
+        curr_tb_content=$(locales_parse_file "$TB_LOCALE_FILE") || exit 1
+        prev_tb_content=$(locales_parse_file "$TB_PREV_LOCALE_FILE") || exit 1
+
+        diff -y --suppress-common-lines -d <(echo "$prev_ff_content") <(echo "$curr_ff_content") ||
+        diff -y --suppress-common-lines -d <(echo "$prev_tb_content") <(echo "$curr_tb_content")
+      fi
     fi
     LOCALES_CHANGED=$?
   fi
@@ -420,7 +437,7 @@
   echo "RELEASE_TIMESTAMP=$TIMESTAMP" >> "$TAR_STAMP"
 
   echo "creating archive..."
-  tar "$compression" -cf "$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz" --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS "$PRODUCT-$VERSION"
+  tar "$compression" -cf "$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz" --exclude-vcs "$PRODUCT-$VERSION"
   ALREADY_EXTRACTED_LOCALES_FILE=1
 }
 
@@ -501,13 +518,11 @@
       esac
     done
   echo "creating l10n archive..."
+  local TAR_FLAGS="--exclude-vcs"
   if [ "$PRODUCT" = "thunderbird" ]; then
-    TB_TAR_FLAGS="--exclude=suite"
+    TAR_FLAGS="$TAR_FLAGS --exclude=suite"
   fi
-  tar "$compression" -cf "l10n-$VERSION$VERSION_SUFFIX.tar.xz" \
-  --exclude=.hgtags --exclude=.hgignore --exclude=.hg \
-  "$TB_TAR_FLAGS" \
-  "$FINAL_L10N_BASE"
+  tar "$compression" -cf "l10n-$VERSION$VERSION_SUFFIX.tar.xz" $TAR_FLAGS "$FINAL_L10N_BASE"
 }
 
 function clean_up_old_tarballs() {
--- a/MozillaFirefox/gcc13-fix.patch	Tue Mar 07 11:48:25 2023 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../gcc13-fix.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-bmo1810584.patch	Tue Mar 07 11:48:25 2023 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-bmo1810584.patch
\ No newline at end of file
--- a/MozillaFirefox/tar_stamps	Tue Mar 07 11:48:25 2023 +0100
+++ b/MozillaFirefox/tar_stamps	Sun Mar 26 12:50:07 2023 +0200
@@ -1,10 +1,10 @@
 PRODUCT="firefox"
 CHANNEL="release"
-VERSION="110.0.1"
+VERSION="111.0.1"
 VERSION_SUFFIX=""
-PREV_VERSION="110.0"
+PREV_VERSION="111.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="36ae3bdd6923c31262b6452d02323e856a19e5af"
-RELEASE_TIMESTAMP="20230227191043"
+RELEASE_TAG="6e9b4327e238def619d5640de74b611fe51834ba"
+RELEASE_TIMESTAMP="20230321111920"
--- a/firefox-kde.patch	Tue Mar 07 11:48:25 2023 +0100
+++ b/firefox-kde.patch	Sun Mar 26 12:50:07 2023 +0200
@@ -3,7 +3,7 @@
 # Date 1559300151 -7200
 #      Fri May 31 12:55:51 2019 +0200
 # Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
-# Parent  95d798f72d832c953086aa27675498fdf84177f0
+# Parent  340817025937e2c69bb1643930d7dfdf63656a7b
 How to apply this patch:
 1. Import and apply it
 2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
@@ -33,12 +33,12 @@
      this.initBrowserContainers();
      this.buildContentProcessCountMenuList();
  
-     let performanceSettingsLink = document.getElementById(
-       "performanceSettingsLearnMore"
+     this.updateDefaultPerformanceSettingsPref();
+ 
+     let defaultPerformancePref = Preferences.get(
+       "browser.preferences.defaultPerformanceSettings.enabled"
      );
-     let performanceSettingsUrl =
-       Services.urlFormatter.formatURLPref("app.support.baseURL") +
-@@ -1333,16 +1340,27 @@ var gMainPane = {
+@@ -1298,16 +1305,27 @@ var gMainPane = {
        this._backoffIndex = 0;
  
        let shellSvc = getShellService();
--- a/gcc13-fix.patch	Tue Mar 07 11:48:25 2023 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp
---- a/tools/profiler/core/platform.cpp
-+++ b/tools/profiler/core/platform.cpp
-@@ -1176,11 +1176,11 @@
-       if (!profiledThreadData) {
-         // This thread was not profiled, continue with the next one.
-         continue;
-       }
-       ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
--          offThreadRef.LockedRWFromAnyThread();
-+          offThreadRef.GetLockedRWFromAnyThread();
-       MOZ_RELEASE_ASSERT(array.append(ProfiledThreadListElement{
-           profiledThreadData->Info().RegisterTime(),
-           lockedThreadData->GetJSContext(), profiledThreadData}));
-     }
- 
-@@ -4208,11 +4208,11 @@
-                   ProfileBufferEntry::Kind::RunningTimes, runningTimesDiff);
-             }
- 
-             if (threadStackSampling) {
-               ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock
--                  lockedThreadData = offThreadRef.LockedRWFromAnyThread();
-+                  lockedThreadData = offThreadRef.GetLockedRWFromAnyThread();
-               // Suspend the thread and collect its stack data in the local
-               // buffer.
-               mSampler.SuspendAndSampleAndResumeThread(
-                   lock, lockedThreadData.DataCRef(), now,
-                   [&](const Registers& aRegs, const TimeStamp& aNow) {
-@@ -4922,11 +4922,11 @@
-     ThreadProfilingFeatures threadProfilingFeatures =
-         ActivePS::ProfilingFeaturesForThread(
-             aLock, aOffThreadRef.UnlockedConstReaderCRef().Info());
-     if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) {
-       ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock
--          lockedRWFromAnyThread = aOffThreadRef.LockedRWFromAnyThread();
-+          lockedRWFromAnyThread = aOffThreadRef.GetLockedRWFromAnyThread();
- 
-       ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread(
-           aLock, MakeUnique<ProfiledThreadData>(
-                      aOffThreadRef.UnlockedConstReaderCRef().Info()));
-       lockedRWFromAnyThread->SetProfilingFeaturesAndData(
-@@ -5788,11 +5788,11 @@
- 
-     ThreadProfilingFeatures threadProfilingFeatures =
-         ActivePS::ProfilingFeaturesForThread(aLock, info);
-     if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) {
-       ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
--          offThreadRef.LockedRWFromAnyThread();
-+          offThreadRef.GetLockedRWFromAnyThread();
-       ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread(
-           aLock, MakeUnique<ProfiledThreadData>(info));
-       lockedThreadData->SetProfilingFeaturesAndData(threadProfilingFeatures,
-                                                     profiledThreadData, aLock);
-       lockedThreadData->GetNewCpuTimeInNs();
-@@ -6012,11 +6012,11 @@
-         ThreadProfilingFeatures::NotProfiled) {
-       continue;
-     }
- 
-     ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
--        offThreadRef.LockedRWFromAnyThread();
-+        offThreadRef.GetLockedRWFromAnyThread();
- 
-     lockedThreadData->ClearProfilingFeaturesAndData(aLock);
- 
-     if (ActivePS::FeatureJS(aLock)) {
-       lockedThreadData->StopJSSampling();
-@@ -6355,11 +6355,11 @@
- 
-   // We don't call StopJSSampling() here; there's no point doing that for a JS
-   // thread that is in the process of disappearing.
- 
-   ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData =
--      aOnThreadRef.LockedRWOnThread();
-+      aOnThreadRef.GetLockedRWOnThread();
- 
-   ProfiledThreadData* profiledThreadData =
-       lockedThreadData->GetProfiledThreadData(lock);
-   lockedThreadData->ClearProfilingFeaturesAndData(lock);
- 
-@@ -6876,11 +6876,11 @@
-         }
- 
-         // The profiler mutex must be locked before the ThreadRegistration's.
-         PSAutoLock lock;
-         ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData =
--            aOnThreadRef.LockedRWOnThread();
-+            aOnThreadRef.GetLockedRWOnThread();
- 
-         if (ProfiledThreadData* profiledThreadData =
-                 lockedThreadData->GetProfiledThreadData(lock);
-             profiledThreadData && ActivePS::Exists(lock) &&
-             ActivePS::FeatureJS(lock)) {
-diff --git a/tools/profiler/public/ProfilerThreadRegistration.h b/tools/profiler/public/ProfilerThreadRegistration.h
---- a/tools/profiler/public/ProfilerThreadRegistration.h
-+++ b/tools/profiler/public/ProfilerThreadRegistration.h
-@@ -212,18 +212,18 @@
- 
-       LockedRWOnThread& mLockedRWOnThread;
-       DataLock mDataLock;
-     };
- 
--    [[nodiscard]] RWOnThreadWithLock LockedRWOnThread() {
-+    [[nodiscard]] RWOnThreadWithLock GetLockedRWOnThread() {
-       return RWOnThreadWithLock{mThreadRegistration->mData,
-                                 mThreadRegistration->mDataMutex};
-     }
- 
-     template <typename F>
-     auto WithLockedRWOnThread(F&& aF) {
--      RWOnThreadWithLock lockedData = LockedRWOnThread();
-+      RWOnThreadWithLock lockedData = GetLockedRWOnThread();
-       return std::forward<F>(aF)(lockedData.DataRef());
-     }
- 
-     // This is needed to allow OnThreadPtr::operator-> to return a temporary
-     // OnThreadRef object, for which `->` must work; Here it provides a pointer
-diff --git a/tools/profiler/public/ProfilerThreadRegistry.h b/tools/profiler/public/ProfilerThreadRegistry.h
---- a/tools/profiler/public/ProfilerThreadRegistry.h
-+++ b/tools/profiler/public/ProfilerThreadRegistry.h
-@@ -175,18 +175,18 @@
- 
-       LockedRWFromAnyThread& mLockedRWFromAnyThread;
-       ThreadRegistration::DataLock mDataLock;
-     };
- 
--    [[nodiscard]] RWFromAnyThreadWithLock LockedRWFromAnyThread() {
-+    [[nodiscard]] RWFromAnyThreadWithLock GetLockedRWFromAnyThread() {
-       return RWFromAnyThreadWithLock{mThreadRegistration->mData,
-                                      mThreadRegistration->mDataMutex};
-     }
- 
-     template <typename F>
-     auto WithLockedRWFromAnyThread(F&& aF) {
--      RWFromAnyThreadWithLock lockedData = LockedRWFromAnyThread();
-+      RWFromAnyThreadWithLock lockedData = GetLockedRWFromAnyThread();
-       return std::forward<F>(aF)(lockedData.DataRef());
-     }
- 
-    private:
-     // Only ThreadRegistry should construct an OnThreadRef.
-diff --git a/tools/profiler/tests/gtest/GeckoProfiler.cpp b/tools/profiler/tests/gtest/GeckoProfiler.cpp
---- a/tools/profiler/tests/gtest/GeckoProfiler.cpp
-+++ b/tools/profiler/tests/gtest/GeckoProfiler.cpp
-@@ -620,11 +620,11 @@
-       // non-const LockedRWOnThread
- 
-       EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread());
-       {
-         TR::OnThreadRef::RWOnThreadWithLock rwOnThreadWithLock =
--            aOnThreadRef.LockedRWOnThread();
-+            aOnThreadRef.GetLockedRWOnThread();
-         EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread());
-         TestConstLockedRWOnThread(rwOnThreadWithLock.DataCRef(),
-                                   beforeRegistration, afterRegistration,
-                                   &onStackChar);
-         TestLockedRWOnThread(rwOnThreadWithLock.DataRef(), beforeRegistration,
-@@ -1019,11 +1019,11 @@
-         // non-const LockedRWFromAnyThread
- 
-         EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread());
-         {
-           TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock =
--              aOffThreadRef.LockedRWFromAnyThread();
-+              aOffThreadRef.GetLockedRWFromAnyThread();
-           if (profiler_current_thread_id() == testThreadId) {
-             EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread());
-           }
-           TestLockedRWFromAnyThread(rwFromAnyThreadWithLock.DataRef(),
-                                     beforeRegistration, afterRegistration,
-@@ -1156,11 +1156,11 @@
-                                                     aOffThreadRef) {
-           if (otherThreadLoops % 1000 == 0) {
-             PR_Sleep(PR_MillisecondsToInterval(1));
-           }
-           TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock =
--              aOffThreadRef.LockedRWFromAnyThread();
-+              aOffThreadRef.GetLockedRWFromAnyThread();
-           ++otherThreadReads;
-           if (otherThreadReads % 1000 == 0) {
-             PR_Sleep(PR_MillisecondsToInterval(1));
-           }
-         });
-
-diff --git a/gfx/2d/Rect.h b/gfx/2d/Rect.h
---- a/gfx/2d/Rect.h
-+++ b/gfx/2d/Rect.h
-@@ -10,16 +10,17 @@
- #include "BaseRect.h"
- #include "BaseMargin.h"
- #include "NumericTools.h"
- #include "Point.h"
- #include "Tools.h"
- #include "mozilla/Maybe.h"
- 
- #include <cmath>
-+#include <cstdint>
- 
- namespace mozilla {
- 
- template <typename>
- struct IsPixel;
- 
- namespace gfx {
- 
-diff --git a/toolkit/components/telemetry/pingsender/pingsender.cpp b/toolkit/components/telemetry/pingsender/pingsender.cpp
---- a/toolkit/components/telemetry/pingsender/pingsender.cpp
-+++ b/toolkit/components/telemetry/pingsender/pingsender.cpp
-@@ -1,14 +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/. */
- 
- #include <cstdlib>
-+#include <cstdint>
- #include <cstring>
- #include <ctime>
- #include <fstream>
- #include <iomanip>
- #include <string>
- #include <vector>
- 
- #include <zlib.h>
--- a/mozilla-bmo1810584.patch	Tue Mar 07 11:48:25 2023 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-
-# HG changeset patch
-# User Iain Ireland <iireland@mozilla.com>
-# Date 1674084161 0
-# Node ID 0a20a4613cc423258696c2e6200dc7d34f934cb6
-# Parent  26cacd18b61e629c8c45ca45c36770d3bf3f15b8
-Bug 1810584: Suppress false positive error for gcc r=mgaudet
-
-Differential Revision: https://phabricator.services.mozilla.com/D167194
-
-diff --git a/js/src/irregexp/moz.build b/js/src/irregexp/moz.build
---- a/js/src/irregexp/moz.build
-+++ b/js/src/irregexp/moz.build
-@@ -9,16 +9,20 @@ FINAL_LIBRARY = "js"
- # Includes should be relative to parent path
- LOCAL_INCLUDES += ["!..", ".."]
- 
- include("../js-config.mozbuild")
- include("../js-cxxflags.mozbuild")
- 
- CXXFLAGS += ["-Wno-error=type-limits", "-Wno-error=return-type"]
- 
-+# Suppress spurious warnings in third-party code. See bug 1810584.
-+if CONFIG["CC_TYPE"] == "gcc":
-+    CXXFLAGS += ["-Wno-error=nonnull"]
-+
- UNIFIED_SOURCES += [
-     "imported/regexp-bytecode-generator.cc",
-     "imported/regexp-bytecode-peephole.cc",
-     "imported/regexp-bytecodes.cc",
-     "imported/regexp-compiler-tonode.cc",
-     "imported/regexp-dotprinter.cc",
-     "imported/regexp-interpreter.cc",
-     "imported/regexp-macro-assembler-tracer.cc",
-
--- a/mozilla-silence-no-return-type.patch	Tue Mar 07 11:48:25 2023 +0100
+++ b/mozilla-silence-no-return-type.patch	Sun Mar 26 12:50:07 2023 +0200
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent  2ac470c477a4897e48ca399b50614af79fececc4
+# Parent  c9ee7d75ce3f624221f3ba8ef7c821f501c9a028
 
 diff --git a/Cargo.lock b/Cargo.lock
 --- a/Cargo.lock
 +++ b/Cargo.lock
-@@ -2367,18 +2367,16 @@ name = "glsl-to-cxx"
+@@ -2370,18 +2370,16 @@ name = "glsl-to-cxx"
  version = "0.1.0"
  dependencies = [
   "glsl",
@@ -26,9 +26,9 @@
 diff --git a/Cargo.toml b/Cargo.toml
 --- a/Cargo.toml
 +++ b/Cargo.toml
-@@ -155,16 +155,17 @@ chardetng_c = { git = "https://github.co
+@@ -158,16 +158,17 @@ chardetng_c = { git = "https://github.co
  coremidi = { git = "https://github.com/chris-zen/coremidi.git", rev="fc68464b5445caf111e41f643a2e69ccce0b4f83" }
- fog = { path = "toolkit/components/glean/api" }
+ firefox-on-glean = { path = "toolkit/components/glean/api" }
  libudev-sys = { path = "dom/webauthn/libudev-sys" }
  packed_simd = { package = "packed_simd_2", git = "https://github.com/hsivonen/packed_simd", rev="412f9a0aa556611de021bde89dee8fefe6e0fbbd" }
  midir = { git = "https://github.com/mozilla/midir.git", rev = "519e651241e867af3391db08f9ae6400bc023e18" }
@@ -37,13 +37,13 @@
  warp = { git = "https://github.com/glandium/warp", rev = "4af45fae95bc98b0eba1ef0db17e1dac471bb23d" }
 +glslopt = { path = "third_party/rust/glslopt/" }
  
+ cssparser = { git = "https://github.com/servo/rust-cssparser", rev = "d3670a89bae26ba3a8db4758eb7976616113987d" }
+ 
  # application-services overrides to make updating them all simpler.
- interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "51b984ecb21ba00694c3eee33364123a064a7cbb" }
- sql-support = { git = "https://github.com/mozilla/application-services", rev = "51b984ecb21ba00694c3eee33364123a064a7cbb" }
- sync15 = { git = "https://github.com/mozilla/application-services", rev = "51b984ecb21ba00694c3eee33364123a064a7cbb" }
- tabs = { git = "https://github.com/mozilla/application-services", rev = "51b984ecb21ba00694c3eee33364123a064a7cbb" }
- viaduct = { git = "https://github.com/mozilla/application-services", rev = "51b984ecb21ba00694c3eee33364123a064a7cbb" }
- webext-storage = { git = "https://github.com/mozilla/application-services", rev = "51b984ecb21ba00694c3eee33364123a064a7cbb" }
+ interrupt-support = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" }
+ sql-support = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" }
+ sync15 = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" }
+ tabs = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" }
 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
 +++ b/gfx/skia/skia/include/codec/SkEncodedOrigin.h
@@ -2140,27 +2140,6 @@
    // Adapt twice if the first adaptation did not decrease resolution.
    auto first_step = GetAdaptationDownStep(input_state, current_restrictions_);
    if (!absl::holds_alternative<RestrictionsWithCounters>(first_step)) {
-diff --git a/third_party/libwebrtc/call/simulated_network.cc b/third_party/libwebrtc/call/simulated_network.cc
---- a/third_party/libwebrtc/call/simulated_network.cc
-+++ b/third_party/libwebrtc/call/simulated_network.cc
-@@ -73,16 +73,17 @@ bool CoDelSimulation::DropDequeuedPacket
-           state_ = kPending;
-         last_drop_at_ = next_drop_at;
-         ++drop_count_;
-         return true;
-       }
-       return false;
-   }
-   RTC_CHECK_NOTREACHED();
-+  return false;
- }
- 
- SimulatedNetwork::SimulatedNetwork(Config config, uint64_t random_seed)
-     : random_(random_seed), bursting_(false) {
-   SetConfig(config);
- }
- 
- SimulatedNetwork::~SimulatedNetwork() = default;
 diff --git a/third_party/libwebrtc/call/video_send_stream.cc b/third_party/libwebrtc/call/video_send_stream.cc
 --- a/third_party/libwebrtc/call/video_send_stream.cc
 +++ b/third_party/libwebrtc/call/video_send_stream.cc
@@ -2241,7 +2220,7 @@
  
  // Maximum lengths that frame of samples being passed from the render side to
  // the capture side can have (does not apply to AEC3).
-@@ -1956,16 +1957,17 @@ void AudioProcessingImpl::InitializeNois
+@@ -1980,16 +1981,17 @@ void AudioProcessingImpl::InitializeNois
              case NoiseSuppresionConfig::kModerate:
                return NsConfig::SuppressionLevel::k12dB;
              case NoiseSuppresionConfig::kHigh:
--- a/series	Tue Mar 07 11:48:25 2023 +0100
+++ b/series	Sun Mar 26 12:50:07 2023 +0200
@@ -22,8 +22,6 @@
 one_swizzle_to_rule_them_all.patch
 svg-rendering.patch
 mozilla-buildfixes.patch
-mozilla-bmo1810584.patch
-gcc13-fix.patch
 
 # Firefox patches
 firefox-kde.patch