Update to 37.0 Build 2
This commit is contained in:
parent
fbebd2da69
commit
3342822142
2
.gitignore
vendored
2
.gitignore
vendored
@ -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
|
||||
|
25
firefox.spec
25
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
|
||||
|
||||
|
@ -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) {
|
@ -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();
|
||||
};
|
||||
|
@ -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.
|
@ -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);
|
||||
- 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)
|
@ -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;
|
@ -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;
|
@ -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
|
4
sources
4
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
|
||||
|
Loading…
Reference in New Issue
Block a user