From 3342822142e9732038265a80a4dea69646f5649b Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Fri, 27 Mar 2015 13:14:16 +0100 Subject: [PATCH] Update to 37.0 Build 2 --- .gitignore | 2 + firefox.spec | 25 +- mozilla-1073117-check.patch | 125 -------- mozilla-1073117-color.patch | 278 ------------------ mozilla-1073117-entry-button-size.patch | 65 ---- ...sizes.patch => mozilla-1073117-focus.patch | 222 ++++++++------ mozilla-1101582.patch | 122 -------- mozilla-1108834.patch | 11 - mozilla-1110211.patch | 95 ------ sources | 4 +- 10 files changed, 143 insertions(+), 806 deletions(-) delete mode 100644 mozilla-1073117-check.patch delete mode 100644 mozilla-1073117-color.patch delete mode 100644 mozilla-1073117-entry-button-size.patch rename mozilla-1073117-focus-sizes.patch => mozilla-1073117-focus.patch (77%) delete mode 100644 mozilla-1101582.patch delete mode 100644 mozilla-1108834.patch delete mode 100644 mozilla-1110211.patch diff --git a/.gitignore b/.gitignore index d428054..dd01607 100644 --- a/.gitignore +++ b/.gitignore @@ -129,3 +129,5 @@ firefox-3.6.4.source.tar.bz2 /firefox-langpacks-36.0.3-20150320.tar.xz /firefox-36.0.4.source.tar.bz2 /firefox-langpacks-36.0.4-20150321.tar.xz +/firefox-langpacks-37.0-20150327.tar.xz +/firefox-37.0.source.tar.bz2 diff --git a/firefox.spec b/firefox.spec index ec75318..199b78b 100644 --- a/firefox.spec +++ b/firefox.spec @@ -106,14 +106,14 @@ Summary: Mozilla Firefox Web browser Name: firefox -Version: 36.0.4 -Release: 2%{?pre_tag}%{?dist} +Version: 37.0 +Release: 1%{?pre_tag}%{?dist} URL: http://www.mozilla.org/projects/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Group: Applications/Internet Source0: ftp://ftp.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.bz2 %if %{build_langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20150321.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20150327.tar.xz %endif Source10: firefox-mozconfig Source11: firefox-mozconfig-branded @@ -133,7 +133,6 @@ Patch18: xulrunner-24.0-jemalloc-ppc.patch Patch19: xulrunner-24.0-s390-inlines.patch Patch20: firefox-build-prbool.patch Patch21: firefox-ppc64le.patch -Patch22: mozilla-1108834.patch Patch23: mozilla-1005535.patch # Fedora specific patches @@ -148,13 +147,8 @@ Patch221: firefox-fedora-ua.patch Patch301: mozilla-1129859-dictfix2.patch # Gtk3 upstream patches -Patch404: mozilla-1101582.patch -Patch405: mozilla-1073117-check.patch -Patch406: mozilla-1073117-color.patch -Patch408: mozilla-1110211.patch -Patch409: mozilla-1073117-entry-button-size.patch Patch410: mozilla-1073117-button-focus.patch -Patch411: mozilla-1073117-focus-sizes.patch +Patch411: mozilla-1073117-focus.patch Patch412: mozilla-1073117-no-gap-tab.patch Patch413: mozilla-975919-gtk3-hidpi.patch Patch414: mozilla-1143686.patch @@ -285,7 +279,6 @@ cd %{tarballdir} %patch19 -p2 -b .s390-inlines %patch20 -p1 -b .prbool %patch21 -p2 -b .ppc64le -%patch22 -p2 -b .1108834 %patch23 -p1 -b .1005535 %patch3 -p2 -b .arm @@ -303,13 +296,8 @@ cd %{tarballdir} %patch301 -p1 -b .dict-fix %if %{toolkit_gtk3} -%patch404 -p1 -b .1101582 -%patch405 -p1 -b .1073117-check -%patch406 -p1 -b .1073117-color -%patch408 -p2 -b .1110211 -%patch409 -p1 -b .1073117-entry-button-size %patch410 -p1 -b .1073117-button-focus -%patch411 -p1 -b .1073117-focus-sizes +%patch411 -p1 -b .1073117-focus %patch412 -p1 -b .1073117-no-gap-tab %patch413 -p2 -b .975919-gtk3-hidpi %patch414 -p1 -b .1143686 @@ -808,6 +796,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Fri Mar 27 2015 Martin Stransky - 37.0-1 +- Update to 37.0 Build 2 + * Thu Mar 26 2015 Richard Hughes - 36.0.4-2 - Add an AppData file for the software center diff --git a/mozilla-1073117-check.patch b/mozilla-1073117-check.patch deleted file mode 100644 index eff3b5a..0000000 --- a/mozilla-1073117-check.patch +++ /dev/null @@ -1,125 +0,0 @@ -# HG changeset patch -# Parent cef590a6f94681064fa954890bae6014db819158 -# User Martin Stransky -Bug 1073117 - Add new GTK_STATE_FLAG_CHECKED for checkbox rendering, r=?karlt - -diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c ---- a/widget/gtk/gtk3drawing.c -+++ b/widget/gtk/gtk3drawing.c -@@ -59,23 +59,28 @@ static GtkWidget* gExpanderWidget; - static GtkWidget* gToolbarSeparatorWidget; - static GtkWidget* gMenuSeparatorWidget; - static GtkWidget* gHPanedWidget; - static GtkWidget* gVPanedWidget; - static GtkWidget* gScrolledWindowWidget; - - static style_prop_t style_prop_func; - static gboolean have_arrow_scaling; -+static gboolean checkbox_check_state; - static gboolean is_initialized; - - #define ARROW_UP 0 - #define ARROW_DOWN G_PI - #define ARROW_RIGHT G_PI_2 - #define ARROW_LEFT (G_PI+G_PI_2) - -+#if !GTK_CHECK_VERSION(3,14,0) -+#define GTK_STATE_FLAG_CHECKED (1 << 11) -+#endif -+ - static GtkStateFlags - GetStateFlagsFromGtkWidgetState(GtkWidgetState* state) - { - GtkStateFlags stateFlags = GTK_STATE_FLAG_NORMAL; - - if (state->disabled) - stateFlags = GTK_STATE_FLAG_INSENSITIVE; - else { -@@ -709,17 +714,22 @@ moz_gtk_init() - GtkWidgetClass *entry_class; - - if (is_initialized) - return MOZ_GTK_SUCCESS; - - is_initialized = TRUE; - have_arrow_scaling = (gtk_major_version > 2 || - (gtk_major_version == 2 && gtk_minor_version >= 12)); -- -+ if (gtk_major_version > 3 || -+ (gtk_major_version == 3 && gtk_minor_version >= 14)) -+ checkbox_check_state = GTK_STATE_FLAG_CHECKED; -+ else -+ checkbox_check_state = GTK_STATE_FLAG_ACTIVE; -+ - /* Add style property to GtkEntry. - * Adding the style property to the normal GtkEntry class means that it - * will work without issues inside GtkComboBox and for Spinbuttons. */ - entry_class = g_type_class_ref(GTK_TYPE_ENTRY); - - return MOZ_GTK_SUCCESS; - } - -@@ -999,20 +1009,20 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec - focus_width = width + 2 * indicator_spacing; - focus_height = height + 2 * indicator_spacing; - - style = gtk_widget_get_style_context(w); - - gtk_widget_set_sensitive(w, !state->disabled); - gtk_widget_set_direction(w, direction); - gtk_style_context_save(style); -- -+ - if (isradio) { - gtk_style_context_add_class(style, GTK_STYLE_CLASS_RADIO); -- gtk_style_context_set_state(style, selected ? GTK_STATE_FLAG_ACTIVE : -+ gtk_style_context_set_state(style, selected ? checkbox_check_state : - GTK_STATE_FLAG_NORMAL); - 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); - } - } - else { -@@ -1020,17 +1030,17 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec - * 'indeterminate' type on checkboxes. In GTK, the shadow type - * must also be changed for the state to be drawn. - */ - gtk_style_context_add_class(style, GTK_STYLE_CLASS_CHECK); - if (inconsistent) { - gtk_style_context_set_state(style, GTK_STATE_FLAG_INCONSISTENT); - gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(gCheckboxWidget), TRUE); - } else if (selected) { -- gtk_style_context_set_state(style, GTK_STATE_FLAG_ACTIVE); -+ gtk_style_context_set_state(style, checkbox_check_state); - } else { - gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(gCheckboxWidget), FALSE); - } - 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); - } -@@ -2583,18 +2593,19 @@ moz_gtk_check_menu_item_paint(cairo_t *c - style = gtk_widget_get_style_context(gCheckMenuItemWidget); - gtk_style_context_save(style); - if (isradio) { - gtk_style_context_add_class(style, GTK_STYLE_CLASS_RADIO); - } else { - gtk_style_context_add_class(style, GTK_STYLE_CLASS_CHECK); - } - -- if (checked) -- state_flags |= GTK_STATE_FLAG_ACTIVE; -+ if (checked) { -+ state_flags |= checkbox_check_state; -+ } - - gtk_style_context_set_state(style, state_flags); - gtk_style_context_get_padding(style, state_flags, &padding); - - offset = gtk_container_get_border_width(GTK_CONTAINER(gCheckMenuItemWidget)) + - padding.left + 2; - - if (direction == GTK_TEXT_DIR_RTL) { diff --git a/mozilla-1073117-color.patch b/mozilla-1073117-color.patch deleted file mode 100644 index b3dee3a..0000000 --- a/mozilla-1073117-color.patch +++ /dev/null @@ -1,278 +0,0 @@ -# HG changeset patch -# Parent 18188c19a3c3ec9cd4474de5bd1f5558ec750a36 -# User Martin Stransky -Bug 1073117 - [gtk3] Use GTK_STYLE_CLASS_VIEW style for selected text rendering. r=?karlt -It also merges some duplicated colors and adds GTK_STATE_FLAG_FOCUSED for selected text. - - -diff --git a/widget/gtk/nsLookAndFeel.cpp b/widget/gtk/nsLookAndFeel.cpp ---- a/widget/gtk/nsLookAndFeel.cpp -+++ b/widget/gtk/nsLookAndFeel.cpp -@@ -33,32 +33,30 @@ using mozilla::LookAndFeel; - (int)((c).blue*255), (int)((c).alpha*255))) - - nsLookAndFeel::nsLookAndFeel() - : nsXPLookAndFeel(), - #if (MOZ_WIDGET_GTK == 2) - mStyle(nullptr), - #else - mBackgroundStyle(nullptr), -- mViewStyle(nullptr), - mButtonStyle(nullptr), - #endif - mDefaultFontCached(false), mButtonFontCached(false), - mFieldFontCached(false), mMenuFontCached(false) - { - Init(); - } - - nsLookAndFeel::~nsLookAndFeel() - { - #if (MOZ_WIDGET_GTK == 2) - g_object_unref(mStyle); - #else - g_object_unref(mBackgroundStyle); -- g_object_unref(mViewStyle); - g_object_unref(mButtonStyle); - #endif - } - - nsresult - nsLookAndFeel::NativeGetColor(ColorID aID, nscolor& aColor) - { - #if (MOZ_WIDGET_GTK == 3) -@@ -109,23 +107,29 @@ nsLookAndFeel::NativeGetColor(ColorID aI - case eColorID__moz_dialogtext: - aColor = sMozWindowText; - break; - case eColorID_WidgetSelectBackground: - case eColorID_TextSelectBackground: - case eColorID_IMESelectedRawTextBackground: - case eColorID_IMESelectedConvertedTextBackground: - case eColorID__moz_dragtargetzone: -- aColor = sMozWindowSelectedBackground; -+ case eColorID__moz_cellhighlight: -+ case eColorID__moz_html_cellhighlight: -+ case eColorID_highlight: // preference selected item, -+ aColor = sTextSelectedBackground; - break; - case eColorID_WidgetSelectForeground: - case eColorID_TextSelectForeground: - case eColorID_IMESelectedRawTextForeground: - case eColorID_IMESelectedConvertedTextForeground: -- aColor = sMozWindowSelectedText; -+ case eColorID_highlighttext: -+ case eColorID__moz_cellhighlighttext: -+ case eColorID__moz_html_cellhighlighttext: -+ aColor = sTextSelectedText; - break; - #endif - case eColorID_Widget3DHighlight: - aColor = NS_RGB(0xa0,0xa0,0xa0); - break; - case eColorID_Widget3DShadow: - aColor = NS_RGB(0x40,0x40,0x40); - break; -@@ -233,29 +237,16 @@ nsLookAndFeel::NativeGetColor(ColorID aI - aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); - break; - case eColorID_graytext: // disabled text in windows, menus, etc. - case eColorID_inactivecaptiontext: // text in inactive window caption - gtk_style_context_get_color(mBackgroundStyle, - GTK_STATE_FLAG_INSENSITIVE, &gdk_color); - aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); - break; -- case eColorID_highlight: // preference selected item, -- // background of selected item -- gtk_style_context_get_background_color(mViewStyle, -- GTK_STATE_FLAG_SELECTED, -- &gdk_color); -- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); -- break; -- case eColorID_highlighttext: -- // text of selected item -- gtk_style_context_get_color(mViewStyle, -- GTK_STATE_FLAG_SELECTED, &gdk_color); -- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); -- break; - case eColorID_inactivecaption: - // inactive window caption - gtk_style_context_get_background_color(mBackgroundStyle, - GTK_STATE_FLAG_INSENSITIVE, - &gdk_color); - aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); - break; - #endif -@@ -388,29 +379,16 @@ nsLookAndFeel::NativeGetColor(ColorID aI - gtk_style_context_get_background_color(mButtonStyle, - GTK_STATE_FLAG_PRELIGHT, - &gdk_color); - aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); - break; - case eColorID__moz_buttonhovertext: - aColor = sButtonHoverText; - break; -- case eColorID__moz_cellhighlight: -- case eColorID__moz_html_cellhighlight: -- gtk_style_context_get_background_color(mViewStyle, -- GTK_STATE_FLAG_SELECTED, -- &gdk_color); -- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); -- break; -- case eColorID__moz_cellhighlighttext: -- case eColorID__moz_html_cellhighlighttext: -- gtk_style_context_get_color(mViewStyle, -- GTK_STATE_FLAG_SELECTED, &gdk_color); -- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); -- break; - #endif - case eColorID__moz_menuhover: - aColor = sMenuHover; - break; - case eColorID__moz_menuhovertext: - aColor = sMenuHoverText; - break; - case eColorID__moz_oddtreerow: -@@ -962,60 +940,66 @@ nsLookAndFeel::Init() - } - - g_object_unref(menu); - #else - GdkRGBA color; - GtkStyleContext *style; - - // Gtk manages a screen's CSS in the settings object so we -- // ask Gtk to create it explicitly. Otherwise we may end up -+ // ask Gtk to create it explicitly. Otherwise we may end up - // with wrong color theme, see Bug 972382 - (void)gtk_settings_get_for_screen(gdk_screen_get_default()); - - GtkWidgetPath *path = gtk_widget_path_new(); - gtk_widget_path_append_type(path, GTK_TYPE_WINDOW); - - mBackgroundStyle = create_context(path); - gtk_style_context_add_class(mBackgroundStyle, GTK_STYLE_CLASS_BACKGROUND); - -- mViewStyle = create_context(path); -- gtk_style_context_add_class(mViewStyle, GTK_STYLE_CLASS_VIEW); -- - mButtonStyle = create_context(path); - gtk_style_context_add_class(mButtonStyle, GTK_STYLE_CLASS_BUTTON); - - // Scrollbar colors - style = create_context(path); - gtk_style_context_add_class(style, GTK_STYLE_CLASS_SCROLLBAR); - gtk_style_context_add_class(style, GTK_STYLE_CLASS_TROUGH); - gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozScrollbar = GDK_RGBA_TO_NS_RGBA(color); - g_object_unref(style); - - // Text colors -- gtk_style_context_get_background_color(mViewStyle, GTK_STATE_FLAG_NORMAL, &color); -+ style = create_context(path); -+ gtk_style_context_add_class(style, GTK_STYLE_CLASS_VIEW); -+ gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozFieldBackground = GDK_RGBA_TO_NS_RGBA(color); -- gtk_style_context_get_color(mViewStyle, GTK_STATE_FLAG_NORMAL, &color); -+ gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozFieldText = GDK_RGBA_TO_NS_RGBA(color); - -+ // Selected text and background -+ gtk_style_context_get_background_color(style, -+ static_cast(GTK_STATE_FLAG_FOCUSED|GTK_STATE_FLAG_SELECTED), -+ &color); -+ sTextSelectedBackground = GDK_RGBA_TO_NS_RGBA(color); -+ gtk_style_context_get_color(style, -+ static_cast(GTK_STATE_FLAG_FOCUSED|GTK_STATE_FLAG_SELECTED), -+ &color); -+ sTextSelectedText = GDK_RGBA_TO_NS_RGBA(color); -+ g_object_unref(style); -+ - // Window colors - style = create_context(path); - gtk_style_context_save(style); - gtk_style_context_add_class(style, GTK_STYLE_CLASS_BACKGROUND); - gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozWindowBackground = GDK_RGBA_TO_NS_RGBA(color); -+ -+ // Text colors - gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozWindowText = GDK_RGBA_TO_NS_RGBA(color); -- -- // Selected text and background -- gtk_style_context_get_background_color(style, GTK_STATE_FLAG_SELECTED, &color); -- sMozWindowSelectedBackground = GDK_RGBA_TO_NS_RGBA(color); -- gtk_style_context_get_color(style, GTK_STATE_FLAG_SELECTED, &color); -- sMozWindowSelectedText = GDK_RGBA_TO_NS_RGBA(color); - gtk_style_context_restore(style); - - // tooltip foreground and background - gtk_style_context_add_class(style, GTK_STYLE_CLASS_TOOLTIP); - gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); - sInfoBackground = GDK_RGBA_TO_NS_RGBA(color); - gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color); - sInfoText = GDK_RGBA_TO_NS_RGBA(color); -@@ -1251,21 +1235,19 @@ nsLookAndFeel::RefreshImpl() - mFieldFontCached = false; - mMenuFontCached = false; - - #if (MOZ_WIDGET_GTK == 2) - g_object_unref(mStyle); - mStyle = nullptr; - #else - g_object_unref(mBackgroundStyle); -- g_object_unref(mViewStyle); - g_object_unref(mButtonStyle); - - mBackgroundStyle = nullptr; -- mViewStyle = nullptr; - mButtonStyle = nullptr; - #endif - - Init(); - } - - bool - nsLookAndFeel::GetEchoPasswordImpl() { -diff --git a/widget/gtk/nsLookAndFeel.h b/widget/gtk/nsLookAndFeel.h ---- a/widget/gtk/nsLookAndFeel.h -+++ b/widget/gtk/nsLookAndFeel.h -@@ -30,17 +30,16 @@ public: - virtual char16_t GetPasswordCharacterImpl(); - virtual bool GetEchoPasswordImpl(); - - protected: - #if (MOZ_WIDGET_GTK == 2) - struct _GtkStyle *mStyle; - #else - struct _GtkStyleContext *mBackgroundStyle; -- struct _GtkStyleContext *mViewStyle; - struct _GtkStyleContext *mButtonStyle; - #endif - - // Cached fonts - bool mDefaultFontCached; - bool mButtonFontCached; - bool mFieldFontCached; - bool mMenuFontCached; -@@ -70,18 +69,18 @@ protected: - nscolor sOddCellBackground; - nscolor sNativeHyperLinkText; - nscolor sComboBoxText; - nscolor sComboBoxBackground; - nscolor sMozFieldText; - nscolor sMozFieldBackground; - nscolor sMozWindowText; - nscolor sMozWindowBackground; -- nscolor sMozWindowSelectedText; -- nscolor sMozWindowSelectedBackground; -+ nscolor sTextSelectedText; -+ nscolor sTextSelectedBackground; - nscolor sMozScrollbar; - char16_t sInvisibleCharacter; - float sCaretRatio; - bool sMenuSupportsDrag; - - void Init(); - }; - diff --git a/mozilla-1073117-entry-button-size.patch b/mozilla-1073117-entry-button-size.patch deleted file mode 100644 index 24c0ac2..0000000 --- a/mozilla-1073117-entry-button-size.patch +++ /dev/null @@ -1,65 +0,0 @@ -# HG changeset patch -# Parent 70de2960aa877d7755ee6f66bf2d4c4c46bfed2c -# User Martin Stransky -Bug 1073117 - Theme issues with GTK 3.14 - fix gtk button and entry size, r=?karlt -Theme borders has been removed in Gtk 3.14 so we can't use them to calculate button size. -Should computed as border + padding. Also update nsNativeThemeGTK::GetWidgetPadding() for that. - -diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c ---- a/widget/gtk/gtk3drawing.c -+++ b/widget/gtk/gtk3drawing.c -@@ -2686,25 +2686,23 @@ moz_gtk_get_widget_border(GtkThemeWidget - { - GtkBorder inner_border; - gboolean interior_focus; - gint focus_width, focus_pad; - - ensure_button_widget(); - *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget)); - -+ style = gtk_widget_get_style_context(gButtonWidget); -+ moz_gtk_add_style_border(style, left, top, right, bottom); -+ - /* Don't add this padding in HTML, otherwise the buttons will - become too big and stuff the layout. */ - if (!inhtml) { -- moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad); -- moz_gtk_button_get_inner_border(gButtonWidget, &inner_border); -- *left += focus_width + focus_pad + inner_border.left; -- *right += focus_width + focus_pad + inner_border.right; -- *top += focus_width + focus_pad + inner_border.top; -- *bottom += focus_width + focus_pad + inner_border.bottom; -+ moz_gtk_add_style_padding(style, left, top, right, bottom); - } - - moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget), - left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - case MOZ_GTK_ENTRY: - { -diff --git a/widget/gtk/nsNativeThemeGTK.cpp b/widget/gtk/nsNativeThemeGTK.cpp ---- a/widget/gtk/nsNativeThemeGTK.cpp -+++ b/widget/gtk/nsNativeThemeGTK.cpp -@@ -992,16 +992,21 @@ nsNativeThemeGTK::GetWidgetPadding(nsDev - switch (aWidgetType) { - case NS_THEME_BUTTON_FOCUS: - case NS_THEME_TOOLBAR_BUTTON: - case NS_THEME_TOOLBAR_DUAL_BUTTON: - case NS_THEME_TAB_SCROLLARROW_BACK: - case NS_THEME_TAB_SCROLLARROW_FORWARD: - case NS_THEME_DROPDOWN_BUTTON: - case NS_THEME_TOOLBAR_BUTTON_DROPDOWN: -+ case NS_THEME_FOCUS_OUTLINE: -+ case NS_THEME_NUMBER_INPUT: -+ case NS_THEME_TEXTFIELD: -+ case NS_THEME_TEXTFIELD_MULTILINE: -+ case NS_THEME_BUTTON: - case NS_THEME_BUTTON_ARROW_UP: - case NS_THEME_BUTTON_ARROW_DOWN: - case NS_THEME_BUTTON_ARROW_NEXT: - case NS_THEME_BUTTON_ARROW_PREVIOUS: - case NS_THEME_RANGE_THUMB: - // Radios and checkboxes return a fixed size in GetMinimumWidgetSize - // and have a meaningful baseline, so they can't have - // author-specified padding. diff --git a/mozilla-1073117-focus-sizes.patch b/mozilla-1073117-focus.patch similarity index 77% rename from mozilla-1073117-focus-sizes.patch rename to mozilla-1073117-focus.patch index 0e0047b..a67f6e9 100644 --- a/mozilla-1073117-focus-sizes.patch +++ b/mozilla-1073117-focus.patch @@ -1,8 +1,10 @@ # HG changeset patch -# Parent 900ea94508c5b6e99d40ec7e5d25e0d4ca6cfef8 # User Martin Stransky -Bug 1073117 - Theme issues with GTK 3.14 - removed obsoleted focus style properties -and replaced by border and padding. r=?karlt +# Parent 0850966fdb761c309032575cbc6748a27d794983 +Bug 1073117 - Theme issues with GTK 3.14 - fix gtk button and entry size, r=?karlt +Inner borders and focus theming has been removed in Gtk 3.14 so we can't use them to calculate button size. +The size should be computed as border + padding. + diff --git a/widget/gtk/gtk2drawing.c b/widget/gtk/gtk2drawing.c --- a/widget/gtk/gtk2drawing.c @@ -48,7 +50,8 @@ diff --git a/widget/gtk/gtk2drawing.c b/widget/gtk/gtk2drawing.c diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c --- a/widget/gtk/gtk3drawing.c +++ b/widget/gtk/gtk3drawing.c -@@ -757,47 +757,29 @@ moz_gtk_radio_get_metrics(gint* indicato +@@ -756,48 +756,28 @@ moz_gtk_radio_get_metrics(gint* indicato + "indicator_spacing", indicator_spacing, NULL); return MOZ_GTK_SUCCESS; @@ -56,9 +59,10 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c gint moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) - { +-{ - gboolean interior_focus; - gint focus_width = 0; +- gint focus_width = 0; ++{ + GtkBorder border; + GtkBorder padding; + GtkStyleContext *style; @@ -92,12 +96,11 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c - NULL); - + style = gtk_widget_get_style_context(gEntryWidget); -+ gtk_style_context_get(style, 0, "outline-width", &focus_width, NULL); + + gtk_style_context_get_border(style, 0, &border); + gtk_style_context_get_padding(style, 0, &padding); -+ *focus_h_width = border.left + padding.left + focus_width; -+ *focus_v_width = border.top + padding.top + focus_width; ++ *focus_h_width = border.left + padding.left; ++ *focus_v_width = border.top + padding.top; return MOZ_GTK_SUCCESS; } @@ -106,7 +109,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c { ensure_menu_item_widget(); -@@ -875,34 +857,16 @@ moz_gtk_splitter_get_metrics(gint orient +@@ -875,34 +855,16 @@ moz_gtk_splitter_get_metrics(gint orient gtk_widget_style_get(gHPanedWidget, "handle_size", size, NULL); } else { ensure_vpaned_widget(); @@ -141,7 +144,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c { GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); GtkStyleContext* style = gtk_widget_get_style_context(widget); -@@ -1032,43 +996,36 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec +@@ -1032,43 +994,33 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec } static gint @@ -159,8 +162,6 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c style = gtk_widget_get_style_context(button); -+ gtk_style_context_get_border(style, 0, &border); -+ /* This mirrors gtkbutton's child positioning */ - moz_gtk_button_get_inner_border(button, &inner_border); - moz_gtk_widget_get_focus(button, &interior_focus, @@ -172,11 +173,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c - gtk_style_context_get_border(style, 0, &border); - - inner_rect->x = rect->x + border.left + focus_width + focus_pad; -+ if (!ignore_focus) -+ gtk_style_context_get_padding(style, 0, &padding); -+ -+ inner_rect->x = rect->x + border.left; - inner_rect->x += direction == GTK_TEXT_DIR_LTR ? +- inner_rect->x += direction == GTK_TEXT_DIR_LTR ? - inner_border.left : inner_border.right; - inner_rect->y = rect->y + inner_border.top + border.top + - focus_width + focus_pad; @@ -184,7 +181,11 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c - inner_border.right - (border.left + focus_pad + focus_width) * 2); - inner_rect->height = MAX(1, rect->height - inner_border.top - - inner_border.bottom - (border.top + focus_pad + focus_width) * 2); -+ padding.left : padding.right; ++ gtk_style_context_get_border(style, 0, &border); ++ if (!ignore_focus) ++ gtk_style_context_get_padding(style, 0, &padding); ++ ++ inner_rect->x = rect->x + border.left + padding.left; + inner_rect->y = rect->y + padding.top + border.top; + inner_rect->width = MAX(1, rect->width - padding.left - + padding.right - border.left * 2); @@ -198,7 +199,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c static gint calculate_arrow_rect(GtkWidget* arrow, GdkRectangle* rect, GdkRectangle* arrow_rect, GtkTextDirection direction) -@@ -1427,29 +1384,22 @@ moz_gtk_vpaned_paint(cairo_t *cr, GdkRec +@@ -1427,29 +1379,22 @@ moz_gtk_vpaned_paint(cairo_t *cr, GdkRec // See gtk_entry_draw() for reference. static gint moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, @@ -228,7 +229,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c rect->width += 2 * h; rect->y -= v; rect->height += 2 * v; -@@ -1471,40 +1421,27 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect +@@ -1471,40 +1416,27 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect /* Now paint the shadow and focus border. * We do like in gtk_entry_draw_frame, we first draw the shadow, a tad * smaller when focused if the focus is not interior, then the focus. */ @@ -269,7 +270,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c static gint moz_gtk_treeview_paint(cairo_t *cr, GdkRectangle* rect, GtkWidgetState* state, -@@ -1799,56 +1736,48 @@ moz_gtk_combo_box_entry_button_paint(cai +@@ -1799,56 +1731,48 @@ moz_gtk_combo_box_entry_button_paint(cai static gint moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect, GtkWidgetState* state, @@ -326,7 +327,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c ensure_radiobutton_widget(); widget = gRadiobuttonWidget; } else { -@@ -1859,20 +1788,16 @@ moz_gtk_toggle_label_paint(cairo_t *cr, +@@ -1859,20 +1783,16 @@ moz_gtk_toggle_label_paint(cairo_t *cr, gtk_style_context_save(style); if (isradio) { gtk_style_context_add_class(style, GTK_STYLE_CLASS_RADIO); @@ -347,7 +348,8 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c return MOZ_GTK_SUCCESS; } -@@ -2661,18 +2586,16 @@ moz_gtk_get_widget_border(GtkThemeWidget +@@ -2660,44 +2580,42 @@ moz_gtk_get_widget_border(GtkThemeWidget + { GtkWidget* w; GtkStyleContext* style; *left = *top = *right = *bottom = 0; @@ -355,18 +357,54 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c switch (widget) { case MOZ_GTK_BUTTON: { - GtkBorder inner_border; +- GtkBorder inner_border; - gboolean interior_focus; - gint focus_width, focus_pad; - +- ensure_button_widget(); ++ style = gtk_widget_get_style_context(gButtonWidget); ++ *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget)); - style = gtk_widget_get_style_context(gButtonWidget); - moz_gtk_add_style_border(style, left, top, right, bottom); - /* Don't add this padding in HTML, otherwise the buttons will -@@ -2705,33 +2628,32 @@ moz_gtk_get_widget_border(GtkThemeWidget + become too big and stuff the layout. */ + if (!inhtml) { +- moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad); +- moz_gtk_button_get_inner_border(gButtonWidget, &inner_border); +- *left += focus_width + focus_pad + inner_border.left; +- *right += focus_width + focus_pad + inner_border.right; +- *top += focus_width + focus_pad + inner_border.top; +- *bottom += focus_width + focus_pad + inner_border.bottom; ++ moz_gtk_add_style_padding(style, left, top, right, bottom); + } + +- moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget), +- left, top, right, bottom); ++ moz_gtk_add_style_border(style, left, top, right, bottom); + return MOZ_GTK_SUCCESS; + } + case MOZ_GTK_ENTRY: + { + ensure_entry_widget(); + style = gtk_widget_get_style_context(gEntryWidget); + moz_gtk_add_style_border(style, left, top, right, bottom); +- moz_gtk_add_style_padding(style, left, top, right, bottom); ++ ++ /* Use the document padding in HTML ++ and GTK style padding in XUL. */ ++ if (!inhtml) { ++ moz_gtk_add_style_padding(style, left, top, right, bottom); ++ } ++ + return MOZ_GTK_SUCCESS; + } + case MOZ_GTK_TREEVIEW: + { + ensure_scrolled_window_widget(); + style = gtk_widget_get_style_context(gScrolledWindowWidget); + gtk_style_context_save(style); + gtk_style_context_add_class(style, GTK_STYLE_CLASS_FRAME); +@@ -2707,33 +2625,25 @@ moz_gtk_get_widget_border(GtkThemeWidget } case MOZ_GTK_TREE_HEADER_CELL: { @@ -379,7 +417,6 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c - GtkBorder inner_border; - gboolean interior_focus; - gint focus_width, focus_pad; -+ gint focus_width; + GtkStyleContext *style; ensure_tree_header_cell_widget(); @@ -395,12 +432,6 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c - moz_gtk_add_style_border(gtk_widget_get_style_context(gTreeHeaderCellWidget), - left, top, right, bottom); + style = gtk_widget_get_style_context(gTreeHeaderCellWidget); -+ gtk_style_context_get(style, 0, "outline-width", &focus_width, NULL); -+ -+ *left += focus_width; -+ *right += focus_width; -+ *top += focus_width; -+ *bottom += focus_width; + + moz_gtk_add_style_border(style, left, top, right, bottom); + moz_gtk_add_style_padding(style, left, top, right, bottom); @@ -412,7 +443,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c break; case MOZ_GTK_DROPDOWN_ENTRY: ensure_combo_box_entry_widgets(); -@@ -2741,30 +2663,34 @@ moz_gtk_get_widget_border(GtkThemeWidget +@@ -2743,39 +2653,33 @@ moz_gtk_get_widget_border(GtkThemeWidget ensure_combo_box_entry_widgets(); w = gComboBoxEntryButtonWidget; break; @@ -424,70 +455,76 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c - gboolean ignored_interior_focus, wide_separators; - gint focus_width, focus_pad, separator_width; + gboolean wide_separators; -+ gint focus_width, separator_width; ++ gint separator_width; GtkRequisition arrow_req; GtkBorder border; ensure_combo_box_widgets(); - *left = gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); +- *left = gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); ++ *left = *top = *right = *bottom = ++ gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); ++ ++ style = gtk_widget_get_style_context(gComboBoxButtonWidget); if (!inhtml) { - moz_gtk_widget_get_focus(gComboBoxButtonWidget, - &ignored_interior_focus, - &focus_width, &focus_pad); - *left += focus_width + focus_pad; -+ gint focus_width; -+ GtkBorder focus_pad; -+ GtkStyleContext *style = gtk_widget_get_style_context(gComboBoxButtonWidget); -+ -+ gtk_style_context_get(style, 0, "outline-width", &focus_width, NULL); -+ gtk_style_context_get_padding(style, 0, &focus_pad); -+ -+ *left += focus_width + focus_pad.left; ++ moz_gtk_add_style_padding(style, left, top, right, bottom); } - style = gtk_widget_get_style_context(gComboBoxButtonWidget); - gtk_style_context_get_border(style, 0, &border); +- style = gtk_widget_get_style_context(gComboBoxButtonWidget); +- gtk_style_context_get_border(style, 0, &border); +- +- *top = *left + border.top; +- *left += border.left; +- +- *right = *left; *bottom = *top; ++ moz_gtk_add_style_border(style, left, top, right, bottom); - *top = *left + border.top; - *left += border.left; - -@@ -2818,67 +2744,41 @@ moz_gtk_get_widget_border(GtkThemeWidget + /* If there is no separator, don't try to count its width. */ + separator_width = 0; + if (gComboBoxSeparatorWidget) { + gtk_widget_style_get(gComboBoxSeparatorWidget, + "wide-separators", &wide_separators, + "separator-width", &separator_width, + NULL); +@@ -2817,70 +2721,33 @@ moz_gtk_get_widget_border(GtkThemeWidget + case MOZ_GTK_SCALE_VERTICAL: + ensure_scale_widget(); + w = gVScaleWidget; break; case MOZ_GTK_FRAME: ensure_frame_widget(); w = gFrameWidget; break; - case MOZ_GTK_CHECKBUTTON_LABEL: - case MOZ_GTK_RADIOBUTTON_LABEL: - { +- case MOZ_GTK_CHECKBUTTON_LABEL: +- case MOZ_GTK_RADIOBUTTON_LABEL: +- { - gboolean interior_focus; - gint focus_width, focus_pad; - - /* If the focus is interior, then the label has a border of - (focus_width + focus_pad). */ - if (widget == MOZ_GTK_CHECKBUTTON_LABEL) { - ensure_checkbox_widget(); +- if (widget == MOZ_GTK_CHECKBUTTON_LABEL) { +- ensure_checkbox_widget(); - moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, - &focus_width, &focus_pad); -+ w = gCheckboxWidget; - } - else { - ensure_radiobutton_widget(); +- } +- else { +- ensure_radiobutton_widget(); - moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, - &focus_width, &focus_pad); -+ w = gRadiobuttonWidget; - } +- } - - if (interior_focus) - *left = *top = *right = *bottom = (focus_width + focus_pad); - -+ moz_gtk_add_style_border(gtk_widget_get_style_context(w), -+ left, top, right, bottom); - return MOZ_GTK_SUCCESS; - } - +- return MOZ_GTK_SUCCESS; +- } +- case MOZ_GTK_CHECKBUTTON_CONTAINER: case MOZ_GTK_RADIOBUTTON_CONTAINER: { @@ -507,6 +544,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c - &focus_width, &focus_pad); w = gRadiobuttonWidget; } ++ style = gtk_widget_get_style_context(w); *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w)); - @@ -517,6 +555,10 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c - *bottom += (focus_width + focus_pad); - } - ++ moz_gtk_add_style_border(style, ++ left, top, right, bottom); ++ moz_gtk_add_style_padding(style, ++ left, top, right, bottom); return MOZ_GTK_SUCCESS; } case MOZ_GTK_MENUPOPUP: @@ -525,6 +567,25 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c break; case MOZ_GTK_MENUITEM: case MOZ_GTK_CHECKMENUITEM: +@@ -2897,16 +2764,18 @@ moz_gtk_get_widget_border(GtkThemeWidget + } + + *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w)); + moz_gtk_add_style_padding(gtk_widget_get_style_context(w), + left, top, right, bottom); + return MOZ_GTK_SUCCESS; + } + /* These widgets have no borders, since they are not containers. */ ++ case MOZ_GTK_CHECKBUTTON_LABEL: ++ case MOZ_GTK_RADIOBUTTON_LABEL: + case MOZ_GTK_SPLITTER_HORIZONTAL: + case MOZ_GTK_SPLITTER_VERTICAL: + case MOZ_GTK_CHECKBUTTON: + case MOZ_GTK_RADIOBUTTON: + case MOZ_GTK_SCROLLBAR_BUTTON: + case MOZ_GTK_SCROLLBAR_TRACK_HORIZONTAL: + case MOZ_GTK_SCROLLBAR_TRACK_VERTICAL: + case MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL: diff --git a/widget/gtk/gtkdrawing.h b/widget/gtk/gtkdrawing.h --- a/widget/gtk/gtkdrawing.h +++ b/widget/gtk/gtkdrawing.h @@ -578,24 +639,3 @@ diff --git a/widget/gtk/gtkdrawing.h b/widget/gtk/gtkdrawing.h gint moz_gtk_menuitem_get_horizontal_padding(gint* horizontal_padding); -diff --git a/widget/gtk/mozgtk/mozgtk.c b/widget/gtk/mozgtk/mozgtk.c ---- a/widget/gtk/mozgtk/mozgtk.c -+++ b/widget/gtk/mozgtk/mozgtk.c -@@ -510,16 +510,17 @@ STUB(gtk_render_frame_gap) - STUB(gtk_render_handle) - STUB(gtk_render_line) - STUB(gtk_render_option) - STUB(gtk_render_slider) - STUB(gtk_scale_new) - STUB(gtk_scrollbar_new) - STUB(gtk_style_context_add_class) - STUB(gtk_style_context_add_region) -+STUB(gtk_style_context_get) - STUB(gtk_style_context_get_background_color) - STUB(gtk_style_context_get_border) - STUB(gtk_style_context_get_border_color) - STUB(gtk_style_context_get_color) - STUB(gtk_style_context_get_margin) - STUB(gtk_style_context_get_padding) - STUB(gtk_style_context_new) - STUB(gtk_style_context_remove_region) diff --git a/mozilla-1101582.patch b/mozilla-1101582.patch deleted file mode 100644 index c1963f8..0000000 --- a/mozilla-1101582.patch +++ /dev/null @@ -1,122 +0,0 @@ -# HG changeset patch -# Parent cef590a6f94681064fa954890bae6014db819158 -# User Martin Stransky -Bug 1101582 - [GTK3] - Use window background color for ThreeDFace,ButtonFace r=karlt -This fixes missing borders on non-natively-styled textareas. - -diff --git a/widget/gtk/nsLookAndFeel.cpp b/widget/gtk/nsLookAndFeel.cpp ---- a/widget/gtk/nsLookAndFeel.cpp -+++ b/widget/gtk/nsLookAndFeel.cpp -@@ -279,39 +279,41 @@ nsLookAndFeel::NativeGetColor(ColorID aI - // scrollbar gray area - #if (MOZ_WIDGET_GTK == 2) - aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_ACTIVE]); - #else - aColor = sMozScrollbar; - #endif - break; - -+ case eColorID_threedlightshadow: -+ // 3-D highlighted inner edge color -+ // always same as background in GTK code - case eColorID_threedface: - case eColorID_buttonface: - // 3-D face color -- aColor = sFrameBackground; -+#if (MOZ_WIDGET_GTK == 3) -+ aColor = sMozWindowBackground; -+#else -+ aColor = sButtonBackground; -+#endif - break; - - case eColorID_buttontext: - // text on push buttons - aColor = sButtonText; - break; - - case eColorID_buttonhighlight: - // 3-D highlighted edge color - case eColorID_threedhighlight: - // 3-D highlighted outer edge color - aColor = sFrameOuterLightBorder; - break; - -- case eColorID_threedlightshadow: -- // 3-D highlighted inner edge color -- aColor = sFrameBackground; // always same as background in GTK code -- break; -- - case eColorID_buttonshadow: - // 3-D shadow edge color - case eColorID_threedshadow: - // 3-D shadow inner edge color - aColor = sFrameInnerDarkBorder; - break; - - #if (MOZ_WIDGET_GTK == 2) -@@ -1136,17 +1138,17 @@ nsLookAndFeel::Init() - } - - sOddCellBackground = GDK_COLOR_TO_NS_RGB(colorValue); - if (colorValuePtr) - gdk_color_free(colorValuePtr); - - style = gtk_widget_get_style(button); - if (style) { -- sFrameBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]); -+ sButtonBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]); - sFrameOuterLightBorder = - GDK_COLOR_TO_NS_RGB(style->light[GTK_STATE_NORMAL]); - sFrameInnerDarkBorder = - GDK_COLOR_TO_NS_RGB(style->dark[GTK_STATE_NORMAL]); - } - #else - // Button text, background, border - style = gtk_widget_get_style_context(label); -@@ -1184,22 +1186,19 @@ nsLookAndFeel::Init() - gtk_style_context_add_region(style, GTK_STYLE_REGION_ROW, GTK_REGION_ODD); - gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); - sOddCellBackground = GDK_RGBA_TO_NS_RGBA(color); - gtk_style_context_restore(style); - - GtkWidget *frame = gtk_frame_new(nullptr); - gtk_container_add(GTK_CONTAINER(parent), frame); - -- style = gtk_widget_get_style_context(frame); -- gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); -- sFrameBackground = GDK_RGBA_TO_NS_RGBA(color); -- - // TODO GTK3 - update sFrameOuterLightBorder - // for GTK_BORDER_STYLE_INSET/OUTSET/GROVE/RIDGE border styles (Bug 978172). -+ style = gtk_widget_get_style_context(frame); - gtk_style_context_get_border_color(style, GTK_STATE_FLAG_NORMAL, &color); - sFrameInnerDarkBorder = sFrameOuterLightBorder = GDK_RGBA_TO_NS_RGBA(color); - #endif - // Some themes have a unified menu bar, and support window dragging on it - gboolean supports_menubar_drag = FALSE; - GParamSpec *param_spec = - gtk_widget_class_find_style_property(GTK_WIDGET_GET_CLASS(menuBar), - "window-dragging"); -diff --git a/widget/gtk/nsLookAndFeel.h b/widget/gtk/nsLookAndFeel.h ---- a/widget/gtk/nsLookAndFeel.h -+++ b/widget/gtk/nsLookAndFeel.h -@@ -59,17 +59,17 @@ protected: - nscolor sMenuBackground; - nscolor sMenuBarText; - nscolor sMenuBarHoverText; - nscolor sMenuText; - nscolor sMenuHover; - nscolor sMenuHoverText; - nscolor sButtonText; - nscolor sButtonHoverText; -- nscolor sFrameBackground; -+ nscolor sButtonBackground; - nscolor sFrameOuterLightBorder; - nscolor sFrameInnerDarkBorder; - nscolor sOddCellBackground; - nscolor sNativeHyperLinkText; - nscolor sComboBoxText; - nscolor sComboBoxBackground; - nscolor sMozFieldText; - nscolor sMozFieldBackground; diff --git a/mozilla-1108834.patch b/mozilla-1108834.patch deleted file mode 100644 index 87edc57..0000000 --- a/mozilla-1108834.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up firefox-36.0/mozilla-release/js/src/jit/none/Lowering-none.h.old firefox-36.0/mozilla-release/js/src/jit/none/Lowering-none.h ---- firefox-36.0/mozilla-release/js/src/jit/none/Lowering-none.h.old 2015-02-20 03:01:48.000000000 +0100 -+++ firefox-36.0/mozilla-release/js/src/jit/none/Lowering-none.h 2015-03-06 12:00:43.486675228 +0100 -@@ -89,6 +89,7 @@ class LIRGeneratorNone : public LIRGener - bool visitSimdTernaryBitwise(MSimdTernaryBitwise *ins) { MOZ_CRASH(); } - bool visitSimdSplatX4(MSimdSplatX4 *ins) { MOZ_CRASH(); } - bool visitSimdValueX4(MSimdValueX4 *lir) { MOZ_CRASH(); } -+ bool visitSubstr(MSubstr *) { MOZ_CRASH(); } - }; - - typedef LIRGeneratorNone LIRGeneratorSpecific; diff --git a/mozilla-1110211.patch b/mozilla-1110211.patch deleted file mode 100644 index 0828055..0000000 --- a/mozilla-1110211.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff -up firefox-35.0/mozilla-release/accessible/atk/Platform.cpp.1110211 firefox-35.0/mozilla-release/accessible/atk/Platform.cpp ---- firefox-35.0/mozilla-release/accessible/atk/Platform.cpp.1110211 2015-01-06 06:11:41.000000000 +0100 -+++ firefox-35.0/mozilla-release/accessible/atk/Platform.cpp 2015-01-06 12:24:02.508105586 +0100 -@@ -18,6 +18,9 @@ - #include - #endif - #include -+#if (MOZ_WIDGET_GTK == 3) -+#include -+#endif - - using namespace mozilla; - using namespace mozilla::a11y; -@@ -43,6 +46,7 @@ static gulong sToplevel_hide_hook = 0; - - GType g_atk_hyperlink_impl_type = G_TYPE_INVALID; - -+#if (MOZ_WIDGET_GTK == 2) - struct GnomeAccessibilityModule - { - const char *libName; -@@ -119,6 +123,7 @@ LoadGtkModule(GnomeAccessibilityModule& - } - return NS_OK; - } -+#endif // (MOZ_WIDGET_GTK == 2) - - void - a11y::PlatformInit() -@@ -158,20 +163,26 @@ a11y::PlatformInit() - } - } - -+#if (MOZ_WIDGET_GTK == 2) - // Load and initialize gail library. - nsresult rv = LoadGtkModule(sGail); - if (NS_SUCCEEDED(rv)) - (*sGail.init)(); -+#endif - - // Initialize the MAI Utility class, it will overwrite gail_util. - g_type_class_unref(g_type_class_ref(mai_util_get_type())); - - // Init atk-bridge now - PR_SetEnv("NO_AT_BRIDGE=0"); -+#if (MOZ_WIDGET_GTK == 2) - rv = LoadGtkModule(sAtkBridge); - if (NS_SUCCEEDED(rv)) { - (*sAtkBridge.init)(); - } -+#else -+ atk_bridge_adaptor_init(nullptr, nullptr); -+#endif - - if (!sToplevel_event_hook_added) { - sToplevel_event_hook_added = true; -@@ -199,6 +210,7 @@ a11y::PlatformShutdown() - sToplevel_hide_hook); - } - -+#if (MOZ_WIDGET_GTK == 2) - if (sAtkBridge.lib) { - // Do not shutdown/unload atk-bridge, - // an exit function registered will take care of it -@@ -220,6 +232,7 @@ a11y::PlatformShutdown() - sGail.init = nullptr; - sGail.shutdown = nullptr; - } -+#endif - // if (sATKLib) { - // PR_UnloadLibrary(sATKLib); - // sATKLib = nullptr; -diff -up firefox-35.0/mozilla-release/config/system-headers.1110211 firefox-35.0/mozilla-release/config/system-headers ---- firefox-35.0/mozilla-release/config/system-headers.1110211 2015-01-06 06:11:48.000000000 +0100 -+++ firefox-35.0/mozilla-release/config/system-headers 2015-01-06 12:24:02.508105586 +0100 -@@ -189,6 +189,7 @@ asm/signal.h - ASRegistry.h - assert.h - atk/atk.h -+atk-bridge.h - atlcom.h - atlconv.h - atlctl.cpp -diff -up firefox-35.0/mozilla-release/configure.in.1110211 firefox-35.0/mozilla-release/configure.in ---- firefox-35.0/mozilla-release/configure.in.1110211 2015-01-06 12:24:02.509105590 +0100 -+++ firefox-35.0/mozilla-release/configure.in 2015-01-06 12:24:49.419274706 +0100 -@@ -4364,7 +4364,7 @@ fi - - if test "$COMPILE_ENVIRONMENT"; then - if test "$MOZ_ENABLE_GTK3"; then -- PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 $GDK_PACKAGES) -+ PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 atk-bridge-2.0 $GDK_PACKAGES) - MOZ_GTK3_CFLAGS="-I${_topsrcdir}/widget/gtk/compat-gtk3 $MOZ_GTK3_CFLAGS" - dnl Contrary to MOZ_GTK2_LIBS, MOZ_GTK3_LIBS needs to be literally added to TK_LIBS instead - dnl of a make reference because of how TK_LIBS is mangled in toolkit/library/moz.build diff --git a/sources b/sources index 71e210b..d85fd4c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -da5d71fa9ce3c57efbc9db247861823c firefox-36.0.4.source.tar.bz2 -81d175210e6f6ddbf62a46c7383ed823 firefox-langpacks-36.0.4-20150321.tar.xz +1da9fa09bda70c1d77607c38427f143a firefox-langpacks-37.0-20150327.tar.xz +ccdec2d8f362a3782fe74e0ca7f79724 firefox-37.0.source.tar.bz2