Related: #1976278 Fixing project license in appdata, syncing with 8.3.0 branch

(cherry picked from commit f0cdad9d3911d6cc0f8b8e174d705b9d4adc82dd)
This commit is contained in:
Jan Horak 2021-04-15 16:34:19 +02:00 committed by Eike Rathke
parent 622df82b99
commit 24ef97d561
3 changed files with 87 additions and 0 deletions

70
D110204-fscreen.diff Normal file
View File

@ -0,0 +1,70 @@
diff -up firefox-78.9.0/widget/gtk/nsWindow.cpp.D110204-fscreen firefox-78.9.0/widget/gtk/nsWindow.cpp
--- firefox-78.9.0/widget/gtk/nsWindow.cpp.D110204-fscreen 2021-03-30 13:28:56.212009697 +0200
+++ firefox-78.9.0/widget/gtk/nsWindow.cpp 2021-03-30 13:37:41.925850585 +0200
@@ -139,6 +139,7 @@ using namespace mozilla::widget;
#include <dlfcn.h>
#include "nsPresContext.h"
+#include "nsIBrowserHandler.h"
using namespace mozilla;
using namespace mozilla::gfx;
@@ -416,6 +417,7 @@ nsWindow::nsWindow() {
mRetryPointerGrab = false;
mWindowType = eWindowType_child;
mSizeState = nsSizeMode_Normal;
+ mPendingFullscreen = false;
mBoundsAreValid = true;
mAspectRatio = 0.0f;
mAspectRatioSaved = 0.0f;
@@ -3887,6 +3889,19 @@ void nsWindow::OnWindowStateEvent(GtkWid
}
}
}
+
+ // Hack to ensure window switched to fullscreen - avoid to fail when starting
+ // in kiosk mode
+ if (mPendingFullscreen &&
+ !(aEvent->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)) {
+ LOG(
+ (" Window should be fullscreen, but it's not, retrying set to "
+ "fullscreen.\n"));
+ MakeFullScreen(true);
+ } else {
+ LOG((" Window successfully switched to fullscreen, happy now\n"));
+ mPendingFullscreen = false;
+ }
}
void nsWindow::ThemeChanged() {
@@ -6010,6 +6025,19 @@ nsresult nsWindow::MakeFullScreen(bool a
}
}
+ // if in kiosk, ensure the fullscreen is called
+ nsCOMPtr<nsIBrowserHandler> browserHandler =
+ do_GetService("@mozilla.org/browser/clh;1");
+ if (browserHandler) {
+ bool isKiosk;
+ browserHandler->GetKiosk(&isKiosk);
+ if (isKiosk) {
+ LOG((" is kiosk, ensure the window switch to fullscreen\n"));
+ mPendingFullscreen = true;
+ }
+ } else {
+ LOG((" Cannot find the browserHandler service.\n"));
+ }
gtk_window_fullscreen(GTK_WINDOW(mShell));
} else {
mSizeMode = mLastSizeMode;
diff -up firefox-78.9.0/widget/gtk/nsWindow.h.D110204-fscreen firefox-78.9.0/widget/gtk/nsWindow.h
--- firefox-78.9.0/widget/gtk/nsWindow.h.D110204-fscreen 2021-03-15 16:52:42.000000000 +0100
+++ firefox-78.9.0/widget/gtk/nsWindow.h 2021-03-30 13:28:56.237009784 +0200
@@ -703,6 +703,7 @@ class nsWindow final : public nsBaseWidg
nsRect mPreferredPopupRect;
bool mPreferredPopupRectFlushed;
bool mWaitingForMoveToRectCB;
+ bool mPendingFullscreen;
LayoutDeviceIntRect mPendingSizeRect;
/**

View File

@ -286,6 +286,8 @@ Patch513: mozilla-bmo998749.patch
Patch514: mozilla-s390x-skia-gradient.patch
Patch515: mozilla-bmo1626236.patch
Patch516: D87019-thin-vec-big-endian.diff
Patch517: mozilla-1703636-slot-fail-workaround.patch
Patch518: D110204-fscreen.diff
# Flatpak patches
@ -632,6 +634,8 @@ sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch
%patch514 -p1 -b .mozilla-s390x-skia-gradient
%patch515 -p1 -b .mozilla-bmo1626236
%patch516 -p1 -b .D87019-thin-vec-big-endian.diff
%patch517 -p1 -b .mozilla-1703636-slot-fail-workaround
%patch518 -p1 -b .D110204-fscreen.diff
%patch1001 -p1 -b .ppc64le-inline
@ -1342,6 +1346,7 @@ SentUpstream: 2014-09-22
<application>
<id type="desktop">firefox.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MPLv1.1 or GPLv2+ or LGPLv2+</project_license>
<description>
<p>
Bringing together all kinds of awesomeness to make browsing better for you.

View File

@ -0,0 +1,12 @@
diff -up firefox-78.9.0/security/certverifier/NSSCertDBTrustDomain.cpp.slot-fail firefox-78.9.0/security/certverifier/NSSCertDBTrustDomain.cpp
--- firefox-78.9.0/security/certverifier/NSSCertDBTrustDomain.cpp.slot-fail 2021-04-08 08:02:13.879018493 +0200
+++ firefox-78.9.0/security/certverifier/NSSCertDBTrustDomain.cpp 2021-04-08 08:05:56.713623197 +0200
@@ -118,7 +118,7 @@ static Result FindRootsWithSubject(Uniqu
CERTCertificateList* rawResults = nullptr;
if (PK11_FindRawCertsWithSubject(rootsModule->slots[slotIndex], &subject,
&rawResults) != SECSuccess) {
- return Result::FATAL_ERROR_LIBRARY_FAILURE;
+ continue;
}
// rawResults == nullptr means we didn't find any matching certificates
if (!rawResults) {