From c326ee458b9421e79b11c54913a023293b6b051a Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Tue, 13 Mar 2018 12:02:56 +0100 Subject: [PATCH] Enabled rendering to titlebar --- fedora-enable-csd.patch | 122 ++++++++++++++++++++++++++++++++++++++ firefox-nss-version.patch | 13 ---- firefox.spec | 8 ++- 3 files changed, 128 insertions(+), 15 deletions(-) create mode 100644 fedora-enable-csd.patch delete mode 100644 firefox-nss-version.patch diff --git a/fedora-enable-csd.patch b/fedora-enable-csd.patch new file mode 100644 index 0000000..bc619b7 --- /dev/null +++ b/fedora-enable-csd.patch @@ -0,0 +1,122 @@ +diff --git a/browser/base/moz.build b/browser/base/moz.build +--- a/browser/base/moz.build ++++ b/browser/base/moz.build +@@ -55,15 +55,15 @@ BROWSER_CHROME_MANIFESTS += [ + DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION'] + DEFINES['MOZ_APP_VERSION_DISPLAY'] = CONFIG['MOZ_APP_VERSION_DISPLAY'] + + DEFINES['APP_LICENSE_BLOCK'] = '%s/content/overrides/app-license.html' % SRCDIR + + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'gtk3', 'cocoa'): + DEFINES['CONTEXT_COPY_IMAGE_CONTENTS'] = 1 + +-if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'cocoa', 'gtk3'): ++if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'cocoa'): + DEFINES['CAN_DRAW_IN_TITLEBAR'] = 1 + + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'gtk3'): + DEFINES['MENUBAR_CAN_AUTOHIDE'] = 1 + + JAR_MANIFESTS += ['jar.mn'] +diff --git a/toolkit/modules/moz.build b/toolkit/modules/moz.build +--- a/toolkit/modules/moz.build ++++ b/toolkit/modules/moz.build +@@ -260,17 +260,17 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco + + EXTRA_JS_MODULES.third_party.jsesc += ['third_party/jsesc/jsesc.js'] + EXTRA_JS_MODULES.sessionstore += [ + 'sessionstore/PrivacyLevel.jsm', + 'sessionstore/SessionHistory.jsm', + 'sessionstore/Utils.jsm', + ] + +-if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'cocoa', 'gtk3'): ++if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'cocoa'): + DEFINES['CAN_DRAW_IN_TITLEBAR'] = 1 + + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'gtk3'): + DEFINES['MENUBAR_CAN_AUTOHIDE'] = 1 + + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'gtk3', 'cocoa'): + DEFINES['HAVE_SHELL_SERVICE'] = 1 + +diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp +--- a/widget/gtk/nsWindow.cpp ++++ b/widget/gtk/nsWindow.cpp +@@ -6852,72 +6852,19 @@ nsWindow::DoDrawTitlebar() const + return mIsCSDEnabled && mSizeState == nsSizeMode_Normal; + } + + nsWindow::CSDSupportLevel + nsWindow::GetCSDSupportLevel() { + if (sCSDSupportLevel != CSD_SUPPORT_UNKNOWN) { + return sCSDSupportLevel; + } +- +- const char* currentDesktop = getenv("XDG_CURRENT_DESKTOP"); +- if (currentDesktop) { +- if (strstr(currentDesktop, "GNOME") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FULL; +- } else if (strstr(currentDesktop, "XFCE") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +- } else if (strstr(currentDesktop, "X-Cinnamon") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FULL; +- } else if (strstr(currentDesktop, "KDE") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +- } else if (strstr(currentDesktop, "LXDE") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +- } else if (strstr(currentDesktop, "openbox") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +- } else if (strstr(currentDesktop, "i3") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_NONE; +- } else if (strstr(currentDesktop, "MATE") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +- } else if (strstr(currentDesktop, "Unity") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +- } else if (strstr(currentDesktop, "Pantheon") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FULL; +- } else if (strstr(currentDesktop, "LXQt") != nullptr) { +- sCSDSupportLevel = CSD_SUPPORT_FULL; +- } else { +-// Release or beta builds are not supposed to be broken +-// so disable titlebar rendering on untested/unknown systems. +-#if defined(RELEASE_OR_BETA) +- sCSDSupportLevel = CSD_SUPPORT_NONE; +-#else +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +-#endif +- } +- } else { +- sCSDSupportLevel = CSD_SUPPORT_NONE; +- } +- +- // We don't support CSD_SUPPORT_FULL on Wayland +- if (!GDK_IS_X11_DISPLAY(gdk_display_get_default()) && +- sCSDSupportLevel == CSD_SUPPORT_FULL) { +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +- } +- +- // Allow MOZ_GTK_TITLEBAR_DECORATION to override our heuristics +- const char* decorationOverride = getenv("MOZ_GTK_TITLEBAR_DECORATION"); +- if (decorationOverride) { +- if (strcmp(decorationOverride, "none") == 0) { +- sCSDSupportLevel = CSD_SUPPORT_NONE; +- } else if (strcmp(decorationOverride, "client") == 0) { +- sCSDSupportLevel = CSD_SUPPORT_FLAT; +- } else if (strcmp(decorationOverride, "system") == 0) { +- sCSDSupportLevel = CSD_SUPPORT_FULL; +- } +- } +- ++ ++ // Disabled due to Bug 1440461 ++ sCSDSupportLevel = CSD_SUPPORT_NONE; + return sCSDSupportLevel; + } + + int32_t + nsWindow::RoundsWidgetCoordinatesTo() + { + return GdkScaleFactor(); + } + diff --git a/firefox-nss-version.patch b/firefox-nss-version.patch deleted file mode 100644 index 154d205..0000000 --- a/firefox-nss-version.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up firefox-53.0/media/webrtc/trunk/Makefile.old firefox-53.0/media/webrtc/trunk/Makefile -diff -up firefox-53.0/old-configure.in.old firefox-53.0/old-configure.in ---- firefox-53.0/old-configure.in.old 2017-04-18 11:33:53.724460667 +0200 -+++ firefox-53.0/old-configure.in 2017-04-18 11:34:08.728405522 +0200 -@@ -2040,7 +2040,7 @@ MOZ_ARG_WITH_BOOL(system-nss, - _USE_SYSTEM_NSS=1 ) - - if test -n "$_USE_SYSTEM_NSS"; then -- AM_PATH_NSS(3.29.5, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])]) -+ AM_PATH_NSS(3.29.3, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])]) - fi - - if test -n "$MOZ_SYSTEM_NSS"; then diff --git a/firefox.spec b/firefox.spec index 2a8da5a..74b146c 100644 --- a/firefox.spec +++ b/firefox.spec @@ -96,7 +96,7 @@ Summary: Mozilla Firefox Web browser Name: firefox Version: 59.0 -Release: 2%{?pre_tag}%{?dist} +Release: 3%{?pre_tag}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: https://hg.mozilla.org/releases/mozilla-release/archive/%{release_hash}.tar.bz2 @@ -142,7 +142,7 @@ Patch224: mozilla-1170092.patch Patch225: mozilla-1005640-accept-lang.patch #ARM run-time patch Patch226: rhbz-1354671.patch -Patch229: firefox-nss-version.patch +Patch230: fedora-enable-csd.patch # Upstream patches Patch402: mozilla-1196777.patch @@ -311,6 +311,7 @@ This package contains results of tests executed during build. %ifarch aarch64 %patch226 -p1 -b .1354671 %endif +%patch230 -p1 -R -b .fedora-enable-csd.patch %patch402 -p1 -b .1196777 %patch406 -p1 -b .256180 @@ -843,6 +844,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Tue Mar 13 2018 Martin Stransky - 59.0-3 +- Enabled rendering to titlebar. + * Mon Mar 12 2018 Martin Stransky - 59.0-2 - Updated to 59.0 build c61f5f5ead48c78a80c80db5c489bdc7cfaf8175