forked from pool/MozillaFirefox
- 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:
parent
708d958a66
commit
28f1396420
@ -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>
|
||||
|
||||
|
@ -29,8 +29,8 @@
|
||||
# major 69
|
||||
# mainver %%major.99
|
||||
%define major 111
|
||||
%define mainver %major.0
|
||||
%define orig_version 111.0
|
||||
%define mainver %major.0.1
|
||||
%define orig_version 111.0.1
|
||||
%define orig_suffix %{nil}
|
||||
%define update_channel release
|
||||
%define branding 1
|
||||
@ -228,6 +228,7 @@ Patch23: mozilla-bmo531915.patch
|
||||
Patch25: one_swizzle_to_rule_them_all.patch
|
||||
Patch26: svg-rendering.patch
|
||||
Patch27: mozilla-buildfixes.patch
|
||||
Patch28: mozilla-bmo1807652.patch
|
||||
# Firefox/browser
|
||||
Patch101: firefox-kde.patch
|
||||
Patch102: firefox-branded-icons.patch
|
||||
@ -401,7 +402,7 @@ EOF
|
||||
# Done with env-variables.
|
||||
source ./.obsenv.sh
|
||||
|
||||
%ifarch aarch64 %arm ppc64 ppc64le riscv64
|
||||
%ifarch aarch64 %arm ppc64 ppc64le riscv64 %ix86
|
||||
%limit_build -m 2500
|
||||
%endif
|
||||
|
||||
|
3
firefox-111.0.1.source.tar.xz
Normal file
3
firefox-111.0.1.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:84a4f3aba62df6e0451cdd28f8f1e59840d77c4062311947b0e59325c2ebdce8
|
||||
size 496209640
|
16
firefox-111.0.1.source.tar.xz.asc
Normal file
16
firefox-111.0.1.source.tar.xz.asc
Normal 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-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e1006c0872aa7eb30fb5a689413957f1e5fc8d2048b1637bf6f6fafdbd4ea55f
|
||||
size 495743080
|
@ -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
185
mozilla-bmo1807652.patch
Normal 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));
|
||||
}
|
||||
});
|
||||
|
@ -1,10 +1,10 @@
|
||||
PRODUCT="firefox"
|
||||
CHANNEL="release"
|
||||
VERSION="111.0"
|
||||
VERSION="111.0.1"
|
||||
VERSION_SUFFIX=""
|
||||
PREV_VERSION="110.0.1"
|
||||
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="97088d6d3b69ba54584eed707a64a2fe3277d24d"
|
||||
RELEASE_TIMESTAMP="20230309232128"
|
||||
RELEASE_TAG="6e9b4327e238def619d5640de74b611fe51834ba"
|
||||
RELEASE_TIMESTAMP="20230321111920"
|
||||
|
Loading…
Reference in New Issue
Block a user