tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit e416ceb191fa05045277310a92f56367d3724783
parent 259f001882ee462540fc64b120e298320ecaf5c8
Author: Timothy Nikkel <tnikkel@gmail.com>
Date:   Wed, 15 Oct 2025 03:11:17 +0000

Bug 1991458. r=gfx-reviewers,nical,lsalzman

Differential Revision: https://phabricator.services.mozilla.com/D267389

Diffstat:
Mgfx/thebes/gfxPlatform.cpp | 17+++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp @@ -198,7 +198,9 @@ class CrashStatsLogForwarder : public mozilla::gfx::LogForwarder { private: // Helper for the Log() - void UpdateCrashReport(); + void UpdateCrashReport(const MutexAutoLock& aProofOfLock); + bool UpdateStringsVectorInternal(const std::string& aString, + const MutexAutoLock& aProofOfLock); private: LoggingRecord mBuffer; @@ -227,6 +229,12 @@ LoggingRecord CrashStatsLogForwarder::LoggingRecordCopy() { } bool CrashStatsLogForwarder::UpdateStringsVector(const std::string& aString) { + MutexAutoLock lock(mMutex); + return UpdateStringsVectorInternal(aString, lock); +} + +bool CrashStatsLogForwarder::UpdateStringsVectorInternal( + const std::string& aString, const MutexAutoLock& aProofOfLock) { // We want at least the first one and the last one. Otherwise, no point. if (mMaxCapacity < 2) { return false; @@ -254,7 +262,8 @@ bool CrashStatsLogForwarder::UpdateStringsVector(const std::string& aString) { return true; } -void CrashStatsLogForwarder::UpdateCrashReport() { +void CrashStatsLogForwarder::UpdateCrashReport( + const MutexAutoLock& aProofOfLock) { std::stringstream message; std::string logAnnotation; @@ -321,8 +330,8 @@ void CrashStatsLogForwarder::Log(const std::string& aString) { PROFILER_MARKER_TEXT("gfx::CriticalError", GRAPHICS, {}, nsDependentCString(aString.c_str())); - if (UpdateStringsVector(aString)) { - UpdateCrashReport(); + if (UpdateStringsVectorInternal(aString, lock)) { + UpdateCrashReport(lock); } // Add it to the parent strings