RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/firefox#78a2fca4c6a65a6d27fe55bf52a27ed21e6aec3b
This commit is contained in:
parent
268ae0028c
commit
3e50e17831
2
.gitignore
vendored
2
.gitignore
vendored
@ -422,3 +422,5 @@ firefox-3.6.4.source.tar.bz2
|
|||||||
/firefox-langpacks-81.0.1-20200930.tar.xz
|
/firefox-langpacks-81.0.1-20200930.tar.xz
|
||||||
/firefox-81.0.2.source.tar.xz
|
/firefox-81.0.2.source.tar.xz
|
||||||
/firefox-langpacks-81.0.2-20201012.tar.xz
|
/firefox-langpacks-81.0.2-20201012.tar.xz
|
||||||
|
/firefox-82.0.source.tar.xz
|
||||||
|
/firefox-langpacks-82.0-20201015.tar.xz
|
||||||
|
@ -65,6 +65,7 @@ MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
|
|||||||
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
||||||
MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE"
|
MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE"
|
||||||
MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh"
|
MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh"
|
||||||
|
GETENFORCE_FILE="/usr/sbin/getenforce"
|
||||||
|
|
||||||
##
|
##
|
||||||
## Enable Wayland backend?
|
## Enable Wayland backend?
|
||||||
@ -182,8 +183,8 @@ fi
|
|||||||
# When Firefox is not running, restore SELinux labels for profile files
|
# When Firefox is not running, restore SELinux labels for profile files
|
||||||
# (rhbz#1731371)
|
# (rhbz#1731371)
|
||||||
if [ $MOZILLA_DOWN -ne 0 ]; then
|
if [ $MOZILLA_DOWN -ne 0 ]; then
|
||||||
if [ `getenforce` != "Disabled" ]; then
|
if [ -x $GETENFORCE_FILE ] && [`getenforce` != "Disabled" ]; then
|
||||||
restorecon -vr ~/.mozilla/firefox/* &
|
(restorecon -vr ~/.mozilla/firefox/* &)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
42
firefox.spec
42
firefox.spec
@ -106,13 +106,13 @@ ExcludeArch: s390x
|
|||||||
|
|
||||||
Summary: Mozilla Firefox Web browser
|
Summary: Mozilla Firefox Web browser
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 81.0.2
|
Version: 82.0
|
||||||
Release: 2%{?dist}
|
Release: 4%{?dist}
|
||||||
URL: https://www.mozilla.org/firefox/
|
URL: https://www.mozilla.org/firefox/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
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
|
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
||||||
%if %{with langpacks}
|
%if %{with langpacks}
|
||||||
Source1: firefox-langpacks-%{version}%{?pre_version}-20201012.tar.xz
|
Source1: firefox-langpacks-%{version}%{?pre_version}-20201015.tar.xz
|
||||||
%endif
|
%endif
|
||||||
Source2: cbindgen-vendor.tar.xz
|
Source2: cbindgen-vendor.tar.xz
|
||||||
Source10: firefox-mozconfig
|
Source10: firefox-mozconfig
|
||||||
@ -164,9 +164,6 @@ Patch228: disable-openh264-download.patch
|
|||||||
|
|
||||||
# Upstream patches
|
# Upstream patches
|
||||||
Patch402: mozilla-1196777.patch
|
Patch402: mozilla-1196777.patch
|
||||||
Patch403: mozilla-1656505-1.patch
|
|
||||||
Patch404: mozilla-1656505-2.patch
|
|
||||||
Patch405: mozilla-1665324.patch
|
|
||||||
Patch406: mozilla-1665329.patch
|
Patch406: mozilla-1665329.patch
|
||||||
Patch407: mozilla-1667096.patch
|
Patch407: mozilla-1667096.patch
|
||||||
Patch408: mozilla-1663844.patch
|
Patch408: mozilla-1663844.patch
|
||||||
@ -176,6 +173,7 @@ Patch411: mozilla-1668771.patch
|
|||||||
Patch412: mozilla-1634404.patch
|
Patch412: mozilla-1634404.patch
|
||||||
Patch413: mozilla-1669495.patch
|
Patch413: mozilla-1669495.patch
|
||||||
Patch414: mozilla-1656727.patch
|
Patch414: mozilla-1656727.patch
|
||||||
|
Patch415: mozilla-1670333.patch
|
||||||
|
|
||||||
# Wayland specific upstream patches
|
# Wayland specific upstream patches
|
||||||
Patch574: firefox-pipewire-0-2.patch
|
Patch574: firefox-pipewire-0-2.patch
|
||||||
@ -375,9 +373,6 @@ This package contains results of tests executed during build.
|
|||||||
%patch228 -p1 -b .disable-openh264-download
|
%patch228 -p1 -b .disable-openh264-download
|
||||||
|
|
||||||
%patch402 -p1 -b .1196777
|
%patch402 -p1 -b .1196777
|
||||||
%patch403 -p1 -b .1656505-1
|
|
||||||
%patch404 -p1 -b .1656505-2
|
|
||||||
%patch405 -p1 -b .1665324
|
|
||||||
%patch406 -p1 -b .1665329
|
%patch406 -p1 -b .1665329
|
||||||
%patch407 -p1 -b .1667096
|
%patch407 -p1 -b .1667096
|
||||||
%patch408 -p1 -b .1663844
|
%patch408 -p1 -b .1663844
|
||||||
@ -387,12 +382,13 @@ This package contains results of tests executed during build.
|
|||||||
%patch412 -p1 -b .1634404
|
%patch412 -p1 -b .1634404
|
||||||
%patch413 -p1 -b .1669495
|
%patch413 -p1 -b .1669495
|
||||||
%patch414 -p1 -b .1656727
|
%patch414 -p1 -b .1656727
|
||||||
|
%patch415 -p1 -b .1670333
|
||||||
|
|
||||||
# Wayland specific upstream patches
|
# Wayland specific upstream patches
|
||||||
%if 0%{?fedora} < 32
|
%if 0%{?fedora} > 31 || 0%{?eln}
|
||||||
%patch574 -p1 -b .firefox-pipewire-0-2
|
|
||||||
%else
|
|
||||||
%patch575 -p1 -b .firefox-pipewire-0-3
|
%patch575 -p1 -b .firefox-pipewire-0-3
|
||||||
|
%else
|
||||||
|
%patch574 -p1 -b .firefox-pipewire-0-2
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# VA-API fixes
|
# VA-API fixes
|
||||||
@ -618,10 +614,14 @@ echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig
|
|||||||
%endif
|
%endif
|
||||||
%if 0%{?build_with_pgo}
|
%if 0%{?build_with_pgo}
|
||||||
echo "ac_add_options MOZ_PGO=1" >> .mozconfig
|
echo "ac_add_options MOZ_PGO=1" >> .mozconfig
|
||||||
|
|
||||||
# Temporary disabled due to GCC bug
|
# Temporary disabled due to GCC bug
|
||||||
%if 0%{?fedora} > 32
|
# Fixed by https://bugzilla.mozilla.org/show_bug.cgi?id=1671345
|
||||||
|
# Should be in Firefox 83
|
||||||
|
%if 0%{?fedora} > 33
|
||||||
echo "ac_add_options --enable-lto" >> .mozconfig
|
echo "ac_add_options --enable-lto" >> .mozconfig
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# PGO build doesn't work with ccache
|
# PGO build doesn't work with ccache
|
||||||
export CCACHE_DISABLE=1
|
export CCACHE_DISABLE=1
|
||||||
%endif
|
%endif
|
||||||
@ -981,6 +981,22 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Oct 19 2020 Martin Stransky <stransky@redhat.com> - 82.0-4
|
||||||
|
- Updated openh264 patch to use keyframes from contained
|
||||||
|
for openh264 only.
|
||||||
|
|
||||||
|
* Mon Oct 19 2020 Martin Stransky <stransky@redhat.com> - 82.0-3
|
||||||
|
- Added ELN build fixes
|
||||||
|
|
||||||
|
* Thu Oct 15 2020 Martin Stransky <stransky@redhat.com> - 82.0-2
|
||||||
|
- Updated SELinux relabel setup (rhbz#1731371)
|
||||||
|
|
||||||
|
* Thu Oct 15 2020 Martin Stransky <stransky@redhat.com> - 82.0-1
|
||||||
|
- Updated to 82.0 Build 2
|
||||||
|
|
||||||
|
* Thu Oct 15 2020 Martin Stransky <stransky@redhat.com> - 81.0.2-3
|
||||||
|
- Added experimental openh264 seek patch (mzbz#1670333)
|
||||||
|
|
||||||
* Mon Oct 12 2020 Martin Stransky <stransky@redhat.com> - 81.0.2-2
|
* Mon Oct 12 2020 Martin Stransky <stransky@redhat.com> - 81.0.2-2
|
||||||
- Added a partial fox for rhbz#1886722
|
- Added a partial fox for rhbz#1886722
|
||||||
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
diff --git a/widget/gtk/DMABufLibWrapper.cpp b/widget/gtk/DMABufLibWrapper.cpp
|
|
||||||
--- a/widget/gtk/DMABufLibWrapper.cpp
|
|
||||||
+++ b/widget/gtk/DMABufLibWrapper.cpp
|
|
||||||
@@ -149,8 +149,8 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
nsDMABufDevice::nsDMABufDevice()
|
|
||||||
- : mXRGBFormat({true, false, GBM_FORMAT_ARGB8888, nullptr, 0}),
|
|
||||||
- mARGBFormat({true, true, GBM_FORMAT_XRGB8888, nullptr, 0}),
|
|
||||||
+ : mXRGBFormat({true, false, GBM_FORMAT_XRGB8888, nullptr, 0}),
|
|
||||||
+ mARGBFormat({true, true, GBM_FORMAT_ARGB8888, nullptr, 0}),
|
|
||||||
mGbmDevice(nullptr),
|
|
||||||
mGbmFd(-1),
|
|
||||||
mGdmConfigured(false),
|
|
||||||
|
|
@ -1,113 +0,0 @@
|
|||||||
diff -up firefox-81.0/gfx/gl/SharedSurfaceDMABUF.cpp.1656505-2 firefox-81.0/gfx/gl/SharedSurfaceDMABUF.cpp
|
|
||||||
--- firefox-81.0/gfx/gl/SharedSurfaceDMABUF.cpp.1656505-2 2020-09-15 03:48:28.000000000 +0200
|
|
||||||
+++ firefox-81.0/gfx/gl/SharedSurfaceDMABUF.cpp 2020-09-15 18:13:03.683458125 +0200
|
|
||||||
@@ -63,6 +63,8 @@ UniquePtr<SurfaceFactory_DMABUF> Surface
|
|
||||||
return dmabufFactory;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ LOGDMABUF(
|
|
||||||
+ ("SurfaceFactory_DMABUF::Create() failed, fallback to SW buffers.\n"));
|
|
||||||
gfxPlatformGtk::GetPlatform()->DisableDMABufWebGL();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
diff -up firefox-81.0/widget/gtk/DMABufSurface.cpp.1656505-2 firefox-81.0/widget/gtk/DMABufSurface.cpp
|
|
||||||
--- firefox-81.0/widget/gtk/DMABufSurface.cpp.1656505-2 2020-09-15 03:48:38.000000000 +0200
|
|
||||||
+++ firefox-81.0/widget/gtk/DMABufSurface.cpp 2020-09-15 18:13:03.683458125 +0200
|
|
||||||
@@ -26,6 +26,7 @@
|
|
||||||
#include "GLContextTypes.h" // for GLContext, etc
|
|
||||||
#include "GLContextEGL.h"
|
|
||||||
#include "GLContextProvider.h"
|
|
||||||
+#include "ScopedGLHelpers.h"
|
|
||||||
|
|
||||||
#include "mozilla/layers/LayersSurfaces.h"
|
|
||||||
|
|
||||||
@@ -320,6 +321,9 @@ bool DMABufSurfaceRGBA::Create(int aWidt
|
|
||||||
mWidth = aWidth;
|
|
||||||
mHeight = aHeight;
|
|
||||||
|
|
||||||
+ LOGDMABUF(("DMABufSurfaceRGBA::Create() UID %d size %d x %d\n", mUID, mWidth,
|
|
||||||
+ mHeight));
|
|
||||||
+
|
|
||||||
mGmbFormat = GetDMABufDevice()->GetGbmFormat(mSurfaceFlags & DMABUF_ALPHA);
|
|
||||||
if (!mGmbFormat) {
|
|
||||||
// Requested DRM format is not supported.
|
|
||||||
@@ -329,6 +333,7 @@ bool DMABufSurfaceRGBA::Create(int aWidt
|
|
||||||
bool useModifiers = (aDMABufSurfaceFlags & DMABUF_USE_MODIFIERS) &&
|
|
||||||
mGmbFormat->mModifiersCount > 0;
|
|
||||||
if (useModifiers) {
|
|
||||||
+ LOGDMABUF((" Creating with modifiers\n"));
|
|
||||||
mGbmBufferObject[0] = nsGbmLib::CreateWithModifiers(
|
|
||||||
GetDMABufDevice()->GetGbmDevice(), mWidth, mHeight, mGmbFormat->mFormat,
|
|
||||||
mGmbFormat->mModifiers, mGmbFormat->mModifiersCount);
|
|
||||||
@@ -360,6 +365,7 @@ bool DMABufSurfaceRGBA::Create(int aWidt
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!mGbmBufferObject[0]) {
|
|
||||||
+ LOGDMABUF((" Failed to create GbmBufferObject\n"));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -429,6 +435,8 @@ void DMABufSurfaceRGBA::ImportSurfaceDes
|
|
||||||
if (desc.refCount().Length() > 0) {
|
|
||||||
GlobalRefCountImport(desc.refCount()[0].ClonePlatformHandle().release());
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ LOGDMABUF(("DMABufSurfaceRGBA::Import() UID %d\n", mUID));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool DMABufSurfaceRGBA::Create(const SurfaceDescriptor& aDesc) {
|
|
||||||
@@ -448,6 +456,8 @@ bool DMABufSurfaceRGBA::Serialize(
|
|
||||||
AutoTArray<ipc::FileDescriptor, 1> fenceFDs;
|
|
||||||
AutoTArray<ipc::FileDescriptor, 1> refCountFDs;
|
|
||||||
|
|
||||||
+ LOGDMABUF(("DMABufSurfaceRGBA::Serialize() UID %d\n", mUID));
|
|
||||||
+
|
|
||||||
width.AppendElement(mWidth);
|
|
||||||
height.AppendElement(mHeight);
|
|
||||||
format.AppendElement(mGmbFormat->mFormat);
|
|
||||||
@@ -469,7 +479,6 @@ bool DMABufSurfaceRGBA::Serialize(
|
|
||||||
SurfaceDescriptorDMABuf(mSurfaceType, mBufferModifier, mGbmBufferFlags,
|
|
||||||
fds, width, height, format, strides, offsets,
|
|
||||||
GetYUVColorSpace(), fenceFDs, mUID, refCountFDs);
|
|
||||||
-
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -556,7 +565,7 @@ bool DMABufSurfaceRGBA::CreateTexture(GL
|
|
||||||
|
|
||||||
aGLContext->MakeCurrent();
|
|
||||||
aGLContext->fGenTextures(1, &mTexture);
|
|
||||||
- aGLContext->fBindTexture(LOCAL_GL_TEXTURE_2D, mTexture);
|
|
||||||
+ const ScopedBindTexture savedTex(aGLContext, mTexture);
|
|
||||||
aGLContext->fTexParameteri(LOCAL_GL_TEXTURE_2D, LOCAL_GL_TEXTURE_WRAP_S,
|
|
||||||
LOCAL_GL_CLAMP_TO_EDGE);
|
|
||||||
aGLContext->fTexParameteri(LOCAL_GL_TEXTURE_2D, LOCAL_GL_TEXTURE_WRAP_T,
|
|
||||||
@@ -567,6 +576,7 @@ bool DMABufSurfaceRGBA::CreateTexture(GL
|
|
||||||
LOCAL_GL_LINEAR);
|
|
||||||
aGLContext->fEGLImageTargetTexture2D(LOCAL_GL_TEXTURE_2D, mEGLImage);
|
|
||||||
mGL = aGLContext;
|
|
||||||
+
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -611,6 +621,10 @@ void* DMABufSurface::MapInternal(uint32_
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ LOGDMABUF(
|
|
||||||
+ ("DMABufSurfaceRGBA::MapInternal() UID %d size %d x %d -> %d x %d\n",
|
|
||||||
+ mUID, aX, aY, aWidth, aHeight));
|
|
||||||
+
|
|
||||||
mMappedRegionStride[aPlane] = 0;
|
|
||||||
mMappedRegionData[aPlane] = nullptr;
|
|
||||||
mMappedRegion[aPlane] = nsGbmLib::Map(
|
|
||||||
@@ -988,7 +1002,7 @@ bool DMABufSurfaceYUV::CreateTexture(GLC
|
|
||||||
|
|
||||||
aGLContext->MakeCurrent();
|
|
||||||
aGLContext->fGenTextures(1, &mTexture[aPlane]);
|
|
||||||
- aGLContext->fBindTexture(LOCAL_GL_TEXTURE_2D, mTexture[aPlane]);
|
|
||||||
+ const ScopedBindTexture savedTex(aGLContext, mTexture[aPlane]);
|
|
||||||
aGLContext->fTexParameteri(LOCAL_GL_TEXTURE_2D, LOCAL_GL_TEXTURE_WRAP_S,
|
|
||||||
LOCAL_GL_CLAMP_TO_EDGE);
|
|
||||||
aGLContext->fTexParameteri(LOCAL_GL_TEXTURE_2D, LOCAL_GL_TEXTURE_WRAP_T,
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp
|
diff -up firefox-82.0/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-82.0/widget/gtk/WindowSurfaceWayland.cpp
|
||||||
--- firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 2020-10-08 11:35:41.921508799 +0200
|
--- firefox-82.0/widget/gtk/WindowSurfaceWayland.cpp.1656727 2020-10-15 16:16:53.522050159 +0200
|
||||||
+++ firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp 2020-10-08 11:37:05.036686876 +0200
|
+++ firefox-82.0/widget/gtk/WindowSurfaceWayland.cpp 2020-10-15 16:18:24.956289348 +0200
|
||||||
@@ -158,7 +158,6 @@ We allocate shared memory (shm) by mmap(
|
@@ -158,7 +158,6 @@ We allocate shared memory (shm) by mmap(
|
||||||
between us and wayland compositor. We draw our graphics data to the shm and
|
between us and wayland compositor. We draw our graphics data to the shm and
|
||||||
handle to wayland compositor by WindowBackBuffer/WindowSurfaceWayland
|
handle to wayland compositor by WindowBackBuffer/WindowSurfaceWayland
|
||||||
@ -51,10 +51,10 @@ diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-81.0
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
nsWaylandDisplay* WindowBackBuffer::GetWaylandDisplay() {
|
RefPtr<nsWaylandDisplay> WindowBackBuffer::GetWaylandDisplay() {
|
||||||
return mWindowSurfaceWayland->GetWaylandDisplay();
|
return mWindowSurfaceWayland->GetWaylandDisplay();
|
||||||
}
|
}
|
||||||
@@ -398,7 +435,6 @@ WindowSurfaceWayland::WindowSurfaceWayla
|
@@ -399,7 +436,6 @@ WindowSurfaceWayland::WindowSurfaceWayla
|
||||||
mWaylandFullscreenDamage(false),
|
mWaylandFullscreenDamage(false),
|
||||||
mFrameCallback(nullptr),
|
mFrameCallback(nullptr),
|
||||||
mLastCommittedSurface(nullptr),
|
mLastCommittedSurface(nullptr),
|
||||||
@ -62,7 +62,7 @@ diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-81.0
|
|||||||
mLastCommitTime(0),
|
mLastCommitTime(0),
|
||||||
mDrawToWaylandBufferDirectly(true),
|
mDrawToWaylandBufferDirectly(true),
|
||||||
mCanSwitchWaylandBuffer(true),
|
mCanSwitchWaylandBuffer(true),
|
||||||
@@ -410,6 +446,7 @@ WindowSurfaceWayland::WindowSurfaceWayla
|
@@ -411,6 +447,7 @@ WindowSurfaceWayland::WindowSurfaceWayla
|
||||||
for (int i = 0; i < BACK_BUFFER_NUM; i++) {
|
for (int i = 0; i < BACK_BUFFER_NUM; i++) {
|
||||||
mShmBackupBuffer[i] = nullptr;
|
mShmBackupBuffer[i] = nullptr;
|
||||||
}
|
}
|
||||||
@ -70,7 +70,7 @@ diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-81.0
|
|||||||
}
|
}
|
||||||
|
|
||||||
WindowSurfaceWayland::~WindowSurfaceWayland() {
|
WindowSurfaceWayland::~WindowSurfaceWayland() {
|
||||||
@@ -417,12 +454,9 @@ WindowSurfaceWayland::~WindowSurfaceWayl
|
@@ -418,12 +455,9 @@ WindowSurfaceWayland::~WindowSurfaceWayl
|
||||||
NS_WARNING("Deleted WindowSurfaceWayland with a pending commit!");
|
NS_WARNING("Deleted WindowSurfaceWayland with a pending commit!");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-81.0
|
|||||||
|
|
||||||
if (mFrameCallback) {
|
if (mFrameCallback) {
|
||||||
wl_callback_destroy(mFrameCallback);
|
wl_callback_destroy(mFrameCallback);
|
||||||
@@ -863,23 +897,11 @@ bool WindowSurfaceWayland::CommitImageCa
|
@@ -864,23 +898,11 @@ bool WindowSurfaceWayland::CommitImageCa
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-81.0
|
|||||||
LOGWAYLAND((" mFrameCallback = %p\n", mFrameCallback));
|
LOGWAYLAND((" mFrameCallback = %p\n", mFrameCallback));
|
||||||
LOGWAYLAND((" mLastCommittedSurface = %p\n", mLastCommittedSurface));
|
LOGWAYLAND((" mLastCommittedSurface = %p\n", mLastCommittedSurface));
|
||||||
LOGWAYLAND((" mBufferPendingCommit = %d\n", mBufferPendingCommit));
|
LOGWAYLAND((" mBufferPendingCommit = %d\n", mBufferPendingCommit));
|
||||||
@@ -915,16 +937,10 @@ void WindowSurfaceWayland::CommitWayland
|
@@ -916,16 +938,10 @@ void WindowSurfaceWayland::CommitWayland
|
||||||
MOZ_ASSERT(!mFrameCallback || waylandSurface != mLastCommittedSurface,
|
MOZ_ASSERT(!mFrameCallback || waylandSurface != mLastCommittedSurface,
|
||||||
"Missing wayland surface at frame callback!");
|
"Missing wayland surface at frame callback!");
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-81.0
|
|||||||
EVENT_LOOP_DELAY);
|
EVENT_LOOP_DELAY);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -1036,25 +1052,6 @@ void WindowSurfaceWayland::FrameCallback
|
@@ -1037,25 +1053,6 @@ void WindowSurfaceWayland::FrameCallback
|
||||||
|
|
||||||
CommitWaylandBuffer();
|
CommitWaylandBuffer();
|
||||||
}
|
}
|
||||||
@ -155,9 +155,9 @@ diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.cpp.1656727 firefox-81.0
|
|||||||
|
|
||||||
} // namespace widget
|
} // namespace widget
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
diff -up firefox-81.0.1/widget/gtk/WindowSurfaceWayland.h.1656727 firefox-81.0.1/widget/gtk/WindowSurfaceWayland.h
|
diff -up firefox-82.0/widget/gtk/WindowSurfaceWayland.h.1656727 firefox-82.0/widget/gtk/WindowSurfaceWayland.h
|
||||||
--- firefox-81.0.1/widget/gtk/WindowSurfaceWayland.h.1656727 2020-09-30 19:42:37.000000000 +0200
|
--- firefox-82.0/widget/gtk/WindowSurfaceWayland.h.1656727 2020-10-14 19:20:27.000000000 +0200
|
||||||
+++ firefox-81.0.1/widget/gtk/WindowSurfaceWayland.h 2020-10-08 11:35:41.928508817 +0200
|
+++ firefox-82.0/widget/gtk/WindowSurfaceWayland.h 2020-10-15 16:16:53.528050175 +0200
|
||||||
@@ -161,7 +161,7 @@ class WindowSurfaceWayland : public Wind
|
@@ -161,7 +161,7 @@ class WindowSurfaceWayland : public Wind
|
||||||
// If we fail (wayland compositor is busy,
|
// If we fail (wayland compositor is busy,
|
||||||
// wl_surface is not created yet) we queue the painting
|
// wl_surface is not created yet) we queue the painting
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegDecoderModule.h b/dom/media/platforms/ffmpeg/FFmpegDecoderModule.h
|
|
||||||
--- a/dom/media/platforms/ffmpeg/FFmpegDecoderModule.h
|
|
||||||
+++ b/dom/media/platforms/ffmpeg/FFmpegDecoderModule.h
|
|
||||||
@@ -38,14 +38,6 @@
|
|
||||||
if (aParams.VideoConfig().HasAlpha()) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
- if (VPXDecoder::IsVPX(aParams.mConfig.mMimeType) &&
|
|
||||||
- aParams.mOptions.contains(CreateDecoderParams::Option::LowLatency) &&
|
|
||||||
- !StaticPrefs::media_ffmpeg_low_latency_enabled()) {
|
|
||||||
- // We refuse to create a decoder with low latency enabled if it's VP8 or
|
|
||||||
- // VP9 unless specifically allowed: this will fallback to libvpx later.
|
|
||||||
- // We do allow it for h264.
|
|
||||||
- return nullptr;
|
|
||||||
- }
|
|
||||||
RefPtr<MediaDataDecoder> decoder = new FFmpegVideoDecoder<V>(
|
|
||||||
mLib, aParams.VideoConfig(), aParams.mKnowsCompositor,
|
|
||||||
aParams.mImageContainer,
|
|
||||||
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
|
|
||||||
--- a/modules/libpref/init/StaticPrefList.yaml
|
|
||||||
+++ b/modules/libpref/init/StaticPrefList.yaml
|
|
||||||
@@ -7109,13 +7109,6 @@
|
|
||||||
mirror: always
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if defined(MOZ_FFMPEG) || defined(MOZ_FFVPX)
|
|
||||||
-- name: media.ffmpeg.low-latency.enabled
|
|
||||||
- type: RelaxedAtomicBool
|
|
||||||
- value: false
|
|
||||||
- mirror: always
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
#ifdef MOZ_WMF
|
|
||||||
|
|
||||||
- name: media.wmf.enabled
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
diff -up firefox-81.0.1/layout/xul/nsMenuPopupFrame.cpp.1669495 firefox-81.0.1/layout/xul/nsMenuPopupFrame.cpp
|
diff -up firefox-82.0/layout/xul/nsMenuPopupFrame.cpp.1669495 firefox-82.0/layout/xul/nsMenuPopupFrame.cpp
|
||||||
--- firefox-81.0.1/layout/xul/nsMenuPopupFrame.cpp.1669495 2020-10-08 10:09:23.765819989 +0200
|
--- firefox-82.0/layout/xul/nsMenuPopupFrame.cpp.1669495 2020-10-15 16:13:12.304471453 +0200
|
||||||
+++ firefox-81.0.1/layout/xul/nsMenuPopupFrame.cpp 2020-10-08 10:09:23.771820010 +0200
|
+++ firefox-82.0/layout/xul/nsMenuPopupFrame.cpp 2020-10-15 16:13:12.308471463 +0200
|
||||||
@@ -533,6 +533,26 @@ void nsMenuPopupFrame::LayoutPopup(nsBox
|
@@ -533,6 +533,26 @@ void nsMenuPopupFrame::LayoutPopup(nsBox
|
||||||
}
|
}
|
||||||
prefSize = XULBoundsCheck(minSize, prefSize, maxSize);
|
prefSize = XULBoundsCheck(minSize, prefSize, maxSize);
|
||||||
@ -28,10 +28,10 @@ diff -up firefox-81.0.1/layout/xul/nsMenuPopupFrame.cpp.1669495 firefox-81.0.1/l
|
|||||||
bool sizeChanged = (mPrefSize != prefSize);
|
bool sizeChanged = (mPrefSize != prefSize);
|
||||||
// if the size changed then set the bounds to be the preferred size
|
// if the size changed then set the bounds to be the preferred size
|
||||||
if (sizeChanged) {
|
if (sizeChanged) {
|
||||||
diff -up firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 firefox-81.0.1/widget/gtk/nsWindow.cpp
|
diff -up firefox-82.0/widget/gtk/nsWindow.cpp.1669495 firefox-82.0/widget/gtk/nsWindow.cpp
|
||||||
--- firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 2020-10-08 10:09:23.770820007 +0200
|
--- firefox-82.0/widget/gtk/nsWindow.cpp.1669495 2020-10-15 16:13:12.307471461 +0200
|
||||||
+++ firefox-81.0.1/widget/gtk/nsWindow.cpp 2020-10-08 10:10:29.225052014 +0200
|
+++ firefox-82.0/widget/gtk/nsWindow.cpp 2020-10-15 16:15:49.243882006 +0200
|
||||||
@@ -1090,11 +1090,13 @@ void nsWindow::Show(bool aState) {
|
@@ -1092,11 +1092,13 @@ void nsWindow::Show(bool aState) {
|
||||||
|
|
||||||
void nsWindow::ResizeInt(int aX, int aY, int aWidth, int aHeight, bool aMove,
|
void nsWindow::ResizeInt(int aX, int aY, int aWidth, int aHeight, bool aMove,
|
||||||
bool aRepaint) {
|
bool aRepaint) {
|
||||||
@ -44,10 +44,10 @@ diff -up firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 firefox-81.0.1/widget/gt
|
|||||||
|
|
||||||
+ LOG((" ConstrainSize: w:%d h;%d\n", aWidth, aHeight));
|
+ LOG((" ConstrainSize: w:%d h;%d\n", aWidth, aHeight));
|
||||||
+
|
+
|
||||||
if (aMove) {
|
// If we used to have insane bounds, we may have skipped actually positioning
|
||||||
mBounds.x = aX;
|
// the widget in NativeMoveResizeWaylandPopup, in which case we need to
|
||||||
mBounds.y = aY;
|
// actually position it now as well.
|
||||||
@@ -1132,8 +1134,7 @@ void nsWindow::ResizeInt(int aX, int aY,
|
@@ -1141,8 +1143,7 @@ void nsWindow::ResizeInt(int aX, int aY,
|
||||||
}
|
}
|
||||||
|
|
||||||
void nsWindow::Resize(double aWidth, double aHeight, bool aRepaint) {
|
void nsWindow::Resize(double aWidth, double aHeight, bool aRepaint) {
|
||||||
@ -57,7 +57,7 @@ diff -up firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 firefox-81.0.1/widget/gt
|
|||||||
|
|
||||||
double scale =
|
double scale =
|
||||||
BoundsUseDesktopPixels() ? GetDesktopToDeviceScale().scale : 1.0;
|
BoundsUseDesktopPixels() ? GetDesktopToDeviceScale().scale : 1.0;
|
||||||
@@ -1145,8 +1146,8 @@ void nsWindow::Resize(double aWidth, dou
|
@@ -1154,8 +1155,8 @@ void nsWindow::Resize(double aWidth, dou
|
||||||
|
|
||||||
void nsWindow::Resize(double aX, double aY, double aWidth, double aHeight,
|
void nsWindow::Resize(double aX, double aY, double aWidth, double aHeight,
|
||||||
bool aRepaint) {
|
bool aRepaint) {
|
||||||
@ -68,7 +68,7 @@ diff -up firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 firefox-81.0.1/widget/gt
|
|||||||
|
|
||||||
double scale =
|
double scale =
|
||||||
BoundsUseDesktopPixels() ? GetDesktopToDeviceScale().scale : 1.0;
|
BoundsUseDesktopPixels() ? GetDesktopToDeviceScale().scale : 1.0;
|
||||||
@@ -1469,14 +1470,15 @@ void nsWindow::NativeMoveResizeWaylandPo
|
@@ -1478,14 +1479,15 @@ void nsWindow::NativeMoveResizeWaylandPo
|
||||||
|
|
||||||
newBounds.x = GdkCoordToDevicePixels(newBounds.x);
|
newBounds.x = GdkCoordToDevicePixels(newBounds.x);
|
||||||
newBounds.y = GdkCoordToDevicePixels(newBounds.y);
|
newBounds.y = GdkCoordToDevicePixels(newBounds.y);
|
||||||
@ -86,7 +86,7 @@ diff -up firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 firefox-81.0.1/widget/gt
|
|||||||
bool needsPositionUpdate =
|
bool needsPositionUpdate =
|
||||||
(newBounds.x != mBounds.x || newBounds.y != mBounds.y);
|
(newBounds.x != mBounds.x || newBounds.y != mBounds.y);
|
||||||
bool needsSizeUpdate =
|
bool needsSizeUpdate =
|
||||||
@@ -1484,6 +1486,7 @@ void nsWindow::NativeMoveResizeWaylandPo
|
@@ -1493,6 +1495,7 @@ void nsWindow::NativeMoveResizeWaylandPo
|
||||||
// Update view
|
// Update view
|
||||||
|
|
||||||
if (needsSizeUpdate) {
|
if (needsSizeUpdate) {
|
||||||
@ -94,7 +94,7 @@ diff -up firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 firefox-81.0.1/widget/gt
|
|||||||
int32_t p2a = AppUnitsPerCSSPixel() / gfxPlatformGtk::GetFontScaleFactor();
|
int32_t p2a = AppUnitsPerCSSPixel() / gfxPlatformGtk::GetFontScaleFactor();
|
||||||
mPreferredPopupRect = nsRect(NSIntPixelsToAppUnits(newBounds.x, p2a),
|
mPreferredPopupRect = nsRect(NSIntPixelsToAppUnits(newBounds.x, p2a),
|
||||||
NSIntPixelsToAppUnits(newBounds.y, p2a),
|
NSIntPixelsToAppUnits(newBounds.y, p2a),
|
||||||
@@ -1502,6 +1505,7 @@ void nsWindow::NativeMoveResizeWaylandPo
|
@@ -1511,6 +1514,7 @@ void nsWindow::NativeMoveResizeWaylandPo
|
||||||
}
|
}
|
||||||
|
|
||||||
if (needsPositionUpdate) {
|
if (needsPositionUpdate) {
|
||||||
@ -102,7 +102,7 @@ diff -up firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 firefox-81.0.1/widget/gt
|
|||||||
// The newBounds are in coordinates relative to the parent window/popup.
|
// The newBounds are in coordinates relative to the parent window/popup.
|
||||||
// The NotifyWindowMoved requires the coordinates relative to the toplevel.
|
// The NotifyWindowMoved requires the coordinates relative to the toplevel.
|
||||||
// We use the gdk_window_get_origin to get correct coordinates.
|
// We use the gdk_window_get_origin to get correct coordinates.
|
||||||
@@ -4211,6 +4215,8 @@ nsresult nsWindow::Create(nsIWidget* aPa
|
@@ -4245,6 +4249,8 @@ nsresult nsWindow::Create(nsIWidget* aPa
|
||||||
|
|
||||||
// save our bounds
|
// save our bounds
|
||||||
mBounds = aRect;
|
mBounds = aRect;
|
||||||
@ -111,7 +111,7 @@ diff -up firefox-81.0.1/widget/gtk/nsWindow.cpp.1669495 firefox-81.0.1/widget/gt
|
|||||||
|
|
||||||
mPreferredPopupRectFlushed = false;
|
mPreferredPopupRectFlushed = false;
|
||||||
|
|
||||||
@@ -5061,13 +5067,16 @@ void nsWindow::NativeShow(bool aAction)
|
@@ -5083,13 +5089,16 @@ void nsWindow::NativeShow(bool aAction)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
68
mozilla-1670333.patch
Normal file
68
mozilla-1670333.patch
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
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
|
||||||
|
@@ -31,6 +31,8 @@ mozilla::LogModule* GetDemuxerLog() { re
|
||||||
|
DDMOZ_LOG(gMediaDemuxerLog, mozilla::LogLevel::Debug, "::%s: " arg, \
|
||||||
|
__func__, ##__VA_ARGS__)
|
||||||
|
|
||||||
|
+extern bool gUseKeyframeFromContainer;
|
||||||
|
+
|
||||||
|
namespace mozilla {
|
||||||
|
|
||||||
|
DDLoggedTypeDeclNameAndBase(MP4TrackDemuxer, MediaTrackDemuxer);
|
||||||
|
@@ -394,6 +396,12 @@ already_AddRefed<MediaRawData> MP4TrackD
|
||||||
|
[[fallthrough]];
|
||||||
|
case H264::FrameType::OTHER: {
|
||||||
|
bool keyframe = type == H264::FrameType::I_FRAME;
|
||||||
|
+ if (gUseKeyframeFromContainer) {
|
||||||
|
+ if (sample->mKeyframe && sample->mKeyframe != keyframe) {
|
||||||
|
+ sample->mKeyframe = keyframe;
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
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 @@
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
|
+bool gUseKeyframeFromContainer = false;
|
||||||
|
+
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
@@ -395,7 +398,8 @@ void PDMFactory::CreatePDMs() {
|
||||||
|
m = new AgnosticDecoderModule();
|
||||||
|
StartupPDM(m);
|
||||||
|
|
||||||
|
- if (StaticPrefs::media_gmp_decoder_enabled()) {
|
||||||
|
+ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed) {
|
||||||
|
+ 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 {
|
||||||
|
|
||||||
|
bool mWMFFailedToLoad = false;
|
||||||
|
bool mFFmpegFailedToLoad = false;
|
||||||
|
+ bool mFFmpegUsed = false;
|
||||||
|
bool mGMPPDMFailedToStartup = false;
|
||||||
|
|
||||||
|
friend class RemoteVideoDecoderParent;
|
4
sources
4
sources
@ -1,3 +1,3 @@
|
|||||||
SHA512 (cbindgen-vendor.tar.xz) = f0425020e2d43a3d28b03f82bdb9719728112a2c94b1d595da384d0674ca21d0940a6f729a690434d670e598fbc6bb5193c89da0a4633a734c70dd786222e711
|
SHA512 (cbindgen-vendor.tar.xz) = f0425020e2d43a3d28b03f82bdb9719728112a2c94b1d595da384d0674ca21d0940a6f729a690434d670e598fbc6bb5193c89da0a4633a734c70dd786222e711
|
||||||
SHA512 (firefox-81.0.2.source.tar.xz) = 8a3ef4819120e93b860344ef05b4ef05262e3f127053ef66b3c1eb4b157932913f72fd4ba5500e86c2ef29f25be58e0c6e2c47a1c1ecde2abe77ece5f948fd75
|
SHA512 (firefox-82.0.source.tar.xz) = 887bceb0fffe257534b53cd019d35087752042ee7e9db089e01b1a930a30deb0c3dc6b32167552362092bdcec794dd5698046548d3419e17ecd2def366d1bde8
|
||||||
SHA512 (firefox-langpacks-81.0.2-20201012.tar.xz) = 5cc72b8a2e27318a55cda9156c6ade3613ae7f560d76fa0a12182626c6051b8d02f23b95597d185daf35b85bd8491bc44a6ca214619b641dc47f98564db75c97
|
SHA512 (firefox-langpacks-82.0-20201015.tar.xz) = 8c0cc37ee918bef930feed32aacaed3f7f28f1dd6615d4719d694d6efcd0fb621e03b613f21cd7b34d188b770d8a903568c676d7e3bb4484ab532a45b62a52a8
|
||||||
|
Loading…
Reference in New Issue
Block a user