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>
|
Tue Mar 14 14:29:09 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
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"
|
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"
|
||||||
|
Loading…
Reference in New Issue
Block a user