Updated to Firefox 84

This commit is contained in:
Martin Stransky 2020-12-10 20:02:09 +01:00
parent 196b61c382
commit feba2cc76d
15 changed files with 9682 additions and 242 deletions

2
.gitignore vendored
View File

@ -436,3 +436,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-testing.tar.gz
/site-packages.tar.gz
/mochitest-python.tar.gz
/firefox-84.0.source.tar.xz
/firefox-langpacks-84.0-20201210.tar.xz

View File

@ -1,12 +1,12 @@
diff -up firefox-65.0/toolkit/moz.configure.disable-elfhack firefox-65.0/toolkit/moz.configure
--- firefox-65.0/toolkit/moz.configure.disable-elfhack 2019-01-28 14:16:48.530345132 +0100
+++ firefox-65.0/toolkit/moz.configure 2019-01-28 14:18:03.231029682 +0100
@@ -1036,7 +1036,7 @@ with only_when('--enable-compile-environ
help='{Enable|Disable} elf hacks')
diff -up firefox-84.0/toolkit/moz.configure.disable-elfhack firefox-84.0/toolkit/moz.configure
--- firefox-84.0/toolkit/moz.configure.disable-elfhack 2020-12-10 12:37:30.727243266 +0100
+++ firefox-84.0/toolkit/moz.configure 2020-12-10 12:39:42.771967894 +0100
@@ -1280,7 +1280,7 @@ with only_when("--enable-compile-environ
help="{Enable|Disable} elf hacks",
)
set_config('USE_ELF_HACK',
- depends_if('--enable-elf-hack')(lambda _: True))
+ depends_if('--enable-elf-hack')(lambda _: False))
- set_config("USE_ELF_HACK", depends_if("--enable-elf-hack")(lambda _: True))
+ set_config("USE_ELF_HACK", depends_if("--enable-elf-hack")(lambda _: False))
@depends(check_build_environment)

9502
ffvpx.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +0,0 @@
diff --git a/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt b/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
--- a/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
+++ b/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
@@ -1,4 +1,5 @@
# This file is the websocketprocess requirements.txt used with python 3.
+pyrsistent
# needed by txws, and we'd like pip to get it from the local server before setuptools tries pypi
six

View File

