summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Stransky <stransky@anakreon.cz>2015-03-27 13:14:16 +0100
committerMartin Stransky <stransky@anakreon.cz>2015-03-27 13:14:16 +0100
commit3342822142e9732038265a80a4dea69646f5649b (patch)
tree2af99152365b6b67ed64549f8525229eda8b3a7a
parentAdd an AppData file for the software center (diff)
downloadlibrewolf-fedora-ff-3342822142e9732038265a80a4dea69646f5649b.tar.gz
librewolf-fedora-ff-3342822142e9732038265a80a4dea69646f5649b.tar.bz2
librewolf-fedora-ff-3342822142e9732038265a80a4dea69646f5649b.zip
Update to 37.0 Build 2
-rw-r--r--.gitignore2
-rw-r--r--firefox.spec25
-rw-r--r--mozilla-1073117-check.patch125
-rw-r--r--mozilla-1073117-color.patch278
-rw-r--r--mozilla-1073117-entry-button-size.patch65
-rw-r--r--mozilla-1073117-focus.patch (renamed from mozilla-1073117-focus-sizes.patch)222
-rw-r--r--mozilla-1101582.patch122
-rw-r--r--mozilla-1108834.patch11
-rw-r--r--mozilla-1110211.patch95
-rw-r--r--sources4
10 files changed, 143 insertions, 806 deletions
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 <stransky@redhat.com> - 37.0-1
+- Update to 37.0 Build 2
+
* Thu Mar 26 2015 Richard Hughes <rhughes@redhat.com> - 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 <stransky@redhat.com>
-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 <stransky@redhat.com>
-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<GtkStateFlags>(GTK_STATE_FLAG_FOCUSED|GTK_STATE_FLAG_SELECTED),
-+ &color);
-+ sTextSelectedBackground = GDK_RGBA_TO_NS_RGBA(color);
-+ gtk_style_context_get_color(style,
-+ static_cast<GtkStateFlags>(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 <stransky@redhat.com>
-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
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 <stransky@redhat.com>
-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);
-
- *top = *left + border.top;
- *left += border.left;
+- 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);
-@@ -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 <stransky@redhat.com>
-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 <dbus/dbus.h>
- #endif
- #include <gtk/gtk.h>
-+#if (MOZ_WIDGET_GTK == 3)
-+#include <atk-bridge.h>
-+#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
bgstack15