Index: branches/2018Q2/www/waterfox/Makefile =================================================================== --- branches/2018Q2/www/waterfox/Makefile (revision 470347) +++ branches/2018Q2/www/waterfox/Makefile (revision 470348) @@ -1,74 +1,75 @@ # $FreeBSD$ PORTNAME= waterfox DISTVERSION= 56.2.0-7 DISTVERSIONSUFFIX= -g436898372f858 +PORTREVISION= 1 CATEGORIES= www ipv6 MAINTAINER= jbeich@FreeBSD.org COMMENT= Distilled fork of Firefox DEPRECATED= Temporary experiment EXPIRATION_DATE=2018-07-03 BUILD_DEPENDS= nspr>=4.16:devel/nspr \ nss>=3.32.1:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=1.4.7:print/harfbuzz \ graphite2>=1.3.10:graphics/graphite2 \ png>=1.6.31:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.19.3:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ zip:archivers/zip # soundtouch>=1.9.0:audio/soundtouch \ LIB_DEPENDS= libv4l2.so:multimedia/libv4l USE_GITHUB= yes GH_ACCOUNT= MrAlex94 GH_PROJECT= Waterfox USE_GECKO= gecko MOZ_PKGCONFIG_FILES= # empty USE_MOZILLA= -soundtouch MOZILLA_NAME= Waterfox USE_GL= gl WATERFOX_ICON= ${MOZILLA}.png WATERFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default256.png WATERFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/firefox-snap/firefox.desktop MOZ_OPTIONS= --enable-application=browser \ --with-app-name=${MOZILLA} \ --with-app-basename=${MOZILLA_NAME} \ --with-distribution-id=org.${MOZILLA}project OPTIONS_DEFAULT= BUNDLED_CAIRO .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e 's/firefox/${MOZILLA}/' \ -e 's/Firefox/${MOZILLA_NAME}/' \ ${WATERFOX_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} ${WATERFOX_DESKTOP} \ ${STAGEDIR}${PREFIX}/share/applications/${MOZILLA}.desktop ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${WATERFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${WATERFOX_ICON} .include Index: branches/2018Q2/www/waterfox/files/patch-bug1450448 =================================================================== --- branches/2018Q2/www/waterfox/files/patch-bug1450448 (nonexistent) +++ branches/2018Q2/www/waterfox/files/patch-bug1450448 (revision 470348) @@ -0,0 +1,40 @@ +commit fbba8d988c94 +Author: Johann Hofmann +Date: Tue May 15 22:02:33 2018 +0200 + + Bug 1450448 - Correctly handle non-initialized appCache in site data preferences. r=Gijs, a=RyanVM + + MozReview-Commit-ID: IhQGAWNQtR0 + + --HG-- + extra : rebase_source : c1e902883a977c54ccafd4a1c3042d0a17660996 + extra : source : 9f41afd3012718d839033663196a746a47065007 +--- + browser/modules/SiteDataManager.jsm | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git browser/components/preferences/SiteDataManager.jsm browser/components/preferences/SiteDataManager.jsm +index 118a40ce38fc8..9e08e00c38c5b 100644 +--- browser/components/preferences/SiteDataManager.jsm ++++ browser/components/preferences/SiteDataManager.jsm +@@ -192,7 +192,19 @@ var SiteDataManager = { + }, + + _updateAppCache() { +- let groups = this._appCache.getGroups(); ++ let groups; ++ try { ++ groups = this._appCache.getGroups(); ++ } catch (e) { ++ // NS_ERROR_NOT_AVAILABLE means that appCache is not initialized, ++ // which probably means the user has disabled it. Otherwise, log an ++ // error. Either way, there's nothing we can do here. ++ if (e.result != Cr.NS_ERROR_NOT_AVAILABLE) { ++ Cu.reportError(e); ++ } ++ return; ++ } ++ + for (let group of groups) { + let cache = this._appCache.getActiveCache(group); + if (cache.usage <= 0) { Property changes on: branches/2018Q2/www/waterfox/files/patch-bug1450448 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2018Q2/www/waterfox/files/patch-bug1456524 =================================================================== --- branches/2018Q2/www/waterfox/files/patch-bug1456524 (nonexistent) +++ branches/2018Q2/www/waterfox/files/patch-bug1456524 (revision 470348) @@ -0,0 +1,122 @@ +commit 7813b28f0e98 +Author: Sean Stangl +Date: Thu May 17 14:06:00 2018 -0400 + + Bug 1456524 - Maintain MoveResolver invariants. r=jandem, a=RyanVM + + The MoveResolver is a persistent data structure that requires + state to not leak between borrowers. An early-exit optimization + in the case of OOM allows for state to leak, leading to impossible + move list inputs, tripping assertions. + + --HG-- + extra : rebase_source : 38c5d7afaa4b6394ced3266b90032b8e3bdba351 +--- + js/src/jit/MacroAssembler.h | 5 +++++ + js/src/jit/MoveResolver.cpp | 7 +++++++ + js/src/jit/MoveResolver.h | 3 +++ + js/src/jit/arm/MacroAssembler-arm.cpp | 2 +- + js/src/jit/mips32/MacroAssembler-mips32.cpp | 2 +- + js/src/jit/mips64/MacroAssembler-mips64.cpp | 2 +- + 6 files changed, 18 insertions(+), 3 deletions(-) + +diff --git js/src/jit/MacroAssembler.h js/src/jit/MacroAssembler.h +index b2cc464aafcc4..cef8c094b70c5 100644 +--- js/src/jit/MacroAssembler.h ++++ js/src/jit/MacroAssembler.h +@@ -334,6 +334,11 @@ class MacroAssembler : public MacroAssemblerSpecific + + public: + MoveResolver& moveResolver() { ++ // As an optimization, the MoveResolver is a persistent data structure ++ // shared between visitors in the CodeGenerator. This assertion ++ // checks that state is not leaking from visitor to visitor ++ // via an unresolved addMove(). ++ MOZ_ASSERT(moveResolver_.hasNoPendingMoves()); + return moveResolver_; + } + +diff --git js/src/jit/MoveResolver.cpp js/src/jit/MoveResolver.cpp +index bd71d0acea44d..d79af5053b79c 100644 +--- js/src/jit/MoveResolver.cpp ++++ js/src/jit/MoveResolver.cpp +@@ -7,6 +7,7 @@ + #include "jit/MoveResolver.h" + + #include "mozilla/Attributes.h" ++#include "mozilla/ScopeExit.h" + + #include "jit/MacroAssembler.h" + #include "jit/RegisterSets.h" +@@ -178,12 +179,18 @@ SplitIntoUpperHalf(const MoveOperand& move) + } + #endif + ++// Resolves the pending_ list to a list in orderedMoves_. + bool + MoveResolver::resolve() + { + resetState(); + orderedMoves_.clear(); + ++ // Upon return from this function, the pending_ list must be cleared. ++ auto clearPending = mozilla::MakeScopeExit([this]() { ++ pending_.clear(); ++ }); ++ + #ifdef JS_CODEGEN_ARM + // Some of ARM's double registers alias two of its single registers, + // but the algorithm below assumes that every register can participate +diff --git js/src/jit/MoveResolver.h js/src/jit/MoveResolver.h +index d9a9415488704..d094ee1307563 100644 +--- js/src/jit/MoveResolver.h ++++ js/src/jit/MoveResolver.h +@@ -333,6 +333,9 @@ class MoveResolver + uint32_t numCycles() const { + return numCycles_; + } ++ bool hasNoPendingMoves() const { ++ return pending_.empty(); ++ } + void setAllocator(TempAllocator& alloc) { + movePool_.setAllocator(alloc); + } +diff --git js/src/jit/arm/MacroAssembler-arm.cpp js/src/jit/arm/MacroAssembler-arm.cpp +index a3985f2c24d1f..86e86310cc129 100644 +--- js/src/jit/arm/MacroAssembler-arm.cpp ++++ js/src/jit/arm/MacroAssembler-arm.cpp +@@ -4593,7 +4593,7 @@ MacroAssembler::callWithABIPre(uint32_t* stackAdjust, bool callFromWasm) + + // Position all arguments. + { +- enoughMemory_ = enoughMemory_ && moveResolver_.resolve(); ++ enoughMemory_ &= moveResolver_.resolve(); + if (!enoughMemory_) + return; + +diff --git js/src/jit/mips32/MacroAssembler-mips32.cpp js/src/jit/mips32/MacroAssembler-mips32.cpp +index 8f2fec7948b75..ef0a9136f4e39 100644 +--- js/src/jit/mips32/MacroAssembler-mips32.cpp ++++ js/src/jit/mips32/MacroAssembler-mips32.cpp +@@ -2191,7 +2191,7 @@ MacroAssembler::callWithABIPre(uint32_t* stackAdjust, bool callFromWasm) + + // Position all arguments. + { +- enoughMemory_ = enoughMemory_ && moveResolver_.resolve(); ++ enoughMemory_ &= moveResolver_.resolve(); + if (!enoughMemory_) + return; + +diff --git js/src/jit/mips64/MacroAssembler-mips64.cpp js/src/jit/mips64/MacroAssembler-mips64.cpp +index c944b0427aaee..8eec6bac047e4 100644 +--- js/src/jit/mips64/MacroAssembler-mips64.cpp ++++ js/src/jit/mips64/MacroAssembler-mips64.cpp +@@ -2040,7 +2040,7 @@ MacroAssembler::callWithABIPre(uint32_t* stackAdjust, bool callFromWasm) + + // Position all arguments. + { +- enoughMemory_ = enoughMemory_ && moveResolver_.resolve(); ++ enoughMemory_ &= moveResolver_.resolve(); + if (!enoughMemory_) + return; + Property changes on: branches/2018Q2/www/waterfox/files/patch-bug1456524 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2018Q2/www/waterfox/files/patch-bug1459162 =================================================================== --- branches/2018Q2/www/waterfox/files/patch-bug1459162 (nonexistent) +++ branches/2018Q2/www/waterfox/files/patch-bug1459162 (revision 470348) @@ -0,0 +1,71 @@ +commit 7588031f0792 +Author: Jonathan Kew +Date: Thu May 17 09:49:58 2018 +0100 + + Bug 1459162 - Update dimensions early in ClearTarget. r=lsalzman a=abillings +--- + dom/canvas/CanvasRenderingContext2D.cpp | 14 +++++++++----- + dom/canvas/CanvasRenderingContext2D.h | 5 ++++- + 2 files changed, 13 insertions(+), 6 deletions(-) + +diff --git dom/canvas/CanvasRenderingContext2D.cpp dom/canvas/CanvasRenderingContext2D.cpp +index 1e057824a4675..4501ffaff2d97 100644 +--- dom/canvas/CanvasRenderingContext2D.cpp ++++ dom/canvas/CanvasRenderingContext2D.cpp +@@ -1928,8 +1928,6 @@ CanvasRenderingContext2D::GetHeight() const + NS_IMETHODIMP + CanvasRenderingContext2D::SetDimensions(int32_t aWidth, int32_t aHeight) + { +- ClearTarget(); +- + // Zero sized surfaces can cause problems. + mZero = false; + if (aHeight == 0) { +@@ -1940,14 +1938,14 @@ CanvasRenderingContext2D::SetDimensions(int32_t aWidth, int32_t aHeight) + aWidth = 1; + mZero = true; + } +- mWidth = aWidth; +- mHeight = aHeight; ++ ++ ClearTarget(aWidth, aHeight); + + return NS_OK; + } + + void +-CanvasRenderingContext2D::ClearTarget() ++CanvasRenderingContext2D::ClearTarget(int32_t aWidth, int32_t aHeight) + { + Reset(); + +@@ -1955,6 +1953,12 @@ CanvasRenderingContext2D::ClearTarget() + + SetInitialState(); + ++ // Update dimensions only if new (strictly positive) values were passed. ++ if (aWidth > 0 && aHeight > 0) { ++ mWidth = aWidth; ++ mHeight = aHeight; ++ } ++ + // For vertical writing-mode, unless text-orientation is sideways, + // we'll modify the initial value of textBaseline to 'middle'. + RefPtr canvasStyle; +diff --git dom/canvas/CanvasRenderingContext2D.h dom/canvas/CanvasRenderingContext2D.h +index 6f0f6279e0cf5..c2ed098b053d0 100644 +--- dom/canvas/CanvasRenderingContext2D.h ++++ dom/canvas/CanvasRenderingContext2D.h +@@ -683,8 +683,11 @@ protected: + + /** + * Disposes an old target and prepares to lazily create a new target. ++ * ++ * Parameters are the new dimensions to be used, or if either is negative, ++ * existing dimensions will be left unchanged. + */ +- void ClearTarget(); ++ void ClearTarget(int32_t aWidth = -1, int32_t aHeight = -1); + + /* + * Returns the target to the buffer provider. i.e. this will queue a frame for Property changes on: branches/2018Q2/www/waterfox/files/patch-bug1459162 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2018Q2 =================================================================== --- branches/2018Q2 (revision 470347) +++ branches/2018Q2 (revision 470348) Property changes on: branches/2018Q2 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r470343