Index: branches/2020Q2/Mk/bsd.gecko.mk =================================================================== --- branches/2020Q2/Mk/bsd.gecko.mk (revision 537511) +++ branches/2020Q2/Mk/bsd.gecko.mk (revision 537512) @@ -1,397 +1,398 @@ #-*- tab-width: 4; -*- # ex:ts=4 # # Date created: 12 Nov 2005 # Whom: Michael Johnson # # $FreeBSD$ # # 4 column tabs prevent hair loss and tooth decay! # bsd.gecko.mk abstracts the selection of gecko-based backends. It allows users # and porters to support any available gecko backend without needing to build # many conditional tests. ${USE_GECKO} is the list of backends that your port # can handle, and ${GECKO} is set by bsd.gecko.mk to be the chosen backend. # Users set ${WITH_GECKO} to the list of gecko backends they want on their # system. .if defined(USE_GECKO) .if !defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include) Gecko_Pre_Include= bsd.gecko.mk # This file contains some reusable components for mozilla ports. It's of # use primarily to apps from the mozilla project itself (such as Firefox, # Thunderbird, etc.), and probably won't be of use for gecko-based ports # like epiphany, galeon, etc. # # You need to make sure to add USE_GECKO=gecko to for your port can uses # one of these options below. # # Ports can use the following: # # USE_MOZILLA By default, it enables every system dependency # listed in '_ALL_DEPENDS'. If your port doesn't # need one of those then you can use '-' like # 'USE_MOZILLA= -png -vpx' to subtract the # dependencies. Experimental deps use '+' like # 'USE_MOZILLA= +speex +theora'. # # MOZILLA_PLIST_DIRS List of directories to descend into when installing # and creating the plist # # MOZ_OPTIONS configure arguments (added to .mozconfig). If # NOMOZCONFIG is defined, you probably want to set # CONFIGURE_ARGS+=${MOZ_OPTIONS} # # MOZ_MK_OPTIONS The make(1) arguments (added to .mozconfig). If # NOMOZCONFIG is defined, you probably want to set # MAKE_ARGS+=${MOZ_MK_OPTIONS} # # MOZ_EXPORT Environment variables for the build process (added # to .mozconfig). If NOMOZCONFIG is defined, you # probably want to set MAKE_ENV+=${MOZ_EXPORT} # # NOMOZCONFIG Don't drop a customized .mozconfig into the build # directory. Options will have to be specified in # CONFIGURE_ARGS instead # MAINTAINER?= gecko@FreeBSD.org MOZILLA?= ${PORTNAME} MOZILLA_VER?= ${PORTVERSION} MOZILLA_BIN?= ${PORTNAME}-bin MOZILLA_EXEC_NAME?=${MOZILLA} USES+= compiler:c++17-lang cpe gl gmake gnome iconv localbase perl5 pkgconfig \ python:2.7,build desktop-file-utils CPE_VENDOR?=mozilla USE_GL= gl USE_GNOME= cairo gdkpixbuf2 gtk20 gtk30 USE_PERL5= build USE_XORG= x11 xcb xcomposite xdamage xext xfixes xrender xt HAS_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes LDFLAGS+= -Wl,--as-needed +BINARY_ALIAS+= python3=python${PYTHON3_DEFAULT} BUNDLE_LIBS= yes BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \ rust-cbindgen>=0.13.1:devel/rust-cbindgen \ ${RUST_DEFAULT}>=1.41:lang/${RUST_DEFAULT} \ ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} \ node:www/node MOZ_EXPORT+= ${CONFIGURE_ENV} \ LLVM_CONFIG=llvm-config${LLVM_DEFAULT} \ PERL="${PERL}" \ PYTHON3="${LOCALBASE}/bin/python${PYTHON3_DEFAULT}" \ RUSTFLAGS="${RUSTFLAGS}" MOZ_OPTIONS+= --prefix="${PREFIX}" MOZ_MK_OPTIONS+=MOZ_OBJDIR="${BUILD_WRKSRC}" # Require newer Clang than what's in base system unless user opted out . if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so) BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT} USES:= ${USES:Ncompiler\:*} # XXX avoid warnings . endif MOZSRC?= ${WRKSRC} PLISTF?= ${WRKDIR}/plist_files MOZCONFIG?= ${WRKSRC}/.mozconfig MOZILLA_PLIST_DIRS?= bin lib share/pixmaps share/applications # Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk .if ${ARCH} == amd64 || ${ARCH} == i386 RUSTFLAGS+= ${CFLAGS:M-march=*:S/-march=/-C target-cpu=/} .else RUSTFLAGS+= ${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/} .endif # Standard depends _ALL_DEPENDS= av1 event ffi graphite harfbuzz icu jpeg nspr nss png pixman sqlite vpx webp .if exists(${FILESDIR}/patch-bug1559213) av1_LIB_DEPENDS= libaom.so:multimedia/aom libdav1d.so:multimedia/dav1d av1_MOZ_OPTIONS= --with-system-av1 .endif event_LIB_DEPENDS= libevent.so:devel/libevent event_MOZ_OPTIONS= --with-system-libevent ffi_LIB_DEPENDS= libffi.so:devel/libffi ffi_MOZ_OPTIONS= --enable-system-ffi .if exists(${FILESDIR}/patch-bug847568) graphite_LIB_DEPENDS= libgraphite2.so:graphics/graphite2 graphite_MOZ_OPTIONS= --with-system-graphite2 harfbuzz_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz harfbuzz_MOZ_OPTIONS= --with-system-harfbuzz .endif icu_LIB_DEPENDS= libicui18n.so:devel/icu icu_MOZ_OPTIONS= --with-system-icu --with-intl-api -jpeg_BUILD_DEPENDS=yasm:devel/yasm jpeg_USES= jpeg jpeg_MOZ_OPTIONS= --with-system-jpeg=${LOCALBASE} nspr_LIB_DEPENDS= libnspr4.so:devel/nspr nspr_MOZ_OPTIONS= --with-system-nspr nss_LIB_DEPENDS= libnss3.so:security/nss nss_MOZ_OPTIONS= --with-system-nss pixman_LIB_DEPENDS= libpixman-1.so:x11/pixman pixman_MOZ_OPTIONS= --enable-system-pixman png_LIB_DEPENDS= libpng.so:graphics/png png_MOZ_OPTIONS= --with-system-png=${LOCALBASE} sqlite_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 sqlite_MOZ_OPTIONS= --enable-system-sqlite -vpx_BUILD_DEPENDS= yasm:devel/yasm vpx_LIB_DEPENDS= libvpx.so:multimedia/libvpx vpx_MOZ_OPTIONS= --with-system-libvpx webp_LIB_DEPENDS= libwebp.so:graphics/webp webp_MOZ_OPTIONS= --with-system-webp .for use in ${USE_MOZILLA} ${use:S/-/_WITHOUT_/}= ${TRUE} .endfor LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 .for dep in ${_ALL_DEPENDS} ${USE_MOZILLA:M+*:S/+//} .if !defined(_WITHOUT_${dep}) BUILD_DEPENDS+= ${${dep}_BUILD_DEPENDS} LIB_DEPENDS+= ${${dep}_LIB_DEPENDS} RUN_DEPENDS+= ${${dep}_RUN_DEPENDS} USES+= ${${dep}_USES} MOZ_OPTIONS+= ${${dep}_MOZ_OPTIONS} .else BUILD_DEPENDS+= ${-${dep}_BUILD_DEPENDS} .endif .endfor # Standard options MOZ_OPTIONS+= \ --enable-update-channel=${PKGNAMESUFFIX:Urelease:S/^-//} \ --disable-updater \ --with-system-zlib \ --with-system-bz2 # API keys from www/chromium # http://www.chromium.org/developers/how-tos/api-keys # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. MOZ_EXPORT+= MOZ_GOOGLE_LOCATION_SERVICE_API_KEY=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8 MOZ_EXPORT+= MOZ_GOOGLE_SAFEBROWSING_API_KEY=AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8 .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} CFLAGS+= -O3 MOZ_EXPORT+= MOZ_OPTIMIZE_FLAGS="${CFLAGS:M-O*}" MOZ_OPTIONS+= --enable-optimize .else MOZ_OPTIONS+= --disable-optimize . if ${/usr/bin/ld:L:tA} != /usr/bin/ld.lld # ld 2.17 barfs on Stylo built with -C opt-level=0 USE_BINUTILS= yes LDFLAGS+= -B${LOCALBASE}/bin . endif .endif .if ${PORT_OPTIONS:MCANBERRA} RUN_DEPENDS+= libcanberra>0:audio/libcanberra .endif .if ${PORT_OPTIONS:MDBUS} BUILD_DEPENDS+= libnotify>0:devel/libnotify LIB_DEPENDS+= libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libstartup-notification-1.so:x11/startup-notification MOZ_OPTIONS+= --enable-startup-notification .else MOZ_OPTIONS+= --disable-dbus .endif .if ${PORT_OPTIONS:MFFMPEG} # dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp RUN_DEPENDS+= ffmpeg>=0.8,1:multimedia/ffmpeg .endif .if ${PORT_OPTIONS:MGCONF} # XXX USE_GNOME+=gconf2:build is not supported BUILD_DEPENDS+= ${LOCALBASE}/lib/libgconf-2.so:devel/gconf2 MOZ_OPTIONS+= --enable-gconf .else MOZ_OPTIONS+= --disable-gconf .endif .if ${PORT_OPTIONS:MLIBPROXY} LIB_DEPENDS+= libproxy.so:net/libproxy MOZ_OPTIONS+= --enable-libproxy .else MOZ_OPTIONS+= --disable-libproxy .endif .if ${PORT_OPTIONS:MALSA} BUILD_DEPENDS+= ${LOCALBASE}/include/alsa/asoundlib.h:audio/alsa-lib RUN_DEPENDS+= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins RUN_DEPENDS+= alsa-lib>=1.1.1_1:audio/alsa-lib MOZ_OPTIONS+= --enable-alsa .endif .if ${PORT_OPTIONS:MJACK} BUILD_DEPENDS+= ${LOCALBASE}/include/jack/jack.h:audio/jack MOZ_OPTIONS+= --enable-jack .endif .if ${PORT_OPTIONS:MPULSEAUDIO} BUILD_DEPENDS+= ${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio MOZ_OPTIONS+= --enable-pulseaudio .else MOZ_OPTIONS+= --disable-pulseaudio .endif .if ${PORT_OPTIONS:MSNDIO} BUILD_DEPENDS+= ${LOCALBASE}/include/sndio.h:audio/sndio post-patch-SNDIO-on: @${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \ -e '/DISABLE_LIBSNDIO_DLOPEN/d' \ ${MOZSRC}/media/libcubeb/src/moz.build .endif .if ${PORT_OPTIONS:MDEBUG} MOZ_OPTIONS+= --enable-debug --disable-release STRIP= # ports/184285 .else MOZ_OPTIONS+= --disable-debug --disable-debug-symbols --enable-release . if ${ARCH:Maarch64} || ${MACHINE_CPU:Msse2} MOZ_OPTIONS+= --enable-rust-simd . endif .endif .if ${PORT_OPTIONS:MPROFILE} MOZ_OPTIONS+= --enable-profiling STRIP= .else MOZ_OPTIONS+= --disable-profiling .endif .if ${PORT_OPTIONS:MTEST} USE_XORG+= xscrnsaver MOZ_OPTIONS+= --enable-tests .else MOZ_OPTIONS+= --disable-tests .endif .if !defined(STRIP) || ${STRIP} == "" MOZ_OPTIONS+= --disable-strip --disable-install-strip .else MOZ_OPTIONS+= --enable-strip --enable-install-strip .endif # _MAKE_JOBS is only available after bsd.port.post.mk, thus cannot be # used in .mozconfig. And client.mk automatically uses -jN where N # is what multiprocessing.cpu_count() returns. .if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE) MAKE_JOBS_NUMBER= 1 .endif .if defined(MAKE_JOBS_NUMBER) MOZ_MAKE_FLAGS+=-j${MAKE_JOBS_NUMBER} .endif .if defined(MOZ_MAKE_FLAGS) MOZ_MK_OPTIONS+=MOZ_MAKE_FLAGS="${MOZ_MAKE_FLAGS}" .endif .if ${ARCH} == amd64 . if ${USE_MOZILLA:M-nss} USE_BINUTILS= # intel-gcm.s CFLAGS+= -B${LOCALBASE}/bin LDFLAGS+= -B${LOCALBASE}/bin . endif .elif ${ARCH:Mpowerpc*} . if ${ARCH} == "powerpc64" MOZ_EXPORT+= UNAME_m="${ARCH}" . endif .elif ${ARCH} == "sparc64" # Work around miscompilation/mislinkage of the sCanonicalVTable hacks. MOZ_OPTIONS+= --disable-v1-string-abi .endif .else # bsd.port.post.mk post-patch: gecko-post-patch gecko-post-patch: @${RM} ${MOZCONFIG} .if !defined(NOMOZCONFIG) .for arg in ${MOZ_OPTIONS} @${ECHO_CMD} ac_add_options ${arg:Q} >> ${MOZCONFIG} .endfor .for arg in ${MOZ_MK_OPTIONS} @${ECHO_CMD} mk_add_options ${arg:Q} >> ${MOZCONFIG} .endfor .for var in ${MOZ_EXPORT} @${ECHO_CMD} export ${var:Q} >> ${MOZCONFIG} .endfor .endif # .if !defined(NOMOZCONFIG) .if ${USE_MOZILLA:M-nspr} @${ECHO_MSG} "===> Applying NSPR patches" @for i in ${.CURDIR}/../../devel/nspr/files/patch-*; do \ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/nsprpub < $$i; \ done .endif .if ${USE_MOZILLA:M-nss} @${ECHO_MSG} "===> Applying NSS patches" @for i in ${.CURDIR}/../../security/nss/files/patch-*; do \ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/security/nss < $$i; \ done .endif @if [ -f ${WRKSRC}/config/baseconfig.mk ] ; then \ ${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ ${WRKSRC}/config/baseconfig.mk; \ fi @${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ ${MOZSRC}/config/baseconfig.mk @${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g ; \ s|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \ ${MOZSRC}/xpcom/io/SpecialSystemDirectory.cpp @${REINPLACE_CMD} -e 's|/etc|${PREFIX}&|g' \ ${MOZSRC}/xpcom/build/nsXPCOMPrivate.h @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ -e 's|mozilla/plugins|browser_plugins|g' \ -e 's|share/mozilla/extensions|lib/xpi|g' \ ${MOZSRC}/xpcom/io/nsAppFileLocationProvider.cpp \ ${MOZSRC}/toolkit/xre/nsXREDirProvider.cpp # Disable vendor checksums like lang/rust @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \ ${MOZSRC}/third_party/rust/*/.cargo-checksum.json pre-configure-script: # Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64 @${SETENV} CC="${CC}" OPSYS="${OPSYS}" OSVERSION="${OSVERSION}" WRKDIR="${WRKDIR}" \ ${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh post-install-script: gecko-create-plist gecko-create-plist: # Create the plist ${RM} ${PLISTF} .for dir in ${MOZILLA_PLIST_DIRS} @cd ${STAGEDIR}${PREFIX}/${dir} && ${FIND} -H -s * ! -type d | \ ${SED} -e 's|^|${dir}/|' >> ${PLISTF} .endfor ${CAT} ${PLISTF} | ${SORT} >> ${TMPPLIST} .endif .endif # HERE THERE BE TACOS -- adamw Index: branches/2020Q2/www/firefox/Makefile =================================================================== --- branches/2020Q2/www/firefox/Makefile (revision 537511) +++ branches/2020Q2/www/firefox/Makefile (revision 537512) @@ -1,61 +1,60 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 76.0.1 -PORTREVISION= 4 +DISTVERSION= 77.0 PORTEPOCH= 1 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/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.25:devel/nspr \ nss>=3.52.1:security/nss \ icu>=64.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=2.6.4:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.35:graphics/png \ libvpx>=1.8.2:multimedia/libvpx \ py${PYTHON3_DEFAULT:S/.//}-sqlite3>0:databases/py-sqlite3@py${PYTHON3_DEFAULT:S/.//} \ 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 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: branches/2020Q2/www/firefox/distinfo =================================================================== --- branches/2020Q2/www/firefox/distinfo (revision 537511) +++ branches/2020Q2/www/firefox/distinfo (revision 537512) @@ -1,3 +1,3 @@ -TIMESTAMP = 1588879058 -SHA256 (firefox-76.0.1.source.tar.xz) = f61761e32774a6bdfedd5937c4992fbe5e24c3df057c2b9a559fcd0d038777c3 -SIZE (firefox-76.0.1.source.tar.xz) = 323251680 +TIMESTAMP = 1590732186 +SHA256 (firefox-77.0.source.tar.xz) = b534794c493d8698dfb6c852af52b49540afdf88dc50451f42d6591de93291e8 +SIZE (firefox-77.0.source.tar.xz) = 329713656 Index: branches/2020Q2/www/firefox/files/patch-bug1624128 =================================================================== --- branches/2020Q2/www/firefox/files/patch-bug1624128 (revision 537511) +++ branches/2020Q2/www/firefox/files/patch-bug1624128 (nonexistent) @@ -1,70 +0,0 @@ -commit 2a981b96abf3 -Author: Kevin Jacobs -Date: Tue Apr 14 18:32:19 2020 +0000 - - Bug 1624128 - Update CK_GCM_PARAMS uses for PKCS11 v3.0 definition r=keeler - - This patch initializes the ulIvBits member of CK_GCM_PARAMS, which is new in PKCS11 v3. - - For libprio, we instead define NSS_PKCS11_2_0_COMPAT, which yields the old struct definition. - - Differential Revision: https://phabricator.services.mozilla.com/D67740 - - --HG-- - extra : moz-landing-system : lando ---- - dom/crypto/WebCryptoTask.cpp | 1 + - netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c | 1 + - security/manager/ssl/OSKeyStore.cpp | 1 + - third_party/prio/moz.build | 5 +++++ - 4 files changed, 8 insertions(+) - -diff --git dom/crypto/WebCryptoTask.cpp dom/crypto/WebCryptoTask.cpp -index ad0d1432738f0..60a265972d212 100644 ---- dom/crypto/WebCryptoTask.cpp -+++ dom/crypto/WebCryptoTask.cpp -@@ -600,6 +600,7 @@ class AesTask : public ReturnArrayBufferViewTask, public DeferredData { - case CKM_AES_GCM: - gcmParams.pIv = mIv.Elements(); - gcmParams.ulIvLen = mIv.Length(); -+ gcmParams.ulIvBits = gcmParams.ulIvLen * 8; - gcmParams.pAAD = mAad.Elements(); - gcmParams.ulAADLen = mAad.Length(); - gcmParams.ulTagBits = mTagLength; -diff --git netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c -index e1fdbe36fbf85..2be2ce932ddf1 100644 ---- netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c -+++ netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c -@@ -271,6 +271,7 @@ static srtp_err_status_t srtp_aes_gcm_nss_do_crypto(void *cv, - - c->params.pIv = c->iv; - c->params.ulIvLen = GCM_IV_LEN; -+ c->params.ulIvBits = GCM_IV_LEN * 8; - c->params.pAAD = c->aad; - c->params.ulAADLen = c->aad_size; - -diff --git security/manager/ssl/OSKeyStore.cpp security/manager/ssl/OSKeyStore.cpp -index 00bc918c5fdd7..c83a559d9c1ea 100644 ---- security/manager/ssl/OSKeyStore.cpp -+++ security/manager/ssl/OSKeyStore.cpp -@@ -663,6 +663,7 @@ nsresult AbstractOSKeyStore::DoCipher(const UniquePK11SymKey& aSymKey, - CK_GCM_PARAMS gcm_params; - gcm_params.pIv = const_cast(ivp); - gcm_params.ulIvLen = mIVLength; -+ gcm_params.ulIvBits = gcm_params.ulIvLen * 8; - gcm_params.ulTagBits = 128; - gcm_params.pAAD = nullptr; - gcm_params.ulAADLen = 0; -diff --git third_party/prio/moz.build third_party/prio/moz.build -index 3e10fe71ce8ed..0a6e3c74a2696 100644 ---- third_party/prio/moz.build -+++ third_party/prio/moz.build -@@ -42,3 +42,8 @@ SOURCES += [ - ] - - FINAL_LIBRARY = 'xul' -+ -+# Use PKCS11 v2 struct definitions for now, otherwise NSS requires -+# CK_GCM_PARAMS.ulIvBits to be set. This workaround is only required -+# until NSS 3.52 RTM and upstream correctly initializes the field. -+DEFINES['NSS_PKCS11_2_0_COMPAT'] = True Property changes on: branches/2020Q2/www/firefox/files/patch-bug1624128 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2020Q2/www/firefox/files/patch-bug1625431 =================================================================== --- branches/2020Q2/www/firefox/files/patch-bug1625431 (revision 537511) +++ branches/2020Q2/www/firefox/files/patch-bug1625431 (nonexistent) @@ -1,34 +0,0 @@ -commit 9896149e475c -Author: Martin Stransky -Date: Tue Apr 7 18:35:01 2020 +0000 - - Bug 1625431 [Wayland] Enable VAAPI decoding only when hw compositing is enabled, r=jya - - Differential Revision: https://phabricator.services.mozilla.com/D68753 - - --HG-- - extra : moz-landing-system : lando ---- - dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -index 4c5b0108599bc..1e5694ead0854 100644 ---- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -+++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -@@ -172,6 +172,15 @@ bool FFmpegVideoDecoder::CreateVAAPIDeviceContext() { - MediaResult FFmpegVideoDecoder::InitVAAPIDecoder() { - FFMPEG_LOG("Initialising VA-API FFmpeg decoder"); - -+ auto layersBackend = mImageAllocator -+ ? mImageAllocator->GetCompositorBackendType() -+ : layers::LayersBackend::LAYERS_BASIC; -+ if (layersBackend != layers::LayersBackend::LAYERS_OPENGL && -+ layersBackend != layers::LayersBackend::LAYERS_WR) { -+ FFMPEG_LOG("VA-API works with HW accelerated backend only!"); -+ return NS_ERROR_NOT_AVAILABLE; -+ } -+ - if (!mLib->IsVAAPIAvailable()) { - FFMPEG_LOG("libva library or symbols are missing."); - return NS_ERROR_NOT_AVAILABLE; Property changes on: branches/2020Q2/www/firefox/files/patch-bug1625431 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2020Q2/www/firefox/files/patch-bug1628690 =================================================================== --- branches/2020Q2/www/firefox/files/patch-bug1628690 (revision 537511) +++ branches/2020Q2/www/firefox/files/patch-bug1628690 (nonexistent) @@ -1,82 +0,0 @@ -commit 3a6824ecbffe -Author: Martin Stransky -Date: Thu Apr 16 13:49:37 2020 +0000 - - Bug 1628690 [Wayland][VA-API] Respect disabled HW decoding to allow fallback to SW decoding, r=jya - - Differential Revision: https://phabricator.services.mozilla.com/D71158 ---- - dom/media/platforms/ffmpeg/FFmpegDecoderModule.h | 4 +++- - dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 11 +++++++---- - dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h | 4 +++- - 3 files changed, 13 insertions(+), 6 deletions(-) - -diff --git dom/media/platforms/ffmpeg/FFmpegDecoderModule.h dom/media/platforms/ffmpeg/FFmpegDecoderModule.h -index 5a1d2c7a963af..563ee5267a08d 100644 ---- dom/media/platforms/ffmpeg/FFmpegDecoderModule.h -+++ dom/media/platforms/ffmpeg/FFmpegDecoderModule.h -@@ -49,7 +49,9 @@ class FFmpegDecoderModule : public PlatformDecoderModule { - RefPtr decoder = new FFmpegVideoDecoder( - mLib, aParams.mTaskQueue, aParams.VideoConfig(), - aParams.mKnowsCompositor, aParams.mImageContainer, -- aParams.mOptions.contains(CreateDecoderParams::Option::LowLatency)); -+ aParams.mOptions.contains(CreateDecoderParams::Option::LowLatency), -+ aParams.mOptions.contains( -+ CreateDecoderParams::Option::HardwareDecoderNotAllowed)); - return decoder.forget(); - } - -diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -index 1e5694ead0854..294097356c5b3 100644 ---- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -+++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -@@ -270,10 +270,11 @@ void FFmpegVideoDecoder::PtsCorrectionContext::Reset() { - FFmpegVideoDecoder::FFmpegVideoDecoder( - FFmpegLibWrapper* aLib, TaskQueue* aTaskQueue, const VideoInfo& aConfig, - KnowsCompositor* aAllocator, ImageContainer* aImageContainer, -- bool aLowLatency) -+ bool aLowLatency, bool aDisableHardwareDecoding) - : FFmpegDataDecoder(aLib, aTaskQueue, GetCodecId(aConfig.mMimeType)), - #ifdef MOZ_WAYLAND_USE_VAAPI - mVAAPIDeviceContext(nullptr), -+ mDisableHardwareDecoding(aDisableHardwareDecoding), - #endif - mImageAllocator(aAllocator), - mImageContainer(aImageContainer), -@@ -289,9 +290,11 @@ RefPtr FFmpegVideoDecoder::Init() { - MediaResult rv; - - #ifdef MOZ_WAYLAND_USE_VAAPI -- rv = InitVAAPIDecoder(); -- if (NS_SUCCEEDED(rv)) { -- return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__); -+ if (!mDisableHardwareDecoding) { -+ rv = InitVAAPIDecoder(); -+ if (NS_SUCCEEDED(rv)) { -+ return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__); -+ } - } - #endif - -diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h -index 670cb6203dde0..7f14dfc8dbc11 100644 ---- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h -+++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h -@@ -48,7 +48,8 @@ class FFmpegVideoDecoder - public: - FFmpegVideoDecoder(FFmpegLibWrapper* aLib, TaskQueue* aTaskQueue, - const VideoInfo& aConfig, KnowsCompositor* aAllocator, -- ImageContainer* aImageContainer, bool aLowLatency); -+ ImageContainer* aImageContainer, bool aLowLatency, -+ bool aDisableHardwareDecoding); - - RefPtr Init() override; - void InitCodecContext() override; -@@ -109,6 +110,7 @@ class FFmpegVideoDecoder - - #ifdef MOZ_WAYLAND_USE_VAAPI - AVBufferRef* mVAAPIDeviceContext; -+ const bool mDisableHardwareDecoding; - #endif - RefPtr mImageAllocator; - RefPtr mImageContainer; Property changes on: branches/2020Q2/www/firefox/files/patch-bug1628690 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2020Q2/www/firefox/files/patch-addon-search =================================================================== --- branches/2020Q2/www/firefox/files/patch-addon-search (revision 537511) +++ branches/2020Q2/www/firefox/files/patch-addon-search (revision 537512) @@ -1,55 +1,53 @@ https://github.com/mozilla/addons/issues/708 https://github.com/mozilla/addons-frontend/issues/4610 diff --git browser/app/profile/firefox.js browser/app/profile/firefox.js index 75c2c5e435e35..4d8c09c02759b 100644 --- browser/app/profile/firefox.js +++ browser/app/profile/firefox.js -@@ -37,8 +37,8 @@ pref("extensions.webextOptionalPermissionPrompts", tru +@@ -37,7 +37,7 @@ pref("extensions.webextOptionalPermissionPrompts", true); // Preferences for AMO integration pref("extensions.getAddons.cache.enabled", true); pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%"); -pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%"); --pref("extensions.webservice.discoverURL", "https://discovery.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%/%COMPATIBILITY_MODE%"); +pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=Linux&appver=%VERSION%"); -+pref("extensions.webservice.discoverURL", "https://discovery.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/Linux/%COMPATIBILITY_MODE%"); pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/"); pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%"); pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%"); -@@ -169,8 +169,8 @@ pref("app.update.url", "https://aus5.mozilla.org/updat +@@ -168,8 +168,8 @@ pref("app.update.staging.enabled", true); // .. etc .. // pref("extensions.update.enabled", true); -pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); -pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); +pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); +pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); pref("extensions.update.interval", 86400); // Check for updates to Extensions and // Themes every day diff --git toolkit/mozapps/extensions/internal/AddonRepository.jsm toolkit/mozapps/extensions/internal/AddonRepository.jsm index f70fd8d7e3bd8..81e8cd7764fdf 100644 --- toolkit/mozapps/extensions/internal/AddonRepository.jsm +++ toolkit/mozapps/extensions/internal/AddonRepository.jsm @@ -602,7 +602,7 @@ var AddonRepository = { addon.version = String(aEntry.current_version.version); if (Array.isArray(aEntry.current_version.files)) { for (let file of aEntry.current_version.files) { - if (file.platform == "all" || file.platform == PLATFORM) { + if (file.platform == "all" || file.platform == "linux" || file.platform == PLATFORM) { if (file.url) { addon.sourceURI = NetUtil.newURI(file.url); } diff --git toolkit/mozapps/extensions/internal/XPIDatabase.jsm toolkit/mozapps/extensions/internal/XPIDatabase.jsm index f70fd8d7e3bd8..81e8cd7764fdf 100644 --- toolkit/mozapps/extensions/internal/XPIDatabase.jsm +++ toolkit/mozapps/extensions/internal/XPIDatabase.jsm @@ -355,7 +355,7 @@ class AddonInternal { // Something is causing errors in here try { for (let platform of this.targetPlatforms) { - if (platform.os == Services.appinfo.OS) { + if (platform.os == "Linux" || platform.os == Services.appinfo.OS) { if (platform.abi) { needsABI = true; if (platform.abi === abi) Index: branches/2020Q2/www/firefox/files/patch-bug1288587 =================================================================== --- branches/2020Q2/www/firefox/files/patch-bug1288587 (revision 537511) +++ branches/2020Q2/www/firefox/files/patch-bug1288587 (revision 537512) @@ -1,70 +1,37 @@ diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure index 855214a..1e91d51 100644 --- build/moz.configure/init.configure +++ build/moz.configure/init.configure -@@ -252,6 +252,7 @@ option(env='PYTHON', nargs=1, help='Python 2.7 interpr - @imports(_from='mozbuild.pythonutil', _import='find_python2_executable') - @imports(_from='mozbuild.pythonutil', _import='python_executable_version') - @imports(_from='six', _import='ensure_text') -+@imports(_from='__builtin__', _import='KeyError') - def virtualenv_python2(env_python, build_env, mozillabuild, mozconfig, help): - if help: - return -@@ -283,6 +284,12 @@ def virtualenv_python2(env_python, build_env, mozillab - python = mozconfig['vars']['added']['PYTHON'] - elif 'PYTHON' in mozconfig['vars']['modified']: - python = mozconfig['vars']['modified']['PYTHON'][1] -+ for i in ('env', 'vars'): -+ for j in ('added', 'modified'): -+ try: -+ del mozconfig[i][j]['PYTHON'] -+ except KeyError: -+ pass - - log.debug("python2: executable from configuration: %r" % python) - -@@ -365,7 +372,10 @@ def virtualenv_python2(env_python, build_env, mozillab - sys.executable, manager.python_path)) - log.info('Reexecuting in the virtualenv') - if env_python: -- del os.environ['PYTHON'] -+ try: -+ del os.environ['PYTHON'] -+ except KeyError: -+ pass - # One would prefer to use os.execl, but that's completely borked on - # Windows. - sys.exit(subprocess.call([python] + sys.argv)) -@@ -468,6 +478,7 @@ option(env='PYTHON3', nargs=1, help='Python 3 interpre +@@ -252,6 +252,7 @@ option(env='PYTHON3', nargs=1, help='Python 3 interpre @imports(_from='mozbuild.pythonutil', _import='find_python3_executable') @imports(_from='mozbuild.pythonutil', _import='python_executable_version') @imports(_from='six', _import='ensure_text') +@imports(_from='__builtin__', _import='KeyError') - def virtualenv_python3(env_python, build_env, mozillabuild, mozconfig, help): + def virtualenv_python3(env_python, build_env, mozconfig, help): + # Avoid re-executing python when running configure --help. if help: - return -@@ -503,6 +514,12 @@ def virtualenv_python3(env_python, build_env, mozillab +@@ -284,6 +285,12 @@ def virtualenv_python3(env_python, build_env, mozconfi python = mozconfig['vars']['added']['PYTHON3'] elif 'PYTHON3' in mozconfig['vars']['modified']: python = mozconfig['vars']['modified']['PYTHON3'][1] + for i in ('env', 'vars'): + for j in ('added', 'modified'): + try: + del mozconfig[i][j]['PYTHON3'] + except KeyError: + pass log.debug("python3: executable from configuration: %r" % python) -@@ -583,7 +600,10 @@ def virtualenv_python3(env_python, build_env, mozillab +@@ -373,7 +380,10 @@ def virtualenv_python3(env_python, build_env, mozconfi sys.executable, manager.python_path)) log.info('Re-executing in the virtualenv') if env_python: - del os.environ['PYTHON3'] + try: + del os.environ['PYTHON3'] + except KeyError: + pass # Homebrew on macOS will change Python's sys.executable to a custom # value which messes with mach's virtualenv handling code. Override # Homebrew's changes with the correct sys.executable value. Index: branches/2020Q2/www/firefox/files/patch-bug1632456 =================================================================== --- branches/2020Q2/www/firefox/files/patch-bug1632456 (nonexistent) +++ branches/2020Q2/www/firefox/files/patch-bug1632456 (revision 537512) @@ -0,0 +1,40 @@ +commit 0aaf67da2681 +Author: Martin Stransky +Date: Wed May 27 08:37:58 2020 +0000 + + Bug 1632456 [Wayland] Release mVAAPIDeviceContext when FFmpegVideoDecoder::CreateVAAPIDeviceContext() fails, r=jya + + Differential Revision: https://phabricator.services.mozilla.com/D76745 +--- + dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp +index 889d1d1ed5b97..1bd144d7375f4 100644 +--- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp ++++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp +@@ -175,6 +175,10 @@ bool FFmpegVideoDecoder::CreateVAAPIDeviceContext() { + if (!mVAAPIDeviceContext) { + return false; + } ++ ++ auto releaseVAAPIcontext = ++ MakeScopeExit([&] { mLib->av_buffer_unref(&mVAAPIDeviceContext); }); ++ + AVHWDeviceContext* hwctx = (AVHWDeviceContext*)mVAAPIDeviceContext->data; + AVVAAPIDeviceContext* vactx = (AVVAAPIDeviceContext*)hwctx->hwctx; + +@@ -195,12 +199,12 @@ bool FFmpegVideoDecoder::CreateVAAPIDeviceContext() { + } + + vactx->display = mDisplay; +- + if (mLib->av_hwdevice_ctx_init(mVAAPIDeviceContext) < 0) { + return false; + } + + mCodecContext->hw_device_ctx = mLib->av_buffer_ref(mVAAPIDeviceContext); ++ releaseVAAPIcontext.release(); + return true; + } + Property changes on: branches/2020Q2/www/firefox/files/patch-bug1632456 ___________________________________________________________________ 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/2020Q2/www/firefox/files/patch-bug1636072 =================================================================== --- branches/2020Q2/www/firefox/files/patch-bug1636072 (nonexistent) +++ branches/2020Q2/www/firefox/files/patch-bug1636072 (revision 537512) @@ -0,0 +1,33 @@ +commit edbe69232a5b +Author: Martin Stransky +Date: Tue May 12 09:20:25 2020 +0000 + + Bug 1636072 [Wayland] Don't crash when GetWlBuffer() fails, r=jhorak + + Differential Revision: https://phabricator.services.mozilla.com/D74663 +--- + widget/gtk/WindowSurfaceWayland.cpp | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git widget/gtk/WindowSurfaceWayland.cpp widget/gtk/WindowSurfaceWayland.cpp +index 372158c9f0f33..56f5d3d530853 100644 +--- widget/gtk/WindowSurfaceWayland.cpp ++++ widget/gtk/WindowSurfaceWayland.cpp +@@ -390,10 +390,13 @@ void WindowBackBuffer::Attach(wl_surface* aSurface) { + (void*)GetWlBuffer(), + GetWlBuffer() ? wl_proxy_get_id((struct wl_proxy*)GetWlBuffer()) : -1)); + +- wl_surface_attach(aSurface, GetWlBuffer(), 0, 0); +- wl_surface_commit(aSurface); +- wl_display_flush(WaylandDisplayGetWLDisplay()); +- SetAttached(); ++ wl_buffer* buffer = GetWlBuffer(); ++ if (buffer) { ++ wl_surface_attach(aSurface, buffer, 0, 0); ++ wl_surface_commit(aSurface); ++ wl_display_flush(WaylandDisplayGetWLDisplay()); ++ SetAttached(); ++ } + } + + void WindowBackBufferShm::Detach(wl_buffer* aBuffer) { Property changes on: branches/2020Q2/www/firefox/files/patch-bug1636072 ___________________________________________________________________ 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/2020Q2/www/firefox/files/patch-bug1638010 =================================================================== --- branches/2020Q2/www/firefox/files/patch-bug1638010 (nonexistent) +++ branches/2020Q2/www/firefox/files/patch-bug1638010 (revision 537512) @@ -0,0 +1,25 @@ +commit 9a89dccd2a85 +Author: Martin Stransky +Date: Fri May 15 07:52:39 2020 +0000 + + Bug 1638010 [Wayland] Make WaylandDMABUFTextureData::BorrowDrawTarget() fail when underlying dmabuf surface is not locked, r=sotaro + + Differential Revision: https://phabricator.services.mozilla.com/D75329 +--- + gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp +index bb556d9fcfaf5..da9c9cb6f4d19 100644 +--- gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp ++++ gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp +@@ -86,6 +86,9 @@ already_AddRefed WaylandDMABUFTextureData::BorrowDrawTarget() { + return nullptr; + } + auto surf = mSurface->GetAsWaylandDMABufSurfaceRGBA(); ++ if (!surf->GetMappedRegion()) { ++ return nullptr; ++ } + return Factory::CreateDrawTargetForData( + mBackend, (unsigned char*)surf->GetMappedRegion(), + IntSize(surf->GetWidth(), surf->GetHeight()), Property changes on: branches/2020Q2/www/firefox/files/patch-bug1638010 ___________________________________________________________________ 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/2020Q2 =================================================================== --- branches/2020Q2 (revision 537511) +++ branches/2020Q2 (revision 537512) Property changes on: branches/2020Q2 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r536538,536713,537007