@ -1,6 +1,6 @@
diff -up firefox-83.0/docshell/base/crashtests/crashtests.list.test firefox-83.0/docshell/base/crashtests/crashtests.list
--- firefox-83.0/docshell/base/crashtests/crashtests.list.test 2020-11-12 19:04:36.000000000 +0100
+++ firefox-83.0/docshell/base/crashtests/crashtests.list 2020-11-19 10:30:26.127468382 +0100
diff -up firefox-84.0/docshell/base/crashtests/crashtests.list.testing firefox-84.0/docshell/base/crashtests/crashtests.list
--- firefox-84.0/docshell/base/crashtests/crashtests.list.testing 2020-12-07 23:32:58.000000000 +0100
+++ firefox-84.0/docshell/base/crashtests/crashtests.list 2020-12-10 12:42:49.725237640 +0100
@@ -13,7 +13,6 @@ load 614499-1.html
load 678872-1.html
skip-if(Android) pref(dom.disable_open_during_load,false) load 914521.html # Android bug 1584562
@ -9,8 +9,9 @@ diff -up firefox-83.0/docshell/base/crashtests/crashtests.list.test firefox-83.0
load 1341657.html
load 1584467.html
load 1614211-1.html
--- firefox-83.0/dom/media/tests/crashtests/crashtests.list.test 2020-11-19 10:42:04.960128784 +0100
+++ firefox-83.0/dom/media/tests/crashtests/crashtests.list 2020-11-19 10:42:21.508182030 +0100
diff -up firefox-84.0/dom/media/tests/crashtests/crashtests.list.testing firefox-84.0/dom/media/tests/crashtests/crashtests.list
--- firefox-84.0/dom/media/tests/crashtests/crashtests.list.testing 2020-12-08 00:35:04.000000000 +0100
+++ firefox-84.0/dom/media/tests/crashtests/crashtests.list 2020-12-10 12:42:49.725237640 +0100
@@ -24,7 +24,7 @@ asserts-if(Android,0-1) pref(browser.lin
asserts-if(Android,0-1) pref(browser.link.open_newwindow,2) load 1429507_2.html # window.open() in tab doesn't work for crashtest in e10s, this opens a new window instead
asserts-if(Android,0-2) load 1453030.html
@ -20,41 +21,32 @@ diff -up firefox-83.0/docshell/base/crashtests/crashtests.list.test firefox-83.0
load 1505957.html
load 1509442.html
load 1511130.html
diff -up firefox-83.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.old firefox-83.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
--- firefox-83.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.old 2020-11-19 11:15:59.150990819 +0100
+++ firefox-83.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py 2020-11-19 11:17:53.390337862 +0100
@@ -62,16 +62,9 @@ class TestMarionette(MarionetteTestCase)
diff -up firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
--- firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing 2020-12-10 12:42:49.725237640 +0100
+++ firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py 2020-12-10 12:54:22.885925814 +0100
@@ -69,15 +69,7 @@ class TestMarionette(MarionetteTestCase)
def test_application_update_disabled(self):
# Updates of the application should always be disabled by default
- with self.marionette.using_context("chrome"):
- update_allowed = self.marionette.execute_script("""
- update_allowed = self.marionette.execute_script(
- """
- let aus = Cc['@mozilla.org/updates/update-service;1']
- .getService(Ci.nsIApplicationUpdateService);
- return aus.canCheckForUpdates;
- """)
- """
- )
-
+ update_allowed = False
self.assertFalse(update_allowed)
-
class TestContext(MarionetteTestCase):
def setUp(self):
diff -up firefox-83.0/testing/web-platform/tests/tools/manifest/vcs.py.old firefox-83.0/testing/web-platform/tests/tools/manifest/vcs.py
--- firefox-83.0/testing/web-platform/tests/tools/manifest/vcs.py.old 2020-11-19 11:37:03.591683420 +0100
+++ firefox-83.0/testing/web-platform/tests/tools/manifest/vcs.py 2020-11-19 11:37:18.730715053 +0100
@@ -9,11 +9,8 @@ from six.moves.collections_abc import Mu
diff --git a/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt b/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
--- a/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
+++ b/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
@@ -1,4 +1,5 @@
# This file is the websocketprocess requirements.txt used with python 3.
+pyrsistent
from .utils import git
-try:
- from ..gitignore import gitignore
-except ValueError:
- # relative import beyond toplevel throws *ValueError*!
- from gitignore import gitignore # type: ignore
+# relative import beyond toplevel throws *ValueError*!
+from gitignore import gitignore # type: ignore
MYPY = False
# needed by txws, and we'd like pip to get it from the local server before setuptools tries pypi
six

View File

@ -5,7 +5,7 @@
%global build_with_asan 0
%global run_firefox_tests 1
%global create_debuginfo 1
%global system_nss 1
%global system_nss 0
# There are still build problems on s390x, see
# https://koji.fedoraproject.org/koji/taskinfo?taskID=55048351
@ -120,13 +120,13 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 83.0
Release: 15%{?pre_tag}%{?dist}
Version: 84.0
Release: 1%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
%if %{with langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20201116.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20201210.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source10: firefox-mozconfig
@ -179,7 +179,6 @@ Patch224: mozilla-1170092.patch
Patch226: rhbz-1354671.patch
Patch227: firefox-locale-debug.patch
Patch228: disable-openh264-download.patch
Patch229: firefox-mochitest.patch
# Upstream patches
Patch402: mozilla-1196777.patch
@ -187,11 +186,8 @@ Patch407: mozilla-1667096.patch
Patch408: mozilla-1663844.patch
Patch415: mozilla-1670333.patch
Patch416: mozilla-1673202.patch
Patch417: mozilla-1673313.patch
Patch418: mozilla-1556931-s390x-hidden-syms.patch
Patch419: mozilla-1885133.patch
Patch420: mozilla-1678680.patch
Patch421: mozilla-1672139.patch
# Upstream patches from mozbz#1672944
Patch450: pw1.patch
@ -201,8 +197,9 @@ Patch453: pw4.patch
Patch454: pw5.patch
Patch455: pw6.patch
Patch500: ffvpx.patch
#VA-API patches
Patch584: firefox-disable-ffvpx-with-vapi.patch
Patch585: firefox-vaapi-extra-frames.patch
# PGO/LTO patches
@ -401,7 +398,6 @@ This package contains results of tests executed during build.
%endif
%patch227 -p1 -b .locale-debug
%patch228 -p1 -b .disable-openh264-download
%patch229 -p1 -b .firefox-mochitest
%patch402 -p1 -b .1196777
%patch407 -p1 -b .1667096
@ -410,21 +406,19 @@ This package contains results of tests executed during build.
%if 0%{?fedora} > 33 || 0%{?eln}
%patch416 -p1 -b .1673202
%endif
%patch417 -p1 -b .1673313
%patch418 -p1 -b .1556931-s390x-hidden-syms
%patch419 -p1 -b .1885133
%patch450 -p1 -b .pw1
%patch451 -p1 -b .pw2
%patch452 -p1 -b .pw3
%patch453 -p1 -b .pw4
%patch454 -p1 -b .pw5
#%patch450 -p1 -b .pw1
#%patch451 -p1 -b .pw2
#%patch452 -p1 -b .pw3
#%patch453 -p1 -b .pw4
#%patch454 -p1 -b .pw5
%patch455 -p1 -b .pw6
%patch420 -p1 -b .1678680
%patch421 -p1 -b .1672139
%patch500 -p1 -b .ffvpx
# VA-API fixes
%patch584 -p1 -b .firefox-disable-ffvpx-with-vapi
%patch585 -p1 -b .firefox-vaapi-extra-frames
# PGO patches

View File

@ -1,16 +1,15 @@
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -99,9 +99,8 @@
diff -up firefox-84.0/security/sandbox/linux/moz.build.1516803 firefox-84.0/security/sandbox/linux/moz.build
--- firefox-84.0/security/sandbox/linux/moz.build.1516803 2020-12-10 16:17:55.425139545 +0100
+++ firefox-84.0/security/sandbox/linux/moz.build 2020-12-10 16:29:21.945860841 +0100
@@ -114,9 +114,8 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
# gcc lto likes to put the top level asm in syscall.cc in a different partition
# from the function using it which breaks the build. Work around that by
# forcing there to be only one partition.
-for f in CONFIG['OS_CXXFLAGS']:
- if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
- LDFLAGS += ['--param lto-partitions=1']
-for f in CONFIG["OS_CXXFLAGS"]:
- if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
- LDFLAGS += ["--param lto-partitions=1"]
+if CONFIG['CC_TYPE'] != 'clang':
+ LDFLAGS += ['--param', 'lto-partitions=1']
DEFINES['NS_NO_XPCOM'] = True
DEFINES["NS_NO_XPCOM"] = True
DisableStlWrapping()

View File

@ -1,30 +1,6 @@
diff --git a/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp b/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
--- a/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
+++ b/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
@@ -86,7 +86,7 @@ bool GMPDecoderModule::SupportsMimeType(
bool GMPDecoderModule::SupportsMimeType(
const nsACString& aMimeType, DecoderDoctorDiagnostics* aDiagnostics) const {
- return false;
+ return MP4Decoder::IsH264(aMimeType);
}
} // namespace mozilla
diff --git a/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp b/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
--- a/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
+++ b/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
@@ -67,6 +67,8 @@ void GMPVideoDecoder::Decoded(GMPVideoi4
RefPtr<GMPVideoDecoder> self = this;
if (v) {
mDecodedData.AppendElement(std::move(v));
+ mDecodePromise.ResolveIfExists(std::move(mDecodedData), __func__);
+ mDecodedData = DecodedData();
} else {
mDecodedData.Clear();
mDecodePromise.RejectIfExists(
diff -up firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h.oldd firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h
--- firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h.oldd 2020-10-12 18:19:09.158070701 +0200
+++ firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h 2020-10-12 18:19:18.398109540 +0200
diff -up firefox-84.0/dom/media/gmp/GMPSharedMemManager.h.1663844 firefox-84.0/dom/media/gmp/GMPSharedMemManager.h
--- firefox-84.0/dom/media/gmp/GMPSharedMemManager.h.1663844 2020-12-07 23:32:59.000000000 +0100
+++ firefox-84.0/dom/media/gmp/GMPSharedMemManager.h 2020-12-10 12:59:39.287832851 +0100
@@ -27,7 +27,7 @@ class GMPSharedMem {
// returned to the parent pool (which is not included). If more than
// this are needed, we presume the client has either crashed or hung
@ -34,3 +10,27 @@ diff -up firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h.oldd firefox-81.0.2/
GMPSharedMem() {
for (size_t i = 0; i < sizeof(mGmpAllocated) / sizeof(mGmpAllocated[0]);
diff -up firefox-84.0/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp.1663844 firefox-84.0/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
--- firefox-84.0/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp.1663844 2020-12-10 12:59:39.287832851 +0100
+++ firefox-84.0/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp 2020-12-10 14:05:00.833685947 +0100
@@ -82,7 +82,7 @@ bool GMPDecoderModule::SupportsMimeType(
bool GMPDecoderModule::SupportsMimeType(
const nsACString& aMimeType, DecoderDoctorDiagnostics* aDiagnostics) const {
- return false;
+ return MP4Decoder::IsH264(aMimeType);
}
/* static */
diff -up firefox-84.0/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp.1663844 firefox-84.0/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
--- firefox-84.0/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp.1663844 2020-12-08 00:35:04.000000000 +0100
+++ firefox-84.0/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp 2020-12-10 12:59:39.287832851 +0100
@@ -67,6 +67,8 @@ void GMPVideoDecoder::Decoded(GMPVideoi4
RefPtr<GMPVideoDecoder> self = this;
if (v) {
mDecodedData.AppendElement(std::move(v));
+ mDecodePromise.ResolveIfExists(std::move(mDecodedData), __func__);
+ mDecodedData = DecodedData();
} else {
mDecodedData.Clear();
mDecodePromise.RejectIfExists(

View File

@ -1,18 +1,6 @@
changeset: 551978:40c95986d358
tag: tip
parent: 551976:daadcfadb2f8
user: stransky <stransky@redhat.com>
date: Thu Sep 24 15:51:06 2020 +0200
files: media/ffvpx/libavcodec/codec_list.c media/ffvpx/libavcodec/libfdk-aacdec.c media/ffvpx/libavcodec/moz.build toolkit/moz.configure
description:
Bug 1667096 Add libfdk-aacdec.c to bundled ffvpx and allow build Firefox with system fdk-aac-free library, r?jya
Differential Revision: https://phabricator.services.mozilla.com/D91278
diff --git a/media/ffvpx/libavcodec/codec_list.c b/media/ffvpx/libavcodec/codec_list.c
--- a/media/ffvpx/libavcodec/codec_list.c
+++ b/media/ffvpx/libavcodec/codec_list.c
diff -up firefox-84.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-84.0/media/ffvpx/libavcodec/codec_list.c
--- firefox-84.0/media/ffvpx/libavcodec/codec_list.c.1667096 2020-12-07 23:33:03.000000000 +0100
+++ firefox-84.0/media/ffvpx/libavcodec/codec_list.c 2020-12-10 12:57:14.722762321 +0100
@@ -11,4 +11,8 @@ static const AVCodec * const codec_list[
#if CONFIG_MP3_DECODER
&ff_mp3_decoder,
@ -22,10 +10,9 @@ diff --git a/media/ffvpx/libavcodec/codec_list.c b/media/ffvpx/libavcodec/codec_
+#endif
+
NULL };
diff --git a/media/ffvpx/libavcodec/libfdk-aacdec.c b/media/ffvpx/libavcodec/libfdk-aacdec.c
new file mode 100644
--- /dev/null
+++ b/media/ffvpx/libavcodec/libfdk-aacdec.c
diff -up firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c
--- firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2020-12-10 12:57:14.722762321 +0100
+++ firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2020-12-10 12:57:14.722762321 +0100
@@ -0,0 +1,409 @@
+/*
+ * AAC decoder wrapper
@ -436,9 +423,9 @@ new file mode 100644
+ FF_CODEC_CAP_INIT_CLEANUP,
+ .wrapper_name = "libfdk",
+};
diff --git a/media/ffvpx/libavcodec/moz.build b/media/ffvpx/libavcodec/moz.build
--- a/media/ffvpx/libavcodec/moz.build
+++ b/media/ffvpx/libavcodec/moz.build
diff -up firefox-84.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-84.0/media/ffvpx/libavcodec/moz.build
--- firefox-84.0/media/ffvpx/libavcodec/moz.build.1667096 2020-12-08 00:35:05.000000000 +0100
+++ firefox-84.0/media/ffvpx/libavcodec/moz.build 2020-12-10 12:57:14.722762321 +0100
@@ -97,6 +97,12 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']:
'vp9recon.c'
]
@ -452,12 +439,12 @@ diff --git a/media/ffvpx/libavcodec/moz.build b/media/ffvpx/libavcodec/moz.build
if CONFIG['MOZ_LIBAV_FFT']:
SOURCES += [
'avfft.c',
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -1592,6 +1592,14 @@ with only_when(compile_environment):
set_define('MOZ_LIBAV_FFT', depends(when=libav_fft)(lambda: True))
set_config('LIBAV_FFT_ASFLAGS', libav_fft.flags)
diff -up firefox-84.0/toolkit/moz.configure.1667096 firefox-84.0/toolkit/moz.configure
--- firefox-84.0/toolkit/moz.configure.1667096 2020-12-10 12:57:14.723762349 +0100
+++ firefox-84.0/toolkit/moz.configure 2020-12-10 12:58:29.051855203 +0100
@@ -1868,6 +1868,14 @@ with only_when(compile_environment):
set_define("MOZ_LIBAV_FFT", depends(when=libav_fft)(lambda: True))
set_config("LIBAV_FFT_ASFLAGS", libav_fft.flags)
+# fdk aac support
+option('--with-system-fdk-aac',
@ -470,4 +457,3 @@ diff --git a/toolkit/moz.configure b/toolkit/moz.configure
# FFmpeg's ffvpx configuration
# ==============================================================

View File

@ -1,6 +1,6 @@
diff -up firefox-82.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-82.0/dom/media/mp4/MP4Demuxer.cpp
--- firefox-82.0/dom/media/mp4/MP4Demuxer.cpp.1670333 2020-10-14 19:20:18.000000000 +0200
+++ firefox-82.0/dom/media/mp4/MP4Demuxer.cpp 2020-10-19 20:56:38.362039524 +0200
diff -up firefox-84.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-84.0/dom/media/mp4/MP4Demuxer.cpp
--- firefox-84.0/dom/media/mp4/MP4Demuxer.cpp.1670333 2020-12-07 23:32:59.000000000 +0100
+++ firefox-84.0/dom/media/mp4/MP4Demuxer.cpp 2020-12-10 14:07:49.095266466 +0100
@@ -31,6 +31,8 @@ mozilla::LogModule* GetDemuxerLog() { re
DDMOZ_LOG(gMediaDemuxerLog, mozilla::LogLevel::Debug, "::%s: " arg, \
__func__, ##__VA_ARGS__)
@ -23,10 +23,10 @@ diff -up firefox-82.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-82.0/dom/medi
if (sample->mKeyframe != keyframe) {
NS_WARNING(nsPrintfCString("Frame incorrectly marked as %skeyframe "
"@ pts:%" PRId64 " dur:%" PRId64
diff -up firefox-82.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-82.0/dom/media/platforms/PDMFactory.cpp
--- firefox-82.0/dom/media/platforms/PDMFactory.cpp.1670333 2020-10-14 19:20:18.000000000 +0200
+++ firefox-82.0/dom/media/platforms/PDMFactory.cpp 2020-10-19 20:53:14.631214334 +0200
@@ -49,6 +49,8 @@
diff -up firefox-84.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-84.0/dom/media/platforms/PDMFactory.cpp
--- firefox-84.0/dom/media/platforms/PDMFactory.cpp.1670333 2020-12-10 14:07:49.095266466 +0100
+++ firefox-84.0/dom/media/platforms/PDMFactory.cpp 2020-12-10 15:29:28.969006031 +0100
@@ -52,6 +52,8 @@
#include <functional>
@ -34,35 +34,42 @@ diff -up firefox-82.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-82.0/do
+
namespace mozilla {
extern already_AddRefed<PlatformDecoderModule> CreateBlankDecoderModule();
@@ -380,7 +382,8 @@ void PDMFactory::CreatePDMs() {
#ifdef MOZ_FFMPEG
if (StaticPrefs::media_ffmpeg_enabled()) {
m = FFmpegRuntimeLinker::CreateDecoderModule();
- mFFmpegFailedToLoad = !StartupPDM(m);
+ mFFmpegUsed = StartupPDM(m);
+ mFFmpegFailedToLoad = !mFFmpegUsed;
} else {
mFFmpegFailedToLoad = false;
// Set on the main thread, in content processes before any PDMFactory will ever
@@ -522,9 +524,11 @@ void PDMFactory::CreateContentPDMs() {
}
@@ -395,7 +398,8 @@ void PDMFactory::CreatePDMs() {
m = new AgnosticDecoderModule();
StartupPDM(m);
#endif
#ifdef MOZ_FFMPEG
- if (StaticPrefs::media_ffmpeg_enabled() &&
- !CreateAndStartupPDM<FFmpegRuntimeLinker>()) {
- mFailureFlags += DecoderDoctorDiagnostics::Flags::FFmpegFailedToLoad;
+ if (StaticPrefs::media_ffmpeg_enabled()) {
+ mFFmpegUsed = CreateAndStartupPDM<FFmpegRuntimeLinker>();
+ if (!mFFmpegUsed) {
+ mFailureFlags += DecoderDoctorDiagnostics::Flags::FFmpegFailedToLoad;
+ }
}
#endif
#ifdef MOZ_WIDGET_ANDROID
@@ -536,8 +540,9 @@ void PDMFactory::CreateContentPDMs() {
- if (StaticPrefs::media_gmp_decoder_enabled()) {
+ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed) {
CreateAndStartupPDM<AgnosticDecoderModule>();
- if (StaticPrefs::media_gmp_decoder_enabled() &&
+ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed &&
!CreateAndStartupPDM<GMPDecoderModule>()) {
+ gUseKeyframeFromContainer = true;
m = new GMPDecoderModule();
mGMPPDMFailedToStartup = !StartupPDM(m);
} else {
diff -up firefox-82.0/dom/media/platforms/PDMFactory.h.1670333 firefox-82.0/dom/media/platforms/PDMFactory.h
--- firefox-82.0/dom/media/platforms/PDMFactory.h.1670333 2020-10-14 19:20:18.000000000 +0200
+++ firefox-82.0/dom/media/platforms/PDMFactory.h 2020-10-19 20:53:14.631214334 +0200
@@ -70,6 +70,7 @@ class PDMFactory final {
mFailureFlags += DecoderDoctorDiagnostics::Flags::GMPPDMFailedToStartup;
}
}
diff -up firefox-84.0/dom/media/platforms/PDMFactory.h.1670333 firefox-84.0/dom/media/platforms/PDMFactory.h
--- firefox-84.0/dom/media/platforms/PDMFactory.h.1670333 2020-12-10 14:07:49.096266493 +0100
+++ firefox-84.0/dom/media/platforms/PDMFactory.h 2020-12-10 15:27:42.363034881 +0100
@@ -116,6 +116,8 @@ class PDMFactory final {
DecoderDoctorDiagnostics::FlagsSet mFailureFlags;
bool mWMFFailedToLoad = false;
bool mFFmpegFailedToLoad = false;
+ bool mFFmpegUsed = false;
bool mGMPPDMFailedToStartup = false;
+
friend class RemoteVideoDecoderParent;
static void EnsureInit();
template <class T>

View File

@ -1,24 +1,7 @@
diff -up firefox-81.0.1/build/moz.configure/lto-pgo.configure.pgo firefox-81.0.1/build/moz.configure/lto-pgo.configure
--- firefox-81.0.1/build/moz.configure/lto-pgo.configure.pgo 2020-09-30 19:41:10.000000000 +0200
+++ firefox-81.0.1/build/moz.configure/lto-pgo.configure 2020-10-07 09:16:44.071786956 +0200
@@ -69,12 +69,14 @@ set_config('PGO_PROFILE_PATH', pgo_profi
@imports(_from='__builtin__', _import='min')
def pgo_flags(compiler, profdata, target_is_windows):
if compiler.type == 'gcc':
+ #profile_use = '-fprofile-use=$(topobjdir)'
+ profile_use = '-fprofile-use'
return namespace(
gen_cflags=['-fprofile-generate'],
gen_ldflags=['-fprofile-generate'],
- use_cflags=['-fprofile-use', '-fprofile-correction',
+ use_cflags=[profile_use, '-fprofile-correction',
'-Wcoverage-mismatch'],
- use_ldflags=['-fprofile-use'],
+ use_ldflags=[profile_use],
)
if compiler.type in ('clang-cl', 'clang'):
@@ -192,13 +194,13 @@ def lto(value, c_compiler, ld64_known_go
diff -up firefox-84.0/build/moz.configure/lto-pgo.configure.pgo firefox-84.0/build/moz.configure/lto-pgo.configure
--- firefox-84.0/build/moz.configure/lto-pgo.configure.pgo 2020-12-10 15:55:41.932635998 +0100
+++ firefox-84.0/build/moz.configure/lto-pgo.configure 2020-12-10 16:01:24.674052547 +0100
@@ -228,13 +228,13 @@ def lto(value, c_compiler, ld64_known_go
cflags.append("-flto")
ldflags.append("-flto")
else:
@ -26,17 +9,17 @@ diff -up firefox-81.0.1/build/moz.configure/lto-pgo.configure.pgo firefox-81.0.1
- ldflags.append("-flto=thin")
+ cflags.append("-flto")
+ ldflags.append("-flto")
elif c_compiler.type == 'clang-cl':
if len(value) and value[0].lower() == 'full':
elif c_compiler.type == "clang-cl":
if len(value) and value[0].lower() == "full":
cflags.append("-flto")
else:
- cflags.append("-flto=thin")
+ cflags.append("-flto")
# With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
# AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
cflags.append("-fuse-ld=lld");
@@ -232,7 +234,7 @@ def lto(value, c_compiler, ld64_known_go
if len(value) and value[0].lower() == 'full':
cflags.append("-fuse-ld=lld")
@@ -268,7 +268,7 @@ def lto(value, c_compiler, ld64_known_go
if len(value) and value[0].lower() == "full":
cflags.append("-flto")
else:
- cflags.append("-flto=thin")
@ -44,9 +27,9 @@ diff -up firefox-81.0.1/build/moz.configure/lto-pgo.configure.pgo firefox-81.0.1
cflags.append("-flifetime-dse=1")
ldflags.append("-flto=%s" % num_cores)
diff -up firefox-81.0.1/build/pgo/profileserver.py.pgo firefox-81.0.1/build/pgo/profileserver.py
--- firefox-81.0.1/build/pgo/profileserver.py.pgo 2020-09-30 19:41:10.000000000 +0200
+++ firefox-81.0.1/build/pgo/profileserver.py 2020-10-07 09:16:44.071786956 +0200
diff -up firefox-84.0/build/pgo/profileserver.py.pgo firefox-84.0/build/pgo/profileserver.py
--- firefox-84.0/build/pgo/profileserver.py.pgo 2020-12-07 23:32:58.000000000 +0100
+++ firefox-84.0/build/pgo/profileserver.py 2020-12-10 16:05:16.278668657 +0100
@@ -11,7 +11,7 @@ import glob
import subprocess
@ -56,11 +39,11 @@ diff -up firefox-81.0.1/build/pgo/profileserver.py.pgo firefox-81.0.1/build/pgo/
from mozfile import TemporaryDirectory
from mozhttpd import MozHttpd
from mozprofile import FirefoxProfile, Preferences
@@ -84,9 +84,22 @@ if __name__ == '__main__':
port=PORT,
options='primary,privileged')
@@ -87,9 +87,22 @@ if __name__ == "__main__":
locations = ServerLocations()
locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
- old_profraw_files = glob.glob('*.profraw')
- old_profraw_files = glob.glob("*.profraw")
- for f in old_profraw_files:
- os.remove(f)
+ using_gcc = False
@ -82,21 +65,20 @@ diff -up firefox-81.0.1/build/pgo/profileserver.py.pgo firefox-81.0.1/build/pgo/
with TemporaryDirectory() as profilePath:
# TODO: refactor this into mozprofile
@@ -191,6 +204,11 @@ if __name__ == '__main__':
@@ -212,6 +225,10 @@ if __name__ == "__main__":
print("Firefox exited successfully, but produced a crashreport")
sys.exit(1)
+
+ print('Copying profile data....')
+ os.system('pwd');
+ os.system('tar cf profdata.tar.gz `find . -name "*.gcda"`; cd ..; tar xf instrumented/profdata.tar.gz;');
+
llvm_profdata = env.get('LLVM_PROFDATA')
llvm_profdata = env.get("LLVM_PROFDATA")
if llvm_profdata:
profraw_files = glob.glob('*.profraw')
diff -up firefox-81.0.1/build/unix/mozconfig.unix.pgo firefox-81.0.1/build/unix/mozconfig.unix
--- firefox-81.0.1/build/unix/mozconfig.unix.pgo 2020-09-30 19:41:10.000000000 +0200
+++ firefox-81.0.1/build/unix/mozconfig.unix 2020-10-07 09:16:44.071786956 +0200
profraw_files = glob.glob("*.profraw")
diff -up firefox-84.0/build/unix/mozconfig.unix.pgo firefox-84.0/build/unix/mozconfig.unix
--- firefox-84.0/build/unix/mozconfig.unix.pgo 2020-12-07 23:32:58.000000000 +0100
+++ firefox-84.0/build/unix/mozconfig.unix 2020-12-10 15:55:41.933636031 +0100
@@ -6,6 +6,15 @@ if [ -n "$FORCE_GCC" ]; then
CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
@ -113,32 +95,33 @@ diff -up firefox-81.0.1/build/unix/mozconfig.unix.pgo firefox-81.0.1/build/unix/
# We want to make sure we use binutils and other binaries in the tooltool
# package.
mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH"
diff -up firefox-81.0.1/extensions/spellcheck/src/moz.build.pgo firefox-81.0.1/extensions/spellcheck/src/moz.build
--- firefox-81.0.1/extensions/spellcheck/src/moz.build.pgo 2020-09-30 19:41:17.000000000 +0200
+++ firefox-81.0.1/extensions/spellcheck/src/moz.build 2020-10-07 09:16:44.071786956 +0200
diff -up firefox-84.0/extensions/spellcheck/src/moz.build.pgo firefox-84.0/extensions/spellcheck/src/moz.build
--- firefox-84.0/extensions/spellcheck/src/moz.build.pgo 2020-12-10 15:55:41.933636031 +0100
+++ firefox-84.0/extensions/spellcheck/src/moz.build 2020-12-10 16:16:05.897011122 +0100
@@ -31,3 +31,5 @@ EXPORTS.mozilla += [
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CXXFLAGS += ["-Wno-error=shadow"]
+
+CXXFLAGS += ['-fno-devirtualize']
\ No newline at end of file
diff -up firefox-81.0.1/python/mozbuild/mozbuild/build_commands.py.pgo firefox-81.0.1/python/mozbuild/mozbuild/build_commands.py
--- firefox-81.0.1/python/mozbuild/mozbuild/build_commands.py.pgo 2020-09-30 19:41:46.000000000 +0200
+++ firefox-81.0.1/python/mozbuild/mozbuild/build_commands.py 2020-10-07 09:16:44.071786956 +0200
@@ -108,7 +108,8 @@ class Build(MachCommandBase):
diff -up firefox-84.0/python/mozbuild/mozbuild/build_commands.py.pgo firefox-84.0/python/mozbuild/mozbuild/build_commands.py
--- firefox-84.0/python/mozbuild/mozbuild/build_commands.py.pgo 2020-12-10 15:55:41.933636031 +0100
+++ firefox-84.0/python/mozbuild/mozbuild/build_commands.py 2020-12-10 16:14:30.017272529 +0100
@@ -126,9 +126,8 @@ class Build(MachCommandBase):
return status
pgo_env = os.environ.copy()
- pgo_env['LLVM_PROFDATA'] = instr.config_environment.substs.get('LLVM_PROFDATA')
- pgo_env["LLVM_PROFDATA"] = instr.config_environment.substs.get(
- "LLVM_PROFDATA"
- )
+ if instr.config_environment.substs.get('CC_TYPE') != 'gcc':
+ pgo_env['LLVM_PROFDATA'] = instr.config_environment.substs.get('LLVM_PROFDATA')
pgo_env['JARLOG_FILE'] = mozpath.join(orig_topobjdir, 'jarlog/en-US.log')
+ pgo_env["LLVM_PROFDATA"] = instr.config_environment.substs.get("LLVM_PROFDATA")
pgo_env["JARLOG_FILE"] = mozpath.join(orig_topobjdir, "jarlog/en-US.log")
pgo_cmd = [
instr.virtualenv_manager.python_path,
diff -up firefox-81.0.1/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-81.0.1/toolkit/components/terminator/nsTerminator.cpp
--- firefox-81.0.1/toolkit/components/terminator/nsTerminator.cpp.pgo 2020-10-07 09:22:26.698243673 +0200
+++ firefox-81.0.1/toolkit/components/terminator/nsTerminator.cpp 2020-10-07 09:22:43.026312999 +0200
diff -up firefox-84.0/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-84.0/toolkit/components/terminator/nsTerminator.cpp
--- firefox-84.0/toolkit/components/terminator/nsTerminator.cpp.pgo 2020-12-07 23:33:08.000000000 +0100
+++ firefox-84.0/toolkit/components/terminator/nsTerminator.cpp 2020-12-10 15:55:41.933636031 +0100
@@ -418,6 +418,11 @@ void nsTerminator::StartWatchdog() {
}
#endif

View File

@ -4,17 +4,7 @@
export TEST_DIR="test_results"
echo "Test results"
echo "SW"
echo "Basic compositor"
./print_subtest "test_results" ""
echo "WR"
echo "WebRender"
./print_subtest "test_results" "-wr"
echo "General"
UNPASS=`grep "cppunittests INFO | Passed:" $TEST_DIR/cppunittest | cut -d ' ' -f 5`
UNFAIL=`grep "cppunittests INFO | Failed:" $TEST_DIR/cppunittest | cut -d ' ' -f 5`
echo "CPP UNIT: PASSED: $UNPASS FAILED: $UNFAIL"
JSPASS=`grep "TEST-PASS" $TEST_DIR/jsapi | wc -l`
echo "JSAPI: PASSED: $JSPASS"
echo "JStests: "`tail -n 1 $TEST_DIR/jstests`

View File

@ -14,8 +14,8 @@ MARSKIP=`grep --text "Skipped:" $TEST_DIR/marionette$TEST_FLAVOUR | cut -d ' ' -
MARFAILED=`grep --text "Unexpected results:" $TEST_DIR/marionette$TEST_FLAVOUR | cut -d ' ' -f 3`
echo "Marionette: PASSED: $MARPASS FAILED: $MARSKIP Known issues: $MARFAILED"
XPCPASS=`grep --text "INFO INFO | Passed:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 7`
XPCFAIL=`grep --text "INFO INFO | Failed:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 7`
XPCPASS=`grep --text "Expected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3`
XPCFAIL=`grep --text "Unexpected results:" $TEST_DIR/xpcshell$TEST_FLAVOUR | cut -d ' ' -f 3`
echo "XPCShell: PASSED: $XPCPASS FAILED: $XPCFAIL"
CRPASS=`grep "REFTEST INFO | Successful:" $TEST_DIR/crashtest$TEST_FLAVOUR | cut -d ' ' -f 5`

View File

@ -31,11 +31,5 @@ xvfb-run -s "$X_PARAMS" ./mach marionette-test $TEST_PARAMS >& $TEST_DIR/marione
xvfb-run -s "$X_PARAMS" ./mach reftest $TEST_PARAMS --run-tests-in-parallel >& $TEST_DIR/reftest$TEST_FLAVOUR
./mach xpcshell-test $TEST_PARAMS 2>&1 | cat - > $TEST_DIR/xpcshell$TEST_FLAVOUR
# Rest
export TEST_DIR="test"
objdir/dist/bin/jsapi-tests >& $TEST_DIR/jsapi
./mach cppunittest >& $TEST_DIR/cppunittest
./mach jstests >& $TEST_DIR/jstests
rm -f objdir/dist/bin/certutil
rm -f objdir/dist/bin/pk12util

View File

@ -1,4 +1,4 @@
SHA512 (cbindgen-vendor.tar.xz) = 3c925c5523246b7dfbcb4ce563483d5b45315a06dc90f2cf07cddef0c263dd15b410afbbe4d86594de96a308e93be3b27ffec01f5f759a42ecba3cc983b1677f
SHA512 (firefox-83.0.source.tar.xz) = 4ac49cefed278d1f898907bbedacf81ea4bb4e5784f567d4c0971d9cbc2cf4a2e4472de81a7ded620bc3a516bc972d600b516b7674319cdfc9734c3824a9a2f6
SHA512 (firefox-langpacks-83.0-20201116.tar.xz) = 0d26660a7f09481e82d8d88ac43917001301d422a94dc48d3913dff92805f100221ca6db15fea05e895221efe5a9d74c07780a671aebc26a69d7a588e1cd423d
SHA512 (mochitest-python.tar.gz) = 7f357cb8bd93d64be5cb75819a8a813d2f8f217ff25f0df8c3190910744132405d45797b3900775a44b554f5c70cf2682809c9e7a686ca131fddcd81e98028d9
SHA512 (firefox-84.0.source.tar.xz) = 16e3219e28d0807f53c9713e7efaea56cea65bb02959680bed13db4bd9331d9651de5c80c70c928a41b3db9d5471d7b38fa2d88f3e8017565ca7ea79ed0527e9
SHA512 (firefox-langpacks-84.0-20201210.tar.xz) = 3f836e854425ad9911cc02d5e82f88b904ecbd63357caa677a35bd226d475a161bcbb1647bfce17fed3ccb719dd95340cc7b0b6f7478c87d7c0b45c9493218a5