- 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)
- fix build on Tumbleweed (mozilla-bmo1807652.patch)

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=1048
This commit is contained in:
Wolfgang Rosenauer 2023-03-26 17:00:08 +00:00 committed by Git OBS Bridge
parent fb4bdc5711
commit 9575c0b33f
9 changed files with 222 additions and 26 deletions

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Sun Mar 26 11:14:09 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)
- fix build on Tumbleweed (mozilla-bmo1807652.patch)
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Mar 14 14:29:09 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org> Tue Mar 14 14:29:09 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>

View File

@ -29,8 +29,8 @@
# major 69 # major 69
# mainver %%major.99 # mainver %%major.99
%define major 111 %define major 111
%define mainver %major.0 %define mainver %major.0.1
%define orig_version 111.0 %define orig_version 111.0.1
%define orig_suffix %{nil} %define orig_suffix %{nil}
%define update_channel release %define update_channel release
%define branding 1 %define branding 1
@ -228,6 +228,7 @@ Patch23: mozilla-bmo531915.patch
Patch25: one_swizzle_to_rule_them_all.patch Patch25: one_swizzle_to_rule_them_all.patch
Patch26: svg-rendering.patch Patch26: svg-rendering.patch
Patch27: mozilla-buildfixes.patch Patch27: mozilla-buildfixes.patch
Patch28: mozilla-bmo1807652.patch
# Firefox/browser # Firefox/browser
Patch101: firefox-kde.patch Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch Patch102: firefox-branded-icons.patch
@ -401,7 +402,7 @@ EOF
# Done with env-variables. # Done with env-variables.
source ./.obsenv.sh source ./.obsenv.sh
%ifarch aarch64 %arm ppc64 ppc64le riscv64 %ifarch aarch64 %arm ppc64 ppc64le riscv64 %ix86
%limit_build -m 2500 %limit_build -m 2500
%endif %endif

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:84a4f3aba62df6e0451cdd28f8f1e59840d77c4062311947b0e59325c2ebdce8
size 496209640

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmQZr4MACgkQ6+QekPbx
L21H0Q/+LBsVs0ozRECMsb5vCnoYxVs+LbP9p25ANApYCrsT806KjhKkGHMp76kJ
cSO8Zm77StATYWR0m8nNlfZKg7DRK1vncoBfmN8wCVdIZnTJDjkTKqPvIAKVdb46
57XrNd/RyXL3j5rlb/w7oF1EUfjgVF8ztFBt1v7AMKSkTi0XBGTBeB7QymaToXkl
213qK4yKP8MG2LndQRo8AfX6d0CPAHGqaLVZHwzMi3JVVB5nyMVQsiEwurGxLEMj
EmQPcMhLGZmfV/AVonrJhxZcV3U2nvr+lqmb69z+WazqeGdLrwJ66aOn4clWgkFk
rVdWOH8eo8FHBThYlvjp76OMdZSfRb/33kuMf4Qso2avBQ1PjnD07MneblXS3uT1
L4h/C3cwxwqwDTgJIxp8lKz3fHyan4aqGYowz7EDSyY//Z0onQ12KCkvyW5/366e
3koEizUNctbXaXl4VdrFl1AdwuIYQaX/44NwXcpI2tWm7utjOmeWmh6j2ZIzruds
PDr0rImdYvezydqDbDv2/eNhCkNhNsiApy0YwPfLGP4448bYuF6tlrjmLhl/A6cX
z8SgZgpkHG+RN0B6ttqgm2aftSdgsBQY77sMEMCBZ0zubbxbpDTAxHDj6RmQ9UK1
tgY0XcPSM3/uWPrIiINd3vxGrODJkemBHLm16GMO8869zOCtjIw=
=cX4D
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e1006c0872aa7eb30fb5a689413957f1e5fc8d2048b1637bf6f6fafdbd4ea55f
size 495743080

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmQKdI8ACgkQ6+QekPbx
L20sdBAArUNklpihJAgZBrUp5k7mSGfQRL5/4x2V2utbfC13IusTe8RmrLqcG0ql
o58wUTvCXaydCKA2+xb7eb9VTAk/6k/RjMI5sB+++rUgd6PtEMQ99D97/9rDNI9s
NgDTHJ9677e4Z3sW1gwC28aRM3kbJnjhX5n+RVbbD7a6D++H8r0rW8bSTtVTWWYy
cfoDCPuW3JRpvoh6TF9oBeKxs5Fx5Ts3tGwn2xt3OhYUdUxqH8cAMchgu53pBkgI
UF5jXSmkKJL3JrbGd/lJEtcJsVlBI6mZsUwSksxcdT7qHF0vaKu4uV92oosfNQTF
27LZm0t6bk0KzFxQcaUlMjoi9qf5UHu+36EdR89KL//1/nhUtujuxUuY9eR4uy70
H2ykschlg527WbRgXR9cTVZZJelj6J0nBSNzDCi7ukF5C4ALlQwqHfqIbVUI1WPm
jMoIwpRg8oWJrug/X+UlRqiMm5Kd5aDl3kdTvB4wFVr6G1K4aAfU3qEUUA83M7gY
b5nNrCy4T4HLBP5xSDafMTGxdjhsDceJqMsrdPlpIV7vaX12rC/6gfjQSC7TvcQA
kMqhAMXf1INV2cpCtRO1sMxCmZx3rrJlXQ1pympRVBXBofZ+vHZq0qMVY3F4gvcy
G9od9NrjBYapCL2dntI9lZ6A31FgMOhJDxu6ZX+TbOK+BBQuJMI=
=4FUn
-----END PGP SIGNATURE-----

185
mozilla-bmo1807652.patch Normal file
View File

@ -0,0 +1,185 @@
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));
}
});

View File

@ -1,10 +1,10 @@
PRODUCT="firefox" PRODUCT="firefox"
CHANNEL="release" CHANNEL="release"
VERSION="111.0" VERSION="111.0.1"
VERSION_SUFFIX="" VERSION_SUFFIX=""
PREV_VERSION="110.0.1" PREV_VERSION="111.0"
PREV_VERSION_SUFFIX="" PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release" RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
RELEASE_TAG="97088d6d3b69ba54584eed707a64a2fe3277d24d" RELEASE_TAG="6e9b4327e238def619d5640de74b611fe51834ba"
RELEASE_TIMESTAMP="20230309232128" RELEASE_TIMESTAMP="20230321111920"