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-langpacks-36.0.3-20150320.tar.xz
|
||||||
/firefox-36.0.4.source.tar.bz2
|
/firefox-36.0.4.source.tar.bz2
|
||||||
/firefox-langpacks-36.0.4-20150321.tar.xz
|
/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
|
Summary: Mozilla Firefox Web browser
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 36.0.4
|
Version: 37.0
|
||||||
Release: 2%{?pre_tag}%{?dist}
|
Release: 1%{?pre_tag}%{?dist}
|
||||||
URL: http://www.mozilla.org/projects/firefox/
|
URL: http://www.mozilla.org/projects/firefox/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
Group: Applications/Internet
|
Group: Applications/Internet
|
||||||
Source0: ftp://ftp.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.bz2
|
Source0: ftp://ftp.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.bz2
|
||||||
%if %{build_langpacks}
|
%if %{build_langpacks}
|
||||||
Source1: firefox-langpacks-%{version}%{?pre_version}-20150321.tar.xz
|
Source1: firefox-langpacks-%{version}%{?pre_version}-20150327.tar.xz
|
||||||
%endif
|
%endif
|
||||||
Source10: firefox-mozconfig
|
Source10: firefox-mozconfig
|
||||||
Source11: firefox-mozconfig-branded
|
Source11: firefox-mozconfig-branded
|
||||||
@ -133,7 +133,6 @@ Patch18: xulrunner-24.0-jemalloc-ppc.patch
|
|||||||
Patch19: xulrunner-24.0-s390-inlines.patch
|
Patch19: xulrunner-24.0-s390-inlines.patch
|
||||||
Patch20: firefox-build-prbool.patch
|
Patch20: firefox-build-prbool.patch
|
||||||
Patch21: firefox-ppc64le.patch
|
Patch21: firefox-ppc64le.patch
|
||||||
Patch22: mozilla-1108834.patch
|
|
||||||
Patch23: mozilla-1005535.patch
|
Patch23: mozilla-1005535.patch
|
||||||
|
|
||||||
# Fedora specific patches
|
# Fedora specific patches
|
||||||
@ -148,13 +147,8 @@ Patch221: firefox-fedora-ua.patch
|
|||||||
Patch301: mozilla-1129859-dictfix2.patch
|
Patch301: mozilla-1129859-dictfix2.patch
|
||||||
|
|
||||||
# Gtk3 upstream patches
|
# 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
|
Patch410: mozilla-1073117-button-focus.patch
|
||||||
Patch411: mozilla-1073117-focus-sizes.patch
|
Patch411: mozilla-1073117-focus.patch
|
||||||
Patch412: mozilla-1073117-no-gap-tab.patch
|
Patch412: mozilla-1073117-no-gap-tab.patch
|
||||||
Patch413: mozilla-975919-gtk3-hidpi.patch
|
Patch413: mozilla-975919-gtk3-hidpi.patch
|
||||||
Patch414: mozilla-1143686.patch
|
Patch414: mozilla-1143686.patch
|
||||||
@ -285,7 +279,6 @@ cd %{tarballdir}
|
|||||||
%patch19 -p2 -b .s390-inlines
|
%patch19 -p2 -b .s390-inlines
|
||||||
%patch20 -p1 -b .prbool
|
%patch20 -p1 -b .prbool
|
||||||
%patch21 -p2 -b .ppc64le
|
%patch21 -p2 -b .ppc64le
|
||||||
%patch22 -p2 -b .1108834
|
|
||||||
%patch23 -p1 -b .1005535
|
%patch23 -p1 -b .1005535
|
||||||
|
|
||||||
%patch3 -p2 -b .arm
|
%patch3 -p2 -b .arm
|
||||||
@ -303,13 +296,8 @@ cd %{tarballdir}
|
|||||||
%patch301 -p1 -b .dict-fix
|
%patch301 -p1 -b .dict-fix
|
||||||
|
|
||||||
%if %{toolkit_gtk3}
|
%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
|
%patch410 -p1 -b .1073117-button-focus
|
||||||
%patch411 -p1 -b .1073117-focus-sizes
|
%patch411 -p1 -b .1073117-focus
|
||||||
%patch412 -p1 -b .1073117-no-gap-tab
|
%patch412 -p1 -b .1073117-no-gap-tab
|
||||||
%patch413 -p2 -b .975919-gtk3-hidpi
|
%patch413 -p2 -b .975919-gtk3-hidpi
|
||||||
%patch414 -p1 -b .1143686
|
%patch414 -p1 -b .1143686
|
||||||
@ -808,6 +796,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%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
|
* Thu Mar 26 2015 Richard Hughes <rhughes@redhat.com> - 36.0.4-2
|
||||||
- Add an AppData file for the software center
|
- 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
|
# HG changeset patch
|
||||||
# Parent 900ea94508c5b6e99d40ec7e5d25e0d4ca6cfef8
|
|
||||||
# User Martin Stransky <stransky@redhat.com>
|
# User Martin Stransky <stransky@redhat.com>
|
||||||
Bug 1073117 - Theme issues with GTK 3.14 - removed obsoleted focus style properties
|
# Parent 0850966fdb761c309032575cbc6748a27d794983
|
||||||
and replaced by border and padding. r=?karlt
|
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
|
diff --git a/widget/gtk/gtk2drawing.c b/widget/gtk/gtk2drawing.c
|
||||||
--- a/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
|
diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
||||||
--- a/widget/gtk/gtk3drawing.c
|
--- a/widget/gtk/gtk3drawing.c
|
||||||
+++ b/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);
|
NULL);
|
||||||
|
|
||||||
return MOZ_GTK_SUCCESS;
|
return MOZ_GTK_SUCCESS;
|
||||||
@ -56,9 +59,10 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
|
|
||||||
gint
|
gint
|
||||||
moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width)
|
moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width)
|
||||||
{
|
-{
|
||||||
- gboolean interior_focus;
|
- gboolean interior_focus;
|
||||||
gint focus_width = 0;
|
- gint focus_width = 0;
|
||||||
|
+{
|
||||||
+ GtkBorder border;
|
+ GtkBorder border;
|
||||||
+ GtkBorder padding;
|
+ GtkBorder padding;
|
||||||
+ GtkStyleContext *style;
|
+ GtkStyleContext *style;
|
||||||
@ -92,12 +96,11 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
- NULL);
|
- NULL);
|
||||||
-
|
-
|
||||||
+ style = gtk_widget_get_style_context(gEntryWidget);
|
+ 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_border(style, 0, &border);
|
||||||
+ gtk_style_context_get_padding(style, 0, &padding);
|
+ gtk_style_context_get_padding(style, 0, &padding);
|
||||||
+ *focus_h_width = border.left + padding.left + focus_width;
|
+ *focus_h_width = border.left + padding.left;
|
||||||
+ *focus_v_width = border.top + padding.top + focus_width;
|
+ *focus_v_width = border.top + padding.top;
|
||||||
return MOZ_GTK_SUCCESS;
|
return MOZ_GTK_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +109,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
{
|
{
|
||||||
ensure_menu_item_widget();
|
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);
|
gtk_widget_style_get(gHPanedWidget, "handle_size", size, NULL);
|
||||||
} else {
|
} else {
|
||||||
ensure_vpaned_widget();
|
ensure_vpaned_widget();
|
||||||
@ -141,7 +144,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
{
|
{
|
||||||
GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
|
GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
|
||||||
GtkStyleContext* style = gtk_widget_get_style_context(widget);
|
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
|
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);
|
style = gtk_widget_get_style_context(button);
|
||||||
|
|
||||||
+ gtk_style_context_get_border(style, 0, &border);
|
|
||||||
+
|
|
||||||
/* This mirrors gtkbutton's child positioning */
|
/* This mirrors gtkbutton's child positioning */
|
||||||
- moz_gtk_button_get_inner_border(button, &inner_border);
|
- moz_gtk_button_get_inner_border(button, &inner_border);
|
||||||
- moz_gtk_widget_get_focus(button, &interior_focus,
|
- 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);
|
- gtk_style_context_get_border(style, 0, &border);
|
||||||
-
|
-
|
||||||
- inner_rect->x = rect->x + border.left + focus_width + focus_pad;
|
- inner_rect->x = rect->x + border.left + focus_width + focus_pad;
|
||||||
+ if (!ignore_focus)
|
- inner_rect->x += direction == GTK_TEXT_DIR_LTR ?
|
||||||
+ gtk_style_context_get_padding(style, 0, &padding);
|
|
||||||
+
|
|
||||||
+ inner_rect->x = rect->x + border.left;
|
|
||||||
inner_rect->x += direction == GTK_TEXT_DIR_LTR ?
|
|
||||||
- inner_border.left : inner_border.right;
|
- inner_border.left : inner_border.right;
|
||||||
- inner_rect->y = rect->y + inner_border.top + border.top +
|
- inner_rect->y = rect->y + inner_border.top + border.top +
|
||||||
- focus_width + focus_pad;
|
- 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_border.right - (border.left + focus_pad + focus_width) * 2);
|
||||||
- inner_rect->height = MAX(1, rect->height - inner_border.top -
|
- inner_rect->height = MAX(1, rect->height - inner_border.top -
|
||||||
- inner_border.bottom - (border.top + focus_pad + focus_width) * 2);
|
- 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->y = rect->y + padding.top + border.top;
|
||||||
+ inner_rect->width = MAX(1, rect->width - padding.left -
|
+ inner_rect->width = MAX(1, rect->width - padding.left -
|
||||||
+ padding.right - border.left * 2);
|
+ padding.right - border.left * 2);
|
||||||
@ -198,7 +199,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
static gint
|
static gint
|
||||||
calculate_arrow_rect(GtkWidget* arrow, GdkRectangle* rect,
|
calculate_arrow_rect(GtkWidget* arrow, GdkRectangle* rect,
|
||||||
GdkRectangle* arrow_rect, GtkTextDirection direction)
|
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.
|
// See gtk_entry_draw() for reference.
|
||||||
static gint
|
static gint
|
||||||
moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect,
|
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->width += 2 * h;
|
||||||
rect->y -= v;
|
rect->y -= v;
|
||||||
rect->height += 2 * 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.
|
/* Now paint the shadow and focus border.
|
||||||
* We do like in gtk_entry_draw_frame, we first draw the shadow, a tad
|
* 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. */
|
* 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
|
static gint
|
||||||
moz_gtk_treeview_paint(cairo_t *cr, GdkRectangle* rect,
|
moz_gtk_treeview_paint(cairo_t *cr, GdkRectangle* rect,
|
||||||
GtkWidgetState* state,
|
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
|
static gint
|
||||||
moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect,
|
moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect,
|
||||||
GtkWidgetState* state,
|
GtkWidgetState* state,
|
||||||
@ -326,7 +327,7 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
ensure_radiobutton_widget();
|
ensure_radiobutton_widget();
|
||||||
widget = gRadiobuttonWidget;
|
widget = gRadiobuttonWidget;
|
||||||
} else {
|
} 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);
|
gtk_style_context_save(style);
|
||||||
if (isradio) {
|
if (isradio) {
|
||||||
gtk_style_context_add_class(style, GTK_STYLE_CLASS_RADIO);
|
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;
|
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;
|
GtkWidget* w;
|
||||||
GtkStyleContext* style;
|
GtkStyleContext* style;
|
||||||
*left = *top = *right = *bottom = 0;
|
*left = *top = *right = *bottom = 0;
|
||||||
@ -355,18 +357,54 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
switch (widget) {
|
switch (widget) {
|
||||||
case MOZ_GTK_BUTTON:
|
case MOZ_GTK_BUTTON:
|
||||||
{
|
{
|
||||||
GtkBorder inner_border;
|
- GtkBorder inner_border;
|
||||||
- gboolean interior_focus;
|
- gboolean interior_focus;
|
||||||
- gint focus_width, focus_pad;
|
- gint focus_width, focus_pad;
|
||||||
|
-
|
||||||
ensure_button_widget();
|
ensure_button_widget();
|
||||||
|
+ style = gtk_widget_get_style_context(gButtonWidget);
|
||||||
|
+
|
||||||
*left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(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
|
/* 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:
|
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;
|
- GtkBorder inner_border;
|
||||||
- gboolean interior_focus;
|
- gboolean interior_focus;
|
||||||
- gint focus_width, focus_pad;
|
- gint focus_width, focus_pad;
|
||||||
+ gint focus_width;
|
|
||||||
+ GtkStyleContext *style;
|
+ GtkStyleContext *style;
|
||||||
|
|
||||||
ensure_tree_header_cell_widget();
|
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),
|
- moz_gtk_add_style_border(gtk_widget_get_style_context(gTreeHeaderCellWidget),
|
||||||
- left, top, right, bottom);
|
- left, top, right, bottom);
|
||||||
+ style = gtk_widget_get_style_context(gTreeHeaderCellWidget);
|
+ 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_border(style, left, top, right, bottom);
|
||||||
+ moz_gtk_add_style_padding(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;
|
break;
|
||||||
case MOZ_GTK_DROPDOWN_ENTRY:
|
case MOZ_GTK_DROPDOWN_ENTRY:
|
||||||
ensure_combo_box_entry_widgets();
|
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();
|
ensure_combo_box_entry_widgets();
|
||||||
w = gComboBoxEntryButtonWidget;
|
w = gComboBoxEntryButtonWidget;
|
||||||
break;
|
break;
|
||||||
@ -424,70 +455,76 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
- gboolean ignored_interior_focus, wide_separators;
|
- gboolean ignored_interior_focus, wide_separators;
|
||||||
- gint focus_width, focus_pad, separator_width;
|
- gint focus_width, focus_pad, separator_width;
|
||||||
+ gboolean wide_separators;
|
+ gboolean wide_separators;
|
||||||
+ gint focus_width, separator_width;
|
+ gint separator_width;
|
||||||
GtkRequisition arrow_req;
|
GtkRequisition arrow_req;
|
||||||
GtkBorder border;
|
GtkBorder border;
|
||||||
|
|
||||||
ensure_combo_box_widgets();
|
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) {
|
if (!inhtml) {
|
||||||
- moz_gtk_widget_get_focus(gComboBoxButtonWidget,
|
- moz_gtk_widget_get_focus(gComboBoxButtonWidget,
|
||||||
- &ignored_interior_focus,
|
- &ignored_interior_focus,
|
||||||
- &focus_width, &focus_pad);
|
- &focus_width, &focus_pad);
|
||||||
- *left += focus_width + focus_pad;
|
- *left += focus_width + focus_pad;
|
||||||
+ gint focus_width;
|
+ moz_gtk_add_style_padding(style, left, top, right, bottom);
|
||||||
+ 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
style = gtk_widget_get_style_context(gComboBoxButtonWidget);
|
- style = gtk_widget_get_style_context(gComboBoxButtonWidget);
|
||||||
gtk_style_context_get_border(style, 0, &border);
|
- 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;
|
/* If there is no separator, don't try to count its width. */
|
||||||
*left += border.left;
|
separator_width = 0;
|
||||||
|
if (gComboBoxSeparatorWidget) {
|
||||||
@@ -2818,67 +2744,41 @@ moz_gtk_get_widget_border(GtkThemeWidget
|
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;
|
break;
|
||||||
case MOZ_GTK_FRAME:
|
case MOZ_GTK_FRAME:
|
||||||
ensure_frame_widget();
|
ensure_frame_widget();
|
||||||
w = gFrameWidget;
|
w = gFrameWidget;
|
||||||
break;
|
break;
|
||||||
case MOZ_GTK_CHECKBUTTON_LABEL:
|
- case MOZ_GTK_CHECKBUTTON_LABEL:
|
||||||
case MOZ_GTK_RADIOBUTTON_LABEL:
|
- case MOZ_GTK_RADIOBUTTON_LABEL:
|
||||||
{
|
- {
|
||||||
- gboolean interior_focus;
|
- gboolean interior_focus;
|
||||||
- gint focus_width, focus_pad;
|
- gint focus_width, focus_pad;
|
||||||
-
|
-
|
||||||
- /* If the focus is interior, then the label has a border of
|
- /* If the focus is interior, then the label has a border of
|
||||||
- (focus_width + focus_pad). */
|
- (focus_width + focus_pad). */
|
||||||
if (widget == MOZ_GTK_CHECKBUTTON_LABEL) {
|
- if (widget == MOZ_GTK_CHECKBUTTON_LABEL) {
|
||||||
ensure_checkbox_widget();
|
- ensure_checkbox_widget();
|
||||||
- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus,
|
- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus,
|
||||||
- &focus_width, &focus_pad);
|
- &focus_width, &focus_pad);
|
||||||
+ w = gCheckboxWidget;
|
- }
|
||||||
}
|
- else {
|
||||||
else {
|
- ensure_radiobutton_widget();
|
||||||
ensure_radiobutton_widget();
|
|
||||||
- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus,
|
- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus,
|
||||||
- &focus_width, &focus_pad);
|
- &focus_width, &focus_pad);
|
||||||
+ w = gRadiobuttonWidget;
|
- }
|
||||||
}
|
|
||||||
-
|
-
|
||||||
- if (interior_focus)
|
- if (interior_focus)
|
||||||
- *left = *top = *right = *bottom = (focus_width + focus_pad);
|
- *left = *top = *right = *bottom = (focus_width + focus_pad);
|
||||||
-
|
-
|
||||||
+ moz_gtk_add_style_border(gtk_widget_get_style_context(w),
|
- return MOZ_GTK_SUCCESS;
|
||||||
+ left, top, right, bottom);
|
- }
|
||||||
return MOZ_GTK_SUCCESS;
|
-
|
||||||
}
|
|
||||||
|
|
||||||
case MOZ_GTK_CHECKBUTTON_CONTAINER:
|
case MOZ_GTK_CHECKBUTTON_CONTAINER:
|
||||||
case MOZ_GTK_RADIOBUTTON_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);
|
- &focus_width, &focus_pad);
|
||||||
w = gRadiobuttonWidget;
|
w = gRadiobuttonWidget;
|
||||||
}
|
}
|
||||||
|
+ style = gtk_widget_get_style_context(w);
|
||||||
|
|
||||||
*left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(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);
|
- *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;
|
return MOZ_GTK_SUCCESS;
|
||||||
}
|
}
|
||||||
case MOZ_GTK_MENUPOPUP:
|
case MOZ_GTK_MENUPOPUP:
|
||||||
@ -525,6 +567,25 @@ diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c
|
|||||||
break;
|
break;
|
||||||
case MOZ_GTK_MENUITEM:
|
case MOZ_GTK_MENUITEM:
|
||||||
case MOZ_GTK_CHECKMENUITEM:
|
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
|
diff --git a/widget/gtk/gtkdrawing.h b/widget/gtk/gtkdrawing.h
|
||||||
--- a/widget/gtk/gtkdrawing.h
|
--- a/widget/gtk/gtkdrawing.h
|
||||||
+++ b/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
|
gint
|
||||||
moz_gtk_menuitem_get_horizontal_padding(gint* horizontal_padding);
|
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
|
1da9fa09bda70c1d77607c38427f143a firefox-langpacks-37.0-20150327.tar.xz
|
||||||
81d175210e6f6ddbf62a46c7383ed823 firefox-langpacks-36.0.4-20150321.tar.xz
|
ccdec2d8f362a3782fe74e0ca7f79724 firefox-37.0.source.tar.bz2
|
||||||
|
Loading…
Reference in New Issue
Block a user