Index: head/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile (revision 568896) +++ head/www/firefox/Makefile (revision 568897) @@ -1,61 +1,61 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 86.0.1 +DISTVERSION= 87.0 PORTEPOCH= 2 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build3/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.26:devel/nspr \ nss>=3.58:security/nss \ icu>=67.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=2.6.8:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.35:graphics/png \ libvpx>=1.8.2:multimedia/libvpx \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ nasm:devel/nasm \ yasm:devel/yasm \ zip:archivers/zip USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr USE_MOZILLA= -sqlite CFLAGS_powerpc64le= -DSQLITE_BYTEORDER=1234 USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: head/www/firefox/distinfo =================================================================== --- head/www/firefox/distinfo (revision 568896) +++ head/www/firefox/distinfo (revision 568897) @@ -1,3 +1,3 @@ -TIMESTAMP = 1615464256 -SHA256 (firefox-86.0.1.source.tar.xz) = 74f99c226ae6747f0170566f4f88be410866b0120214d2a593566cd1fff3d3df -SIZE (firefox-86.0.1.source.tar.xz) = 369541992 +TIMESTAMP = 1616281703 +SHA256 (firefox-87.0.source.tar.xz) = ce98be0522f971b6950f22c738c4b2caf19cf7f48ab2ae2e6d46694af7fd58ab +SIZE (firefox-87.0.source.tar.xz) = 377285124 Index: head/www/firefox/files/patch-bug1664115 =================================================================== --- head/www/firefox/files/patch-bug1664115 (revision 568896) +++ head/www/firefox/files/patch-bug1664115 (revision 568897) @@ -1,82 +1,78 @@ Revert bug 1647717 to workaround the issue of occational tab crashing when using any cubeb backends other than pulse-rust to play media. The loss of such change will be that users will not be able to do profiling on threads created by libcubeb. -diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp -index 1b62a26ab32b2..35c61f612bf72 100644 ---- dom/media/AudioStream.cpp -+++ dom/media/AudioStream.cpp -@@ -25,7 +25,6 @@ +--- dom/media/AudioStream.cpp.orig 2021-03-20 22:57:21.194862000 +0100 ++++ dom/media/AudioStream.cpp 2021-03-20 23:00:50.527112000 +0100 +@@ -26,7 +26,6 @@ #endif #include "Tracing.h" #include "webaudio/blink/DenormalDisabler.h" -#include "AudioThreadRegistry.h" // Use abort() instead of exception in SoundTouch. #define ST_NO_EXCEPTION_HANDLING 1 -@@ -138,9 +137,7 @@ +@@ -139,9 +138,7 @@ mTimeStretcher(nullptr), mState(INITIALIZED), mDataSource(aSource), - mPrefillQuirk(false), - mAudioThreadId(0), -- mSandboxed(CubebUtils::SandboxEnabled()) { -+ mPrefillQuirk(false) { - #if defined(XP_WIN) - if (XRE_IsContentProcess()) { - audio::AudioNotificationReceiver::Register(this); -@@ -587,21 +584,7 @@ +- mSandboxed(CubebUtils::SandboxEnabled()) {} ++ mPrefillQuirk(false) {} + + AudioStream::~AudioStream() { + LOG("deleted, state %d", mState); +@@ -565,21 +562,7 @@ aWriter.Available()); } -bool AudioStream::CheckThreadIdChanged() { -#ifdef MOZ_GECKO_PROFILER - auto id = profiler_current_thread_id(); - if (id != mAudioThreadId) { - mAudioThreadId = id; - return true; - } -#endif - return false; -} - long AudioStream::DataCallback(void* aBuffer, long aFrames) { - if (!mSandboxed && CheckThreadIdChanged()) { - CubebUtils::GetAudioThreadRegistry()->Register(mAudioThreadId); - } WebCore::DenormalDisabler disabler; TRACE_AUDIO_CALLBACK_BUDGET(aFrames, mAudioClock.GetInputRate()); -@@ -657,9 +640,6 @@ +@@ -635,9 +618,6 @@ mDumpFile.Write(static_cast(aBuffer), aFrames * mOutChannels); - if (!mSandboxed && writer.Available() != 0) { - CubebUtils::GetAudioThreadRegistry()->Unregister(mAudioThreadId); - } return aFrames - writer.Available(); } -diff --git dom/media/AudioStream.h dom/media/AudioStream.h -index 933e4cb3bfdb5..5d2181e632af9 100644 ---- dom/media/AudioStream.h -+++ dom/media/AudioStream.h -@@ -307,7 +307,6 @@ class AudioStream final +--- dom/media/AudioStream.h.orig 2021-03-20 23:01:10.169773000 +0100 ++++ dom/media/AudioStream.h 2021-03-20 23:01:56.622691000 +0100 +@@ -294,7 +294,6 @@ template int InvokeCubeb(Function aFunction, Args&&... aArgs); - bool CheckThreadIdChanged(); // The monitor is held to protect all access to member variables. Monitor mMonitor; -@@ -341,9 +340,6 @@ class AudioStream final +@@ -328,9 +327,6 @@ // the default device is used. It is set // during the Init() in decoder thread. RefPtr mSinkInfo; - /* Contains the id of the audio thread, from profiler_get_thread_id. */ - std::atomic mAudioThreadId; - const bool mSandboxed = false; MozPromiseHolder mEndedPromise; Atomic mPlaybackComplete;