Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F151486461
D24062.id69645.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
17 KB
Referenced Files
None
Subscribers
None
D24062.id69645.diff
View Options
Index: Mk/bsd.gecko.mk
===================================================================
--- Mk/bsd.gecko.mk
+++ Mk/bsd.gecko.mk
@@ -76,8 +76,9 @@
BUNDLE_LIBS= yes
BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \
- rust-cbindgen>=0.13.0:devel/rust-cbindgen \
- ${RUST_DEFAULT}>=1.39:lang/${RUST_DEFAULT} \
+ rust-cbindgen>=0.13.1:devel/rust-cbindgen \
+ yasm:devel/yasm \
+ ${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} \
Index: www/firefox/Makefile
===================================================================
--- www/firefox/Makefile
+++ www/firefox/Makefile
@@ -2,25 +2,26 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 74.0
-PORTREVISION= 5
+DISTVERSION= 75.0b5
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build3/source
-DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX}
+ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
+DISTNAME= ${PORTNAME}-${PORTVERSION:R}
+DISTFILES= ${DISTNAME}${PORTVERSION:E}.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.50:security/nss \
+ nss>=3.51:security/nss \
icu>=64.1,1:devel/icu \
libevent>=2.1.8:devel/libevent \
harfbuzz>=2.6.4:print/harfbuzz \
graphite2>=1.3.13:graphics/graphite2 \
png>=1.6.35:graphics/png \
- libvpx>=1.5.0:multimedia/libvpx \
+ libvpx>=1.8.0: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 \
@@ -28,7 +29,7 @@
USE_GECKO= gecko
CONFLICTS_INSTALL= firefox-esr
-USE_MOZILLA= -sqlite -vpx
+USE_MOZILLA= -sqlite
USES= tar:xz
Index: www/firefox/distinfo
===================================================================
--- www/firefox/distinfo
+++ www/firefox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1583759447
-SHA256 (firefox-74.0.source.tar.xz) = 74589c2836d7c30134636823c3caefbcaed0ea7c3abb2def9e3ddd9f86d9440a
-SIZE (firefox-74.0.source.tar.xz) = 320001124
+TIMESTAMP = 1584504908
+SHA256 (firefox-75.0b5.source.tar.xz) = 5c9f423dcbca91ed3b7b1f9c341b9f6cada6106233b2f5d21982667abce5a858
+SIZE (firefox-75.0b5.source.tar.xz) = 324035152
Index: www/firefox/files/patch-bug1594027
===================================================================
--- www/firefox/files/patch-bug1594027
+++ /dev/null
@@ -1,33 +0,0 @@
-commit 9949bb054e7a
-Author: Greg V <greg@unrelenting.technology>
-Date: Mon Feb 24 20:18:01 2020 +0000
-
- Bug 1594027 - add more STL wrappers to fix build with libc++ 9 r=froydnj
-
- Differential Revision: https://phabricator.services.mozilla.com/D62847
-
- --HG--
- extra : moz-landing-system : lando
----
- config/gcc-stl-wrapper.template.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
-index 41ae14024b0c0..9fe70fbaab8dc 100644
---- config/gcc-stl-wrapper.template.h
-+++ config/gcc-stl-wrapper.template.h
-@@ -32,6 +32,14 @@
- # define moz_dont_include_mozalloc_for_cstdlib
- #endif
-
-+#ifndef moz_dont_include_mozalloc_for_type_traits
-+# define moz_dont_include_mozalloc_for_type_traits
-+#endif
-+
-+#ifndef moz_dont_include_mozalloc_for_limits
-+# define moz_dont_include_mozalloc_for_limits
-+#endif
-+
- // Include mozalloc after the STL header and all other headers it includes
- // have been preprocessed.
- #if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
Index: www/firefox/files/patch-bug1607052
===================================================================
--- www/firefox/files/patch-bug1607052
+++ /dev/null
@@ -1,281 +0,0 @@
-commit 9d26727a4e85
-Author: Zibi Braniecki <zbraniecki@mozilla.com>
-Date: Fri Feb 21 00:39:18 2020 +0000
-
- Bug 1607052 - Unify language identifier canonicalization in LocaleService and OSPreferences to use unic_langid, and extend GTK's RegionalPrefs reading to fallback on SystemLocales. r=jfkthame
-
- Differential Revision: https://phabricator.services.mozilla.com/D63393
-
- --HG--
- extra : moz-landing-system : lando
----
- intl/locale/LocaleService.cpp | 53 ++-------------------------
- intl/locale/LocaleService.h | 18 +++++++++
- intl/locale/OSPreferences.cpp | 18 ++-------
- intl/locale/rust/unic-langid-ffi/src/lib.rs | 33 ++++++++++++++---
- intl/locale/tests/gtest/TestLocaleService.cpp | 23 ++++++++++++
- intl/locale/tests/unit/test_localeService.js | 3 +-
- 6 files changed, 77 insertions(+), 71 deletions(-)
-
-diff --git intl/locale/LocaleService.cpp intl/locale/LocaleService.cpp
-index f7e13e36ccbc7..6708c4af4b5c3 100644
---- intl/locale/LocaleService.cpp
-+++ intl/locale/LocaleService.cpp
-@@ -39,51 +39,6 @@ NS_IMPL_ISUPPORTS(LocaleService, mozILocaleService, nsIObserver,
-
- mozilla::StaticRefPtr<LocaleService> LocaleService::sInstance;
-
--/**
-- * This function transforms a canonical Mozilla Language Tag, into it's
-- * BCP47 compilant form.
-- *
-- * Example: "ja-JP-mac" -> "ja-JP-macos"
-- *
-- * The BCP47 form should be used for all calls to ICU/Intl APIs.
-- * The canonical form is used for all internal operations.
-- */
--static bool SanitizeForBCP47(nsACString& aLocale, bool strict) {
-- // Currently, the only locale code we use that's not BCP47-conformant is
-- // "ja-JP-mac" on OS X, and ICU canonicalizes it into a mouthfull
-- // "ja-JP-x-lvariant-mac", so instead we're hardcoding a conversion
-- // of it to "ja-JP-macos".
-- if (aLocale.LowerCaseEqualsASCII("ja-jp-mac")) {
-- aLocale.AssignLiteral("ja-JP-macos");
-- return true;
-- }
--
-- nsAutoCString locale(aLocale);
-- locale.Trim(" ");
--
-- // POSIX may bring us locales such as "en-US.UTF8", which
-- // ICU converts to `en-US-u-va-posix`. Let's cut out
-- // the `.UTF8`, since it doesn't matter for us.
-- int32_t pos = locale.FindChar('.');
-- if (pos != -1) {
-- locale.Cut(pos, locale.Length() - pos);
-- }
--
-- // The rest of this function will use ICU canonicalization for any other
-- // tag that may come this way.
-- const int32_t LANG_TAG_CAPACITY = 128;
-- char langTag[LANG_TAG_CAPACITY];
-- UErrorCode err = U_ZERO_ERROR;
-- // This is a fail-safe method that will set langTag to "und" if it cannot
-- // match any part of the input locale code.
-- int32_t len = uloc_toLanguageTag(locale.get(), langTag, LANG_TAG_CAPACITY,
-- strict, &err);
-- if (U_SUCCESS(err) && len > 0) {
-- aLocale.Assign(langTag, len);
-- }
-- return U_SUCCESS(err);
--}
--
- /**
- * This function splits an input string by `,` delimiter, sanitizes the result
- * language tags and returns them to the caller.
-@@ -93,7 +48,7 @@ static void SplitLocaleListStringIntoArray(nsACString& str,
- if (str.Length() > 0) {
- for (const nsACString& part : str.Split(',')) {
- nsAutoCString locale(part);
-- if (SanitizeForBCP47(locale, true)) {
-+ if (LocaleService::CanonicalizeLanguageId(locale)) {
- if (!aRetVal.Contains(locale)) {
- aRetVal.AppendElement(locale);
- }
-@@ -421,7 +376,7 @@ LocaleService::GetDefaultLocale(nsACString& aRetVal) {
- locale.Trim(" \t\n\r");
- // This should never be empty.
- MOZ_ASSERT(!locale.IsEmpty());
-- if (SanitizeForBCP47(locale, true)) {
-+ if (CanonicalizeLanguageId(locale)) {
- mDefaultLocale.Assign(locale);
- }
-
-@@ -617,7 +572,7 @@ LocaleService::SetRequestedLocales(const nsTArray<nsCString>& aRequested) {
-
- for (auto& req : aRequested) {
- nsAutoCString locale(req);
-- if (!SanitizeForBCP47(locale, true)) {
-+ if (!CanonicalizeLanguageId(locale)) {
- NS_ERROR("Invalid language tag provided to SetRequestedLocales!");
- return NS_ERROR_INVALID_ARG;
- }
-@@ -667,7 +622,7 @@ LocaleService::SetAvailableLocales(const nsTArray<nsCString>& aAvailable) {
-
- for (auto& avail : aAvailable) {
- nsAutoCString locale(avail);
-- if (!SanitizeForBCP47(locale, true)) {
-+ if (!CanonicalizeLanguageId(locale)) {
- NS_ERROR("Invalid language tag provided to SetAvailableLocales!");
- return NS_ERROR_INVALID_ARG;
- }
-diff --git intl/locale/LocaleService.h intl/locale/LocaleService.h
-index 2ff428da3e3fd..5f5152c1fbb7a 100644
---- intl/locale/LocaleService.h
-+++ intl/locale/LocaleService.h
-@@ -10,6 +10,7 @@
- #include "nsString.h"
- #include "nsTArray.h"
- #include "nsWeakReference.h"
-+#include "MozLocaleBindings.h"
-
- #include "mozILocaleService.h"
-
-@@ -104,6 +105,23 @@ class LocaleService final : public mozILocaleService,
- return RefPtr<LocaleService>(GetInstance()).forget();
- }
-
-+ /**
-+ * Canonicalize a Unicode Language Identifier string.
-+ *
-+ * The operation is:
-+ * * Normalizing casing (`eN-Us-Windows` -> `en-US-windows`)
-+ * * Switching `_` to `-` (`en_US` -> `en-US`)
-+ * * Rejecting invalid identifiers (`e21-X` sets aLocale to `und` and
-+ * returns false)
-+ * * Normalizing Mozilla's `ja-JP-mac` to `ja-JP-macos`
-+ * * Cutting off POSIX dot postfix (`en-US.utf8` -> `en-US`)
-+ *
-+ * This operation should be used on any external input before
-+ * it gets used in internal operations.
-+ */
-+ static bool CanonicalizeLanguageId(nsACString& aLocale) {
-+ return ffi::unic_langid_canonicalize(&aLocale);
-+ }
- /**
- * This method should only be called in the client mode.
- *
-diff --git intl/locale/OSPreferences.cpp intl/locale/OSPreferences.cpp
-index 283db96e0d718..f816ca57abfea 100644
---- intl/locale/OSPreferences.cpp
-+++ intl/locale/OSPreferences.cpp
-@@ -54,19 +54,7 @@ void OSPreferences::Refresh() {
- * It returns true if the canonicalization was successful.
- */
- bool OSPreferences::CanonicalizeLanguageTag(nsCString& aLoc) {
-- char langTag[512];
--
-- UErrorCode status = U_ZERO_ERROR;
--
-- int32_t langTagLen = uloc_toLanguageTag(aLoc.get(), langTag,
-- sizeof(langTag) - 1, false, &status);
--
-- if (U_FAILURE(status)) {
-- return false;
-- }
--
-- aLoc.Assign(langTag, langTagLen);
-- return true;
-+ return LocaleService::CanonicalizeLanguageId(aLoc);
- }
-
- /**
-@@ -291,7 +279,9 @@ OSPreferences::GetRegionalPrefsLocales(nsTArray<nsCString>& aRetVal) {
- return NS_OK;
- }
-
-- return NS_ERROR_FAILURE;
-+ // If we failed to read regional prefs locales,
-+ // use system locales as last fallback.
-+ return GetSystemLocales(aRetVal);
- }
-
- static OSPreferences::DateTimeFormatStyle ToDateTimeFormatStyle(
-diff --git intl/locale/rust/unic-langid-ffi/src/lib.rs intl/locale/rust/unic-langid-ffi/src/lib.rs
-index 701d3679c4cec..517e08c1a64c1 100644
---- intl/locale/rust/unic-langid-ffi/src/lib.rs
-+++ intl/locale/rust/unic-langid-ffi/src/lib.rs
-@@ -5,18 +5,39 @@
- use nsstring::nsACString;
- use nsstring::nsCString;
- use thin_vec::ThinVec;
--pub use unic_langid::LanguageIdentifier;
-+pub use unic_langid::{LanguageIdentifier, LanguageIdentifierError};
-+
-+fn new_langid_for_mozilla(name: &nsACString) -> Result<LanguageIdentifier, LanguageIdentifierError> {
-+ if name.eq_ignore_ascii_case(b"ja-jp-mac") {
-+ "ja-JP-macos".parse()
-+ } else {
-+ // Cut out any `.FOO` like `en-US.POSIX`.
-+ let mut name: &[u8] = name.as_ref();
-+ if let Some(ptr) = name.iter().position(|b| b == &b'.') {
-+ name = &name[..ptr];
-+ }
-+ LanguageIdentifier::from_bytes(name)
-+ }
-+}
-+
-+#[no_mangle]
-+pub unsafe extern "C" fn unic_langid_canonicalize(name: &mut nsACString) -> bool {
-+ let langid = new_langid_for_mozilla(name);
-+
-+ let result = langid.is_ok();
-+
-+ name.assign(&langid.unwrap_or_default().to_string());
-+
-+ result
-+}
-+
-
- #[no_mangle]
- pub unsafe extern "C" fn unic_langid_new(
- name: &nsACString,
- ret_val: &mut bool,
- ) -> *mut LanguageIdentifier {
-- let langid = if name.eq_ignore_ascii_case(b"ja-jp-mac") {
-- "ja-JP-macos".parse()
-- } else {
-- LanguageIdentifier::from_bytes(name)
-- };
-+ let langid = new_langid_for_mozilla(name);
-
- *ret_val = langid.is_ok();
- Box::into_raw(Box::new(langid.unwrap_or_default()))
-diff --git intl/locale/tests/gtest/TestLocaleService.cpp intl/locale/tests/gtest/TestLocaleService.cpp
-index b13ecfd237dfa..aaac8615b09fd 100644
---- intl/locale/tests/gtest/TestLocaleService.cpp
-+++ intl/locale/tests/gtest/TestLocaleService.cpp
-@@ -10,6 +10,29 @@
-
- using namespace mozilla::intl;
-
-+TEST(Intl_Locale_LocaleService, CanonicalizeLanguageId)
-+{
-+ nsCString locale("en-US.POSIX");
-+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("en-US"));
-+
-+ locale.AssignLiteral("en-US_POSIX");
-+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("en-US-posix"));
-+
-+ locale.AssignLiteral("en-US-POSIX");
-+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("en-US-posix"));
-+
-+ locale.AssignLiteral("C");
-+ ASSERT_FALSE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("und"));
-+
-+ locale.AssignLiteral("");
-+ ASSERT_FALSE(LocaleService::CanonicalizeLanguageId(locale));
-+ ASSERT_TRUE(locale.EqualsLiteral("und"));
-+}
-+
- TEST(Intl_Locale_LocaleService, GetAppLocalesAsBCP47)
- {
- nsTArray<nsCString> appLocales;
-diff --git intl/locale/tests/unit/test_localeService.js intl/locale/tests/unit/test_localeService.js
-index 1970ae94b2607..202c2674972a8 100644
---- intl/locale/tests/unit/test_localeService.js
-+++ intl/locale/tests/unit/test_localeService.js
-@@ -204,8 +204,7 @@ add_test(function test_requestedLocales_sanitize() {
- Assert.equal(locales[0], "de");
- Assert.equal(locales[1], "pl");
- Assert.equal(locales[2], "de-AT");
-- Assert.equal(locales[3], "und");
-- Assert.equal(locales.length, 4);
-+ Assert.equal(locales.length, 3);
-
- Services.prefs.clearUserPref(PREF_REQUESTED_LOCALES);
-
Index: www/firefox/files/patch-bug1619258
===================================================================
--- /dev/null
+++ www/firefox/files/patch-bug1619258
@@ -0,0 +1,101 @@
+commit 7f9b73f61241
+Author: Martin Stransky <stransky@redhat.com>
+Date: Wed Mar 18 07:01:27 2020 +0000
+
+ Bug 1619258 [Wayland] Enable VA-API for all formats, r=jya
+
+ Differential Revision: https://phabricator.services.mozilla.com/D65536
+
+ --HG--
+ extra : moz-landing-system : lando
+---
+ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 30 ++++++++++++++---------
+ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h | 1 +
+ 2 files changed, 20 insertions(+), 11 deletions(-)
+
+diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
+index 9a71a681eaef5..e0f7504574d6c 100644
+--- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
++++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
+@@ -42,6 +42,9 @@ typedef int VAStatus;
+ # define VA_STATUS_SUCCESS 0x00000000
+ #endif
+
++// Use some extra HW frames for potential rendering lags.
++#define EXTRA_HW_FRAMES 6
++
+ typedef mozilla::layers::Image Image;
+ typedef mozilla::layers::PlanarYCbCrImage PlanarYCbCrImage;
+
+@@ -135,10 +138,6 @@ VAAPIFrameHolder::~VAAPIFrameHolder() {
+ }
+
+ AVCodec* FFmpegVideoDecoder<LIBAV_VER>::FindVAAPICodec() {
+- if (mCodecID != AV_CODEC_ID_H264) {
+- return nullptr;
+- }
+-
+ AVCodec* decoder = mLib->avcodec_find_decoder(mCodecID);
+ for (int i = 0;; i++) {
+ const AVCodecHWConfig* config = mLib->avcodec_get_hw_config(decoder, i);
+@@ -172,7 +171,6 @@ bool FFmpegVideoDecoder<LIBAV_VER>::CreateVAAPIDeviceContext() {
+
+ MediaResult FFmpegVideoDecoder<LIBAV_VER>::InitVAAPIDecoder() {
+ FFMPEG_LOG("Initialising VA-API FFmpeg decoder");
+- MOZ_ASSERT(mCodecID == AV_CODEC_ID_H264);
+
+ if (!mLib->IsVAAPIAvailable()) {
+ FFMPEG_LOG("libva library is missing");
+@@ -282,11 +280,9 @@ RefPtr<MediaDataDecoder::InitPromise> FFmpegVideoDecoder<LIBAV_VER>::Init() {
+ MediaResult rv;
+
+ #ifdef MOZ_WAYLAND_USE_VAAPI
+- if (mCodecID == AV_CODEC_ID_H264) {
+- rv = InitVAAPIDecoder();
+- if (NS_SUCCEEDED(rv)) {
+- return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__);
+- }
++ rv = InitVAAPIDecoder();
++ if (NS_SUCCEEDED(rv)) {
++ return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__);
+ }
+ #endif
+
+@@ -338,7 +334,12 @@ void FFmpegVideoDecoder<LIBAV_VER>::InitVAAPICodecContext() {
+ mCodecContext->height = mInfo.mImage.height;
+ mCodecContext->thread_count = 1;
+ mCodecContext->get_format = ChooseVAAPIPixelFormat;
+- mCodecContext->extra_hw_frames = H264::ComputeMaxRefFrames(mInfo.mExtraData);
++ if (mCodecID == AV_CODEC_ID_H264) {
++ mCodecContext->extra_hw_frames =
++ H264::ComputeMaxRefFrames(mInfo.mExtraData);
++ } else {
++ mCodecContext->extra_hw_frames = EXTRA_HW_FRAMES;
++ }
+ }
+ #endif
+
+@@ -697,4 +698,11 @@ void FFmpegVideoDecoder<LIBAV_VER>::ProcessShutdown() {
+ FFmpegDataDecoder<LIBAV_VER>::ProcessShutdown();
+ }
+
++#ifdef MOZ_WAYLAND_USE_VAAPI
++bool FFmpegVideoDecoder<LIBAV_VER>::IsHardwareAccelerated(
++ nsACString& aFailureReason) const {
++ return !!mVAAPIDeviceContext;
++}
++#endif
++
+ } // namespace mozilla
+diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
+index 6158f7bc2f6dd..670cb6203dde0 100644
+--- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
++++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
+@@ -92,6 +92,7 @@ class FFmpegVideoDecoder<LIBAV_VER>
+ bool CreateVAAPIDeviceContext();
+ void InitVAAPICodecContext();
+ AVCodec* FindVAAPICodec();
++ bool IsHardwareAccelerated(nsACString& aFailureReason) const override;
+
+ MediaResult CreateImageVAAPI(int64_t aOffset, int64_t aPts, int64_t aDuration,
+ MediaDataDecoder::DecodedData& aResults);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Apr 9, 6:17 PM (12 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31147930
Default Alt Text
D24062.id69645.diff (17 KB)
Attached To
Mode
D24062: www/firefox: update to 75.0
Attached
Detach File
Event Timeline
Log In to Comment