From 33792ca14ef13f073fa2c3cfd280f876003c0f8f Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 8 Apr 2020 14:46:23 -0400 Subject: wf 2020.04 dpkg rc1 --- waterfox/debian/changelog | 17 +++++++++++++++++ waterfox/debian/waterfox_devuan.dsc | 4 ++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/waterfox/debian/changelog b/waterfox/debian/changelog index d544c0b..1962f8e 100644 --- a/waterfox/debian/changelog +++ b/waterfox/debian/changelog @@ -1,3 +1,20 @@ +waterfox (2020.04-1+devuan) obs; urgency=medium + + * From blog release notes + - Classic branch + * Fixed various security issues + * Improved gtk support (thanks to hawkeye116477) + * Fixed library requirements on Linux + * Various media library updates + * Added DNS resolution to webextensions api + * Updated timezone data for internationalization functions + * Enabled unprefixed Fullscreen API + * Various website rending issues fixed (Kinguin, Intel, Epic Games and others) + * Fixed problems related with uBO html filters + * Updated en-US dictionary + + -- Ben Stack Wed, 08 Apr 2020 14:38:08 -0400 + waterfox (2020.03-1+devuan) obs; urgency=medium - From blog release notes diff --git a/waterfox/debian/waterfox_devuan.dsc b/waterfox/debian/waterfox_devuan.dsc index 3c99770..158eb12 100644 --- a/waterfox/debian/waterfox_devuan.dsc +++ b/waterfox/debian/waterfox_devuan.dsc @@ -2,10 +2,10 @@ Format: 3.0 (quilt) Source: waterfox Binary: waterfox Architecture: any -Version: 2020.03-1+devuan +Version: 2020.04-1+devuan Maintainer: B Stack Homepage: https://www.waterfox.net/ -Standards-Version: 3.9.7 +Standards-Version: 4.1.4 Build-Depends: debhelper (>= 12), autoconf2.13, autotools-dev, binutils-avr, cargo (>= 0.35), ccache, clang-6.0, dpkg-dev (>= 1.16.1.1~), libasound2-dev, libbz2-dev, libclang-6.0-dev, libdbus-glib-1-dev, libevent-dev (>= 1.4.1), libgconf2-dev, libglib2.0-dev (>= 2.16.0), libgtk2.0-dev (>= 2.10), libgtk-3-dev, libiw-dev, libjpeg-dev, libjsoncpp-dev, libnotify-dev, libreadline-dev, libstartup-notification0-dev, libtinfo-dev, libx11-dev, libx11-xcb-dev, libxt-dev, llvm-6.0-dev, locales, lsb-release, python2.7, python-minimal (>= 2.6.6-13~), python-ply, rustc (>= 1.34), unzip, xauth, xfonts-base, xvfb, yasm (>= 1.1), zip, zlib1g-dev Package-List: waterfox deb web optional arch=any -- cgit From 1d9067730de3008f8c257674d8fa5e9dee654c1c Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 8 Apr 2020 14:55:05 -0400 Subject: wf dpkg: add specific libfontconfig for OBS libfontconfig-dev only added for Debian OBS which is choking as of 2020-04 on libfontconfig-dev | libfontconfig1-dev for deps: libgtk-3-dev, libpango1.0-dev, libcairo2-dev, libxft-dev This will be pulled in automatically by these four deps, when the versioning stuff in sorted out in upstream distro. --- waterfox/debian/control | 2 ++ waterfox/debian/waterfox_devuan.dsc | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/waterfox/debian/control b/waterfox/debian/control index 041161c..8f056a7 100644 --- a/waterfox/debian/control +++ b/waterfox/debian/control @@ -16,6 +16,8 @@ Build-Depends: debhelper (>= 12), libclang-6.0-dev, libdbus-glib-1-dev, libevent-dev (>= 1.4.1), + # libfontconfig-dev only added for Debian OBS which is choking as of 2020-04 on libfontconfig-dev | libfontconfig1-dev for deps: libgtk-3-dev, libpango1.0-dev, libcairo2-dev, libxft-dev + libfontconfig-dev, libgconf2-dev, libglib2.0-dev (>= 2.16.0), libgtk2.0-dev (>= 2.10), diff --git a/waterfox/debian/waterfox_devuan.dsc b/waterfox/debian/waterfox_devuan.dsc index 158eb12..c1186e8 100644 --- a/waterfox/debian/waterfox_devuan.dsc +++ b/waterfox/debian/waterfox_devuan.dsc @@ -6,7 +6,7 @@ Version: 2020.04-1+devuan Maintainer: B Stack Homepage: https://www.waterfox.net/ Standards-Version: 4.1.4 -Build-Depends: debhelper (>= 12), autoconf2.13, autotools-dev, binutils-avr, cargo (>= 0.35), ccache, clang-6.0, dpkg-dev (>= 1.16.1.1~), libasound2-dev, libbz2-dev, libclang-6.0-dev, libdbus-glib-1-dev, libevent-dev (>= 1.4.1), libgconf2-dev, libglib2.0-dev (>= 2.16.0), libgtk2.0-dev (>= 2.10), libgtk-3-dev, libiw-dev, libjpeg-dev, libjsoncpp-dev, libnotify-dev, libreadline-dev, libstartup-notification0-dev, libtinfo-dev, libx11-dev, libx11-xcb-dev, libxt-dev, llvm-6.0-dev, locales, lsb-release, python2.7, python-minimal (>= 2.6.6-13~), python-ply, rustc (>= 1.34), unzip, xauth, xfonts-base, xvfb, yasm (>= 1.1), zip, zlib1g-dev +Build-Depends: debhelper (>= 12), autoconf2.13, autotools-dev, binutils-avr, cargo (>= 0.35), ccache, clang-6.0, dpkg-dev (>= 1.16.1.1~), libasound2-dev, libbz2-dev, libclang-6.0-dev, libdbus-glib-1-dev, libevent-dev (>= 1.4.1), libgconf2-dev, libglib2.0-dev (>= 2.16.0), libgtk2.0-dev (>= 2.10), libgtk-3-dev, libiw-dev, libjpeg-dev, libjsoncpp-dev, libnotify-dev, libreadline-dev, libstartup-notification0-dev, libtinfo-dev, libx11-dev, libx11-xcb-dev, libxt-dev, llvm-6.0-dev, locales, lsb-release, python2.7, python-minimal (>= 2.6.6-13~), python-ply, rustc (>= 1.34), unzip, xauth, xfonts-base, xvfb, yasm (>= 1.1), zip, zlib1g-dev, libfontconfig-dev Package-List: waterfox deb web optional arch=any Files: -- cgit From 5499b12f07c9d31a7bd948ad683704f5974e0829 Mon Sep 17 00:00:00 2001 From: B Stack Date: Wed, 8 Apr 2020 15:56:47 -0400 Subject: change comment syntax in d/c --- waterfox/debian/control | 84 ++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/waterfox/debian/control b/waterfox/debian/control index 8f056a7..9ef1463 100644 --- a/waterfox/debian/control +++ b/waterfox/debian/control @@ -4,50 +4,50 @@ Priority: optional Maintainer: B Stack XSBC-Original-Maintainer: Steven Pusser Build-Depends: debhelper (>= 12), - autoconf2.13, - autotools-dev, - binutils-avr, - cargo (>= 0.35), - ccache, - clang-6.0, - dpkg-dev (>= 1.16.1.1~), - libasound2-dev, - libbz2-dev, - libclang-6.0-dev, - libdbus-glib-1-dev, - libevent-dev (>= 1.4.1), - # libfontconfig-dev only added for Debian OBS which is choking as of 2020-04 on libfontconfig-dev | libfontconfig1-dev for deps: libgtk-3-dev, libpango1.0-dev, libcairo2-dev, libxft-dev - libfontconfig-dev, - libgconf2-dev, - libglib2.0-dev (>= 2.16.0), - libgtk2.0-dev (>= 2.10), - libgtk-3-dev, - libiw-dev, - libjpeg-dev, - libjsoncpp-dev, - libnotify-dev, - libreadline-dev, - libstartup-notification0-dev, - libtinfo-dev, - libx11-dev, - libx11-xcb-dev, - libxt-dev, - llvm-6.0-dev, - locales, - lsb-release, - python2.7, - python-minimal (>= 2.6.6-13~), - python-ply, - rustc (>= 1.34), - unzip, - xauth, - xfonts-base, - xvfb, - yasm (>= 1.1), - zip, - zlib1g-dev + autoconf2.13, + autotools-dev, + binutils-avr, + cargo (>= 0.35), + ccache, + clang-6.0, + dpkg-dev (>= 1.16.1.1~), + libasound2-dev, + libbz2-dev, + libclang-6.0-dev, + libdbus-glib-1-dev, + libevent-dev (>= 1.4.1), + libfontconfig-dev, + libgconf2-dev, + libglib2.0-dev (>= 2.16.0), + libgtk2.0-dev (>= 2.10), + libgtk-3-dev, + libiw-dev, + libjpeg-dev, + libjsoncpp-dev, + libnotify-dev, + libreadline-dev, + libstartup-notification0-dev, + libtinfo-dev, + libx11-dev, + libx11-xcb-dev, + libxt-dev, + llvm-6.0-dev, + locales, + lsb-release, + python2.7, + python-minimal (>= 2.6.6-13~), + python-ply, + rustc (>= 1.34), + unzip, + xauth, + xfonts-base, + xvfb, + yasm (>= 1.1), + zip, + zlib1g-dev Standards-Version: 3.9.7 Homepage: https://www.waterfox.net/ +# libfontconfig-dev only added for Debian OBS which is choking as of 2020-04 on libfontconfig-dev | libfontconfig1-dev for deps: libgtk-3-dev, libpango1.0-dev, libcairo2-dev, libxft-dev Package: waterfox Architecture: any -- cgit From 55e113682281239a64472bc2a7888b51c5742f45 Mon Sep 17 00:00:00 2001 From: B Stack Date: Tue, 14 Apr 2020 08:21:22 -0400 Subject: wf 202.04 rpm rc1 --- waterfox/patch-bug1321069 | 102 ++++++++++++++++ waterfox/patch-bug1381815 | 278 ++++++++++++++++++++++++++++++++++++++++++++ waterfox/rhbz-1497932.patch | 21 ---- waterfox/waterfox.spec | 35 +++--- 4 files changed, 398 insertions(+), 38 deletions(-) create mode 100644 waterfox/patch-bug1321069 create mode 100644 waterfox/patch-bug1381815 delete mode 100644 waterfox/rhbz-1497932.patch diff --git a/waterfox/patch-bug1321069 b/waterfox/patch-bug1321069 new file mode 100644 index 0000000..6663400 --- /dev/null +++ b/waterfox/patch-bug1321069 @@ -0,0 +1,102 @@ +commit a09c25bcc3b4 +Author: Kartikaya Gupta +Date: Wed May 30 09:49:23 2018 -0400 + + Bug 1321069 - Redirect the end event of a long-tap sequence back to the content window. r=karlt, a=RyanVM + + In the case of a long-tap touch sequence, a new popup window (the + contextmenu) is spawned while the sequence is ongoing. The touch-end of + the sequence ends up getting delivered to the popup window, instead of + the original content window, and that causes the touch-handling + machinery state in the content window to get out of sync with reality. + This patch detects this scenario and redirects the touch events on the + popup window back to the original content window. + + MozReview-Commit-ID: L2vvKLlogRA + + --HG-- + extra : source : 27a160b7025ffaadd7cc1ce326ce8729c2b180a0 +--- + widget/gtk/nsWindow.cpp | 36 +++++++++++++++++++++++++++++++++++- + widget/gtk/nsWindow.h | 3 +++ + 2 files changed, 38 insertions(+), 1 deletion(-) + +diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp +index 54ec8615051f1..18d0ccac4dbd6 100644 +--- widget/gtk/nsWindow.cpp ++++ widget/gtk/nsWindow.cpp +@@ -3455,11 +3455,41 @@ nsWindow::OnDragDataReceivedEvent(GtkWidget *aWidget, + aSelectionData, aInfo, aTime); + } + ++nsWindow* ++nsWindow::GetTransientForWindowIfPopup() ++{ ++ if (mWindowType != eWindowType_popup) { ++ return nullptr; ++ } ++ GtkWindow* toplevel = gtk_window_get_transient_for(GTK_WINDOW(mShell)); ++ if (toplevel) { ++ return get_window_for_gtk_widget(GTK_WIDGET(toplevel)); ++ } ++ return nullptr; ++} ++ ++bool ++nsWindow::IsHandlingTouchSequence(GdkEventSequence* aSequence) ++{ ++ return mHandleTouchEvent && mTouches.Contains(aSequence); ++} ++ + #if GTK_CHECK_VERSION(3,4,0) + gboolean + nsWindow::OnTouchEvent(GdkEventTouch* aEvent) + { + if (!mHandleTouchEvent) { ++ // If a popup window was spawned (e.g. as the result of a long-press) ++ // and touch events got diverted to that window within a touch sequence, ++ // ensure the touch event gets sent to the original window instead. We ++ // keep the checks here very conservative so that we only redirect ++ // events in this specific scenario. ++ nsWindow* targetWindow = GetTransientForWindowIfPopup(); ++ if (targetWindow && ++ targetWindow->IsHandlingTouchSequence(aEvent->sequence)) { ++ return targetWindow->OnTouchEvent(aEvent); ++ } ++ + return FALSE; + } + +@@ -4780,12 +4810,16 @@ nsWindow::GrabPointer(guint32 aTime) + return; + + gint retval; ++ // Note that we need GDK_TOUCH_MASK below to work around a GDK/X11 bug that ++ // causes touch events that would normally be received by this client on ++ // other windows to be discarded during the grab. + retval = gdk_pointer_grab(mGdkWindow, TRUE, + (GdkEventMask)(GDK_BUTTON_PRESS_MASK | + GDK_BUTTON_RELEASE_MASK | + GDK_ENTER_NOTIFY_MASK | + GDK_LEAVE_NOTIFY_MASK | +- GDK_POINTER_MOTION_MASK), ++ GDK_POINTER_MOTION_MASK | ++ GDK_TOUCH_MASK), + (GdkWindow *)nullptr, nullptr, aTime); + + if (retval == GDK_GRAB_NOT_VIEWABLE) { +diff --git widget/gtk/nsWindow.h widget/gtk/nsWindow.h +index c28c1749c76dc..33e8c4db7c1c0 100644 +--- widget/gtk/nsWindow.h ++++ widget/gtk/nsWindow.h +@@ -434,7 +434,10 @@ private: + nsIWidgetListener* GetListener(); + bool IsComposited() const; + + void UpdateClientOffsetForCSDWindow(); ++ ++ nsWindow* GetTransientForWindowIfPopup(); ++ bool IsHandlingTouchSequence(GdkEventSequence* aSequence); + + GtkWidget *mShell; + MozContainer *mContainer; diff --git a/waterfox/patch-bug1381815 b/waterfox/patch-bug1381815 new file mode 100644 index 0000000..c18d856 --- /dev/null +++ b/waterfox/patch-bug1381815 @@ -0,0 +1,278 @@ +commit 165fab2f8596 +Author: Jan Horak +Date: Tue Oct 10 13:35:56 2017 +0200 + + Bug 1381815 - fixing dimensions of radio and checkbox for GTK 3.20+; r=karlt + + In the GTK < 3.20 the size of radio and checkbox toggle is determined by indicator + spacing and indicator size. By GTK 3.20+ it is replaced by standard box model + (padding, margin, border). The patch fixes that while keeping the functionality + for older GTK. The values are also cached by similar way as scrollbar metrics + are cached now. + + The focus is no longer rendered by GTK but by Mozilla code, so the extra + size for toggles has been removed from GetExtraSizeForWidget and toggles + no longer render focus indicator. + + MozReview-Commit-ID: 1Wg5AgHy1Vz + + --HG-- + extra : rebase_source : 81437f45b7d32555942d21fccc9de4a561d85111 +--- + widget/gtk/gtk3drawing.cpp | 121 ++++++++++++++++++++++++++++++---------- + widget/gtk/gtkdrawing.h | 14 +++++ + widget/gtk/nsNativeThemeGTK.cpp | 32 +---------- + 3 files changed, 107 insertions(+), 60 deletions(-) + +diff --git widget/gtk/gtk3drawing.cpp widget/gtk/gtk3drawing.cpp +index 4c562b380095..7968aef920f6 100644 +--- widget/gtk/gtk3drawing.cpp ++++ widget/gtk/gtk3drawing.cpp +@@ -24,6 +24,8 @@ static gboolean notebook_has_tab_gap; + + static ScrollbarGTKMetrics sScrollbarMetrics[2]; + static ToolbarGTKMetrics sToolbarMetrics; ++static ToggleGTKMetrics sCheckboxMetrics; ++static ToggleGTKMetrics sRadioMetrics; + + #define ARROW_UP 0 + #define ARROW_DOWN G_PI +@@ -190,6 +192,8 @@ moz_gtk_refresh() + sScrollbarMetrics[GTK_ORIENTATION_HORIZONTAL].initialized = false; + sScrollbarMetrics[GTK_ORIENTATION_VERTICAL].initialized = false; + sToolbarMetrics.initialized = false; ++ sCheckboxMetrics.initialized = false; ++ sRadioMetrics.initialized = false; + + /* This will destroy all of our widgets */ + ResetWidgetCache(); +@@ -611,33 +615,21 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec + gboolean isradio, GtkTextDirection direction) + { + GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); +- gint indicator_size, indicator_spacing; + gint x, y, width, height; +- gint focus_x, focus_y, focus_width, focus_height; + GtkStyleContext *style; + +- GtkWidget *widget = GetWidget(isradio ? MOZ_GTK_RADIOBUTTON_CONTAINER : +- MOZ_GTK_CHECKBUTTON_CONTAINER); +- gtk_widget_style_get(widget, +- "indicator_size", &indicator_size, +- "indicator_spacing", &indicator_spacing, +- nullptr); ++ const ToggleGTKMetrics* metrics = GetToggleMetrics(isradio); + + // XXX we should assert rect->height >= indicator_size too + // after bug 369581 is fixed. +- MOZ_ASSERT(rect->width >= indicator_size, ++ MOZ_ASSERT(rect->width >= metrics->minSizeWithBorder.width, + "GetMinimumWidgetSize was ignored"); + + // Paint it center aligned in the rect. +- x = rect->x + (rect->width - indicator_size) / 2; +- y = rect->y + (rect->height - indicator_size) / 2; +- width = indicator_size; +- height = indicator_size; +- +- focus_x = x - indicator_spacing; +- focus_y = y - indicator_spacing; +- focus_width = width + 2 * indicator_spacing; +- focus_height = height + 2 * indicator_spacing; ++ width = metrics->minSizeWithBorder.width; ++ height = metrics->minSizeWithBorder.height; ++ x = rect->x + (rect->width - width) / 2; ++ y = rect->y + (rect->height - height) / 2; + + if (selected) + state_flags = static_cast(state_flags|checkbox_check_state); +@@ -651,20 +643,25 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec + if (gtk_check_version(3, 20, 0) == nullptr) { + gtk_render_background(style, cr, x, y, width, height); + gtk_render_frame(style, cr, x, y, width, height); +- } +- +- if (isradio) { +- gtk_render_option(style, cr, x, y, width, height); +- if (state->focused) { +- gtk_render_focus(style, cr, focus_x, focus_y, +- focus_width, focus_height); ++ // Indicator is inset by the toggle's padding and border. ++ gint indicator_x = x + metrics->borderAndPadding.left; ++ gint indicator_y = y + metrics->borderAndPadding.top; ++ gint indicator_width = metrics->minSizeWithBorder.width - ++ metrics->borderAndPadding.left - metrics->borderAndPadding.right; ++ gint indicator_height = metrics->minSizeWithBorder.height - ++ metrics->borderAndPadding.top - metrics->borderAndPadding.bottom; ++ if (isradio) { ++ gtk_render_option(style, cr, indicator_x, indicator_y, ++ indicator_width, indicator_height); ++ } else { ++ gtk_render_check(style, cr, indicator_x, indicator_y, ++ indicator_width, indicator_height); + } +- } +- else { +- gtk_render_check(style, cr, x, y, width, height); +- if (state->focused) { +- gtk_render_focus(style, cr, +- focus_x, focus_y, focus_width, focus_height); ++ } else { ++ if (isradio) { ++ gtk_render_option(style, cr, x, y, width, height); ++ } else { ++ gtk_render_check(style, cr, x, y, width, height); + } + } + +@@ -2789,6 +2786,68 @@ SizeFromLengthAndBreadth(GtkOrientation + MozGtkSize({aLength, aBreadth}) : MozGtkSize({aBreadth, aLength}); + } + ++const ToggleGTKMetrics* ++GetToggleMetrics(bool isRadio) ++{ ++ ToggleGTKMetrics* metrics; ++ if (isRadio) { ++ metrics = &sRadioMetrics; ++ } else { ++ metrics = &sCheckboxMetrics; ++ } ++ if (metrics->initialized) ++ return metrics; ++ ++ metrics->initialized = true; ++ if (gtk_check_version(3,20,0) == nullptr) { ++ GtkStyleContext* style; ++ if (isRadio) { ++ style = GetStyleContext(MOZ_GTK_RADIOBUTTON); ++ } else { ++ style = GetStyleContext(MOZ_GTK_CHECKBUTTON); ++ } ++ GtkStateFlags state_flags = gtk_style_context_get_state(style); ++ gtk_style_context_get(style, state_flags, ++ "min-height",&(metrics->minSizeWithBorder.height), ++ "min-width", &(metrics->minSizeWithBorder.width), ++ nullptr); ++ // Fallback to indicator size if min dimensions are zero ++ if (metrics->minSizeWithBorder.height == 0 || ++ metrics->minSizeWithBorder.width == 0) { ++ gint indicator_size; ++ gtk_widget_style_get(GetWidget(MOZ_GTK_CHECKBUTTON_CONTAINER), ++ "indicator_size", &indicator_size, nullptr); ++ if (metrics->minSizeWithBorder.height == 0) { ++ metrics->minSizeWithBorder.height = indicator_size; ++ } ++ if (metrics->minSizeWithBorder.width == 0) { ++ metrics->minSizeWithBorder.width = indicator_size; ++ } ++ } ++ ++ GtkBorder border, padding; ++ gtk_style_context_get_border(style, state_flags, &border); ++ gtk_style_context_get_padding(style, state_flags, &padding); ++ metrics->borderAndPadding.left = border.left + padding.left; ++ metrics->borderAndPadding.right = border.right + padding.right; ++ metrics->borderAndPadding.top = border.top + padding.top; ++ metrics->borderAndPadding.bottom = border.bottom + padding.bottom; ++ metrics->minSizeWithBorder.width += metrics->borderAndPadding.left + ++ metrics->borderAndPadding.right; ++ metrics->minSizeWithBorder.height += metrics->borderAndPadding.top + ++ metrics->borderAndPadding.bottom; ++ } else { ++ gint indicator_size, indicator_spacing; ++ gtk_widget_style_get(GetWidget(MOZ_GTK_CHECKBUTTON_CONTAINER), ++ "indicator_size", &indicator_size, ++ "indicator_spacing", &indicator_spacing, ++ nullptr); ++ metrics->minSizeWithBorder.width = ++ metrics->minSizeWithBorder.height = indicator_size; ++ } ++ return metrics; ++} ++ + const ScrollbarGTKMetrics* + GetScrollbarMetrics(GtkOrientation aOrientation) + { +diff --git widget/gtk/gtkdrawing.h widget/gtk/gtkdrawing.h +index 42dbf8287499..909c18f7f525 100644 +--- widget/gtk/gtkdrawing.h ++++ widget/gtk/gtkdrawing.h +@@ -83,6 +83,12 @@ typedef struct { + } border; + } ScrollbarGTKMetrics; + ++typedef struct { ++ bool initialized; ++ MozGtkSize minSizeWithBorder; ++ GtkBorder borderAndPadding; ++} ToggleGTKMetrics; ++ + typedef enum { + MOZ_GTK_STEPPER_DOWN = 1 << 0, + MOZ_GTK_STEPPER_BOTTOM = 1 << 1, +@@ -391,6 +397,14 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom, + gint + moz_gtk_checkbox_get_metrics(gint* indicator_size, gint* indicator_spacing); + ++/** ++ * Get metrics of the toggle (radio or checkbox) ++ * isRadio: [IN] true when requesting metrics for the radio button ++ * returns: pointer to ToggleGTKMetrics struct ++ */ ++const ToggleGTKMetrics* ++GetToggleMetrics(bool isRadio); ++ + /** + * Get the desired size of a GtkRadioButton + * indicator_size: [OUT] the indicator size +diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp +index 06e62efbcda8..da3eaa71a6b4 100644 +--- widget/gtk/nsNativeThemeGTK.cpp ++++ widget/gtk/nsNativeThemeGTK.cpp +@@ -1020,24 +1020,6 @@ nsNativeThemeGTK::GetExtraSizeForWidget(nsIFrame* aFrame, uint8_t aWidgetType, + aExtra->left = aExtra->right = 1; + break; + +- // Include the indicator spacing (the padding around the control). +- case NS_THEME_CHECKBOX: +- case NS_THEME_RADIO: +- { +- gint indicator_size, indicator_spacing; +- +- if (aWidgetType == NS_THEME_CHECKBOX) { +- moz_gtk_checkbox_get_metrics(&indicator_size, &indicator_spacing); +- } else { +- moz_gtk_radio_get_metrics(&indicator_size, &indicator_spacing); +- } +- +- aExtra->top = indicator_spacing; +- aExtra->right = indicator_spacing; +- aExtra->bottom = indicator_spacing; +- aExtra->left = indicator_spacing; +- break; +- } + case NS_THEME_BUTTON : + { + if (IsDefaultButton(aFrame)) { +@@ -1595,17 +1577,9 @@ nsNativeThemeGTK::GetMinimumWidgetSize(nsPresContext* aPresContext, + case NS_THEME_CHECKBOX: + case NS_THEME_RADIO: + { +- gint indicator_size, indicator_spacing; +- +- if (aWidgetType == NS_THEME_CHECKBOX) { +- moz_gtk_checkbox_get_metrics(&indicator_size, &indicator_spacing); +- } else { +- moz_gtk_radio_get_metrics(&indicator_size, &indicator_spacing); +- } +- +- // Include space for the indicator and the padding around it. +- aResult->width = indicator_size; +- aResult->height = indicator_size; ++ const ToggleGTKMetrics* metrics = GetToggleMetrics(aWidgetType == NS_THEME_RADIO); ++ aResult->width = metrics->minSizeWithBorder.width; ++ aResult->height = metrics->minSizeWithBorder.height; + } + break; + case NS_THEME_TOOLBARBUTTON_DROPDOWN: diff --git a/waterfox/rhbz-1497932.patch b/waterfox/rhbz-1497932.patch deleted file mode 100644 index d6e7886..0000000 --- a/waterfox/rhbz-1497932.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up firefox-56.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-56.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium -diff -up firefox-56.0/media/webrtc/trunk/Makefile.old firefox-56.0/media/webrtc/trunk/Makefile -diff -up firefox-56.0/widget/gtk/mozgtk/mozgtk.c.old firefox-56.0/widget/gtk/mozgtk/mozgtk.c ---- firefox-56.0/widget/gtk/mozgtk/mozgtk.c.old 2017-10-04 09:21:56.155553585 +0200 -+++ firefox-56.0/widget/gtk/mozgtk/mozgtk.c 2017-10-04 09:22:35.562427061 +0200 -@@ -61,7 +61,6 @@ STUB(gdk_screen_get_height_mm) - STUB(gdk_screen_get_n_monitors) - STUB(gdk_screen_get_monitor_at_window) - STUB(gdk_screen_get_monitor_geometry) --STUB(gdk_screen_get_monitor_workarea) - STUB(gdk_screen_get_monitor_height_mm) - STUB(gdk_screen_get_number) - STUB(gdk_screen_get_resolution) -@@ -550,6 +549,7 @@ STUB(gtk_render_line) - STUB(gtk_render_option) - STUB(gtk_render_slider) - STUB(gtk_scale_new) -+STUB(gdk_screen_get_monitor_workarea) - STUB(gtk_scrollbar_new) - STUB(gtk_style_context_add_class) - STUB(gtk_style_context_add_region) diff --git a/waterfox/waterfox.spec b/waterfox/waterfox.spec index 85db78f..6a8928b 100644 --- a/waterfox/waterfox.spec +++ b/waterfox/waterfox.spec @@ -1,9 +1,9 @@ %global _legacy_common_support 1 -%global commit f6fe91ce29333271a5ef97ba148294404d28ab3f +%global commit d5de4ec99d1d61a309d7fcd96da12488c9afe550 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global date 20200313 -%global with_snapshot 1 +%global date 20200408 +%global with_snapshot 0 %global branch classic @@ -29,12 +29,7 @@ ExcludeArch: armv7hl %global system_ffi 1 %global system_cairo 0 %global system_harfbuzz 1 -# libvpx is too new for Waterfox 56 -%if 0%{?fedora} < 30 -%global system_libvpx 1 -%else %global system_libvpx 0 -%endif %global system_webp 1 %global system_libicu 0 %global system_jpeg 1 @@ -161,8 +156,8 @@ BuildRequires: %{scl_buildreq} Summary: Waterfox Web browser Name: waterfox -Version: 2020.03.1 -Release: 12%{?branch:.%{branch}}%{?gver}%{?dist} +Version: 2020.04 +Release: 11%{?branch:.%{branch}}%{?gver}%{?dist} URL: https://www.waterfox.net License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -178,6 +173,8 @@ Source0: %{vc_url}/archive/%{version}-%{branch}/%{name}-%{version}-%{bran # rev=revision ./waterfox-FreeBSD-patches-snapshot.sh # https://github.com/MrAlex94/Waterfox/issues/1220 Source600: https://dl.bintray.com/phantomx/tarballs/%{freebsd_root}.tar.xz +Source601: patch-bug1321069 +Source602: patch-bug1381815 Source10: waterfox-mozconfig Source12: bgstack15-%{name}-prefs.js @@ -211,7 +208,6 @@ Patch224: mozilla-1170092.patch Patch225: mozilla-1005640-accept-lang.patch #ARM run-time patch Patch226: rhbz-1354671.patch -Patch230: rhbz-1497932.patch # Firefox upstream patches Patch402: mozilla-1196777.patch @@ -419,7 +415,6 @@ This package contains results of tests executed during build. %ifarch aarch64 %patch226 -p1 -b .1354671 %endif -%patch230 -p1 -b .1497932 %patch402 -p1 -b .1196777 %patch406 -p1 -b .256180 @@ -445,6 +440,7 @@ This package contains results of tests executed during build. # Prepare FreeBSD patches mkdir _patches cp -p %{freebsd_root}/patch-{bug,z-bug,revert-bug}* _patches/ +cp -pf %{S:601} %{S:602} _patches/ filterdiff -x dom/svg/crashtests/crashtests.list %{freebsd_root}/patch-bug1343147 \ > _patches/patch-bug1343147 @@ -463,14 +459,16 @@ done # 3: no apply # 4: uncertain for i in \ - 702179 991253 1021761 1144632 1288587 1379148 1393235 1393283 1393627 \ - 1395486 1427126 1430508 1433747 1452576 1453127 1454285 1466606 1469257 \ - 1384121 1388744 1413143 1415883 1437450 \ + 702179 991253 1021761 1144632 1288587 1379148 1393235 1393283 1393627 1395486 1396722 \ + 1401909 1427126 1430508 1433747 1452576 1453127 1454285 1455235 1466606 1469257 \ + 1384121 1384701 1388744 1401063 1413143 1415883 1437450 \ 1447519 do rm -f _patches/patch-bug${i} done +rm -f _patches/patch-z-bug1355143 + patchcommand='patch -p0 -s -i' for i in _patches/patch-{bug{??????,???????},revert-bug*,z-*} ;do @@ -670,7 +668,7 @@ echo "Generate big endian version of config/external/icu/data/icud58l.dat" # Update the various config.guess to upstream release for aarch64 support find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';' -RPM_SMP_MFLAGS_NCPUS=%(echo %{_smp_mflags} | sed 's|-j||') +RPM_SMP_MFLAGS_NCPUS="%{?_smp_build_ncpus}%{!?_smp_build_ncpus:2}" RPM_NCPUS=1 # On x86 architectures, Mozilla can build up to 4 jobs at once in parallel, @@ -1086,11 +1084,14 @@ fi #--------------------------------------------------------------------- %changelog -* Thu Mar 19 2020 B Stack - 2020.02.1-12.classic.20200313gitf6fe91c +* Tue Apr 14 2020 B Stack - 2020.04-11.classic - add el7 and el8 support - repackage for stackrpms - disable simd globally +* Thu Apr 09 2020 Phantom X - 2020.04-1.classic +- 2020.04 + * Wed Mar 18 2020 Phantom X - 2020.03.1-2.classic.20200313gitf6fe91c - gcc 10 fix -- cgit