Skip to content
Snippets Groups Projects
Commit 77c0ac96 authored by Jan Alexander Steffens (heftig)'s avatar Jan Alexander Steffens (heftig)
Browse files

Update GTK3.20 patch

parent 8a2aa608
No related branches found
Tags 43.0-2
No related merge requests found
...@@ -33,7 +33,7 @@ sha256sums=('51936fcf86c5f84e7fdd377d07658a02a1c99d2ebdc3c8aae01d70f947331d12' ...@@ -33,7 +33,7 @@ sha256sums=('51936fcf86c5f84e7fdd377d07658a02a1c99d2ebdc3c8aae01d70f947331d12'
'd86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd' 'd86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd'
'4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4' '4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4'
'a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9' 'a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9'
'f1aaf36c2f059e027fc7384c0943ccd07c6e3d58721ec7a96d5d913a106717cc' 'd5e1b9a702dc693184494899fc4cd57ac206e1fd5415a8e5520b8ff3b822e734'
'05574c7d0f259da161bcd0e2e8bc9a19401e620ff29439da935d349eebb60efa' '05574c7d0f259da161bcd0e2e8bc9a19401e620ff29439da935d349eebb60efa'
'6e7cba25c52b246da183b8309e7b56208bd991d1a7adb40063c5702a6f3722ea' '6e7cba25c52b246da183b8309e7b56208bd991d1a7adb40063c5702a6f3722ea'
'e4ebdd14096d177d264a7993dbd5df46463605ff45f783732c26d30b9caa53a7') 'e4ebdd14096d177d264a7993dbd5df46463605ff45f783732c26d30b9caa53a7')
......
diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/gtk/gtk3drawing.c diff -up firefox-47.0/widget/gtk/gtk3drawing.c.gtk3-20 firefox-47.0/widget/gtk/gtk3drawing.c
--- firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 2016-05-03 07:31:12.000000000 +0200 --- firefox-47.0/widget/gtk/gtk3drawing.c.gtk3-20 2016-06-01 06:11:44.000000000 +0200
+++ firefox-46.0.1/widget/gtk/gtk3drawing.c 2016-05-20 15:05:08.750151522 +0200 +++ firefox-47.0/widget/gtk/gtk3drawing.c 2016-06-23 10:21:37.072462099 +0200
@@ -17,34 +17,86 @@ @@ -17,34 +17,85 @@
#include <math.h> #include <math.h>
...@@ -22,7 +22,6 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -22,7 +22,6 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
+ +
+ struct { + struct {
+ GtkStyleContext* style; + GtkStyleContext* style;
+ GtkStyleContext* styleBackground;
+ } tooltip; + } tooltip;
+ +
+ struct { + struct {
...@@ -98,7 +97,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -98,7 +97,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
static GtkWidget* gMenuBarWidget; static GtkWidget* gMenuBarWidget;
static GtkWidget* gMenuBarItemWidget; static GtkWidget* gMenuBarItemWidget;
static GtkWidget* gMenuPopupWidget; static GtkWidget* gMenuPopupWidget;
@@ -78,6 +130,37 @@ static gboolean is_initialized; @@ -78,6 +129,37 @@ static gboolean is_initialized;
#define GTK_STATE_FLAG_CHECKED (1 << 11) #define GTK_STATE_FLAG_CHECKED (1 << 11)
#endif #endif
...@@ -136,7 +135,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -136,7 +135,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
static GtkStateFlags static GtkStateFlags
GetStateFlagsFromGtkWidgetState(GtkWidgetState* state) GetStateFlagsFromGtkWidgetState(GtkWidgetState* state)
{ {
@@ -97,6 +180,41 @@ GetStateFlagsFromGtkWidgetState(GtkWidge @@ -97,6 +179,41 @@ GetStateFlagsFromGtkWidgetState(GtkWidge
return stateFlags; return stateFlags;
} }
...@@ -178,7 +177,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -178,7 +177,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
/* Because we have such an unconventional way of drawing widgets, signal to the GTK theme engine /* Because we have such an unconventional way of drawing widgets, signal to the GTK theme engine
that they are drawing for Mozilla instead of a conventional GTK app so they can do any specific that they are drawing for Mozilla instead of a conventional GTK app so they can do any specific
things they may want to do. */ things they may want to do. */
@@ -141,9 +259,16 @@ setup_widget_prototype(GtkWidget* widget @@ -141,9 +258,16 @@ setup_widget_prototype(GtkWidget* widget
static gint static gint
ensure_button_widget() ensure_button_widget()
{ {
...@@ -198,7 +197,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -198,7 +197,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -195,9 +320,21 @@ ensure_button_arrow_widget() @@ -195,9 +319,21 @@ ensure_button_arrow_widget()
static gint static gint
ensure_checkbox_widget() ensure_checkbox_widget()
{ {
...@@ -223,7 +222,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -223,7 +222,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -205,9 +342,21 @@ ensure_checkbox_widget() @@ -205,9 +341,21 @@ ensure_checkbox_widget()
static gint static gint
ensure_radiobutton_widget() ensure_radiobutton_widget()
{ {
...@@ -248,7 +247,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -248,7 +247,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -215,25 +364,62 @@ ensure_radiobutton_widget() @@ -215,25 +363,62 @@ ensure_radiobutton_widget()
static gint static gint
ensure_scrollbar_widget() ensure_scrollbar_widget()
{ {
...@@ -324,7 +323,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -324,7 +323,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
static gint static gint
@@ -253,9 +439,19 @@ ensure_scale_widget() @@ -253,9 +438,19 @@ ensure_scale_widget()
static gint static gint
ensure_entry_widget() ensure_entry_widget()
{ {
...@@ -347,7 +346,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -347,7 +346,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -387,9 +583,9 @@ moz_gtk_get_combo_box_entry_inner_widget @@ -387,9 +582,9 @@ moz_gtk_get_combo_box_entry_inner_widget
g_object_add_weak_pointer(G_OBJECT(widget), g_object_add_weak_pointer(G_OBJECT(widget),
(gpointer) &gComboBoxEntryButtonWidget); (gpointer) &gComboBoxEntryButtonWidget);
} else if (GTK_IS_ENTRY(widget)) { } else if (GTK_IS_ENTRY(widget)) {
...@@ -359,7 +358,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -359,7 +358,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} else } else
return; return;
gtk_widget_realize(widget); gtk_widget_realize(widget);
@@ -411,7 +607,7 @@ ensure_combo_box_entry_widgets() @@ -411,7 +606,7 @@ ensure_combo_box_entry_widgets()
{ {
GtkWidget* buttonChild; GtkWidget* buttonChild;
...@@ -368,7 +367,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -368,7 +367,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gComboBoxEntryButtonWidget && gComboBoxEntryButtonWidget &&
gComboBoxEntryArrowWidget) gComboBoxEntryArrowWidget)
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
@@ -427,9 +623,9 @@ ensure_combo_box_entry_widgets() @@ -427,9 +622,9 @@ ensure_combo_box_entry_widgets()
moz_gtk_get_combo_box_entry_inner_widgets, moz_gtk_get_combo_box_entry_inner_widgets,
NULL); NULL);
...@@ -380,7 +379,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -380,7 +379,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
if (gComboBoxEntryButtonWidget) { if (gComboBoxEntryButtonWidget) {
@@ -507,12 +703,18 @@ ensure_toolbar_separator_widget() @@ -507,12 +702,16 @@ ensure_toolbar_separator_widget()
static gint static gint
ensure_tooltip_widget() ensure_tooltip_widget()
{ {
...@@ -391,8 +390,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -391,8 +390,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
- gtk_widget_realize(gTooltipWidget); - gtk_widget_realize(gTooltipWidget);
- moz_gtk_set_widget_name(gTooltipWidget); - moz_gtk_set_widget_name(gTooltipWidget);
+ if (!gTooltip.widget) { + if (!gTooltip.widget) {
+ GtkCssNode path[] = { + GtkCssNode path[] = {
+ { GTK_TYPE_TOOLTIP, "tooltip", NULL, NULL},
+ { GTK_TYPE_TOOLTIP, "tooltip", "background", NULL}, + { GTK_TYPE_TOOLTIP, "tooltip", "background", NULL},
+ }; + };
+ +
...@@ -401,11 +399,10 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -401,11 +399,10 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
+ moz_gtk_set_widget_name(gTooltip.widget); + moz_gtk_set_widget_name(gTooltip.widget);
+ +
+ gTooltip.tooltip.style = moz_gtk_style_create(&path[0], NULL); + gTooltip.tooltip.style = moz_gtk_style_create(&path[0], NULL);
+ gTooltip.tooltip.styleBackground = moz_gtk_style_create(&path[1], NULL);
} }
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -530,9 +732,21 @@ ensure_tab_widget() @@ -530,9 +729,21 @@ ensure_tab_widget()
static gint static gint
ensure_progress_widget() ensure_progress_widget()
{ {
...@@ -430,7 +427,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -430,7 +427,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -638,6 +852,11 @@ static gint @@ -638,6 +849,11 @@ static gint
ensure_check_menu_item_widget() ensure_check_menu_item_widget()
{ {
if (!gCheckMenuItemWidget) { if (!gCheckMenuItemWidget) {
...@@ -442,7 +439,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -442,7 +439,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
ensure_menu_popup_widget(); ensure_menu_popup_widget();
gCheckMenuItemWidget = gtk_check_menu_item_new_with_label("M"); gCheckMenuItemWidget = gtk_check_menu_item_new_with_label("M");
gtk_menu_shell_append(GTK_MENU_SHELL(gMenuPopupWidget), gtk_menu_shell_append(GTK_MENU_SHELL(gMenuPopupWidget),
@@ -752,7 +971,7 @@ moz_gtk_checkbox_get_metrics(gint* indic @@ -752,7 +968,7 @@ moz_gtk_checkbox_get_metrics(gint* indic
{ {
ensure_checkbox_widget(); ensure_checkbox_widget();
...@@ -451,7 +448,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -451,7 +448,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
"indicator_size", indicator_size, "indicator_size", indicator_size,
"indicator_spacing", indicator_spacing, "indicator_spacing", indicator_spacing,
NULL); NULL);
@@ -765,7 +984,7 @@ moz_gtk_radio_get_metrics(gint* indicato @@ -765,7 +981,7 @@ moz_gtk_radio_get_metrics(gint* indicato
{ {
ensure_radiobutton_widget(); ensure_radiobutton_widget();
...@@ -460,7 +457,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -460,7 +457,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
"indicator_size", indicator_size, "indicator_size", indicator_size,
"indicator_spacing", indicator_spacing, "indicator_spacing", indicator_spacing,
NULL); NULL);
@@ -778,13 +997,13 @@ moz_gtk_get_focus_outline_size(gint* foc @@ -778,13 +994,13 @@ moz_gtk_get_focus_outline_size(gint* foc
{ {
GtkBorder border; GtkBorder border;
GtkBorder padding; GtkBorder padding;
...@@ -478,7 +475,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -478,7 +475,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
*focus_h_width = border.left + padding.left; *focus_h_width = border.left + padding.left;
*focus_v_width = border.top + padding.top; *focus_v_width = border.top + padding.top;
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
@@ -821,7 +1040,7 @@ moz_gtk_button_get_default_overflow(gint @@ -821,7 +1037,7 @@ moz_gtk_button_get_default_overflow(gint
GtkBorder* default_outside_border; GtkBorder* default_outside_border;
ensure_button_widget(); ensure_button_widget();
...@@ -487,7 +484,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -487,7 +484,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
"default-outside-border", &default_outside_border, "default-outside-border", &default_outside_border,
NULL); NULL);
@@ -844,7 +1063,7 @@ moz_gtk_button_get_default_border(gint* @@ -844,7 +1060,7 @@ moz_gtk_button_get_default_border(gint*
GtkBorder* default_border; GtkBorder* default_border;
ensure_button_widget(); ensure_button_widget();
...@@ -496,7 +493,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -496,7 +493,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
"default-border", &default_border, "default-border", &default_border,
NULL); NULL);
@@ -935,7 +1154,7 @@ moz_gtk_button_paint(cairo_t *cr, GdkRec @@ -935,7 +1151,7 @@ moz_gtk_button_paint(cairo_t *cr, GdkRec
if (state->focused) { if (state->focused) {
GtkBorder border; GtkBorder border;
...@@ -505,7 +502,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -505,7 +502,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
x += border.left; x += border.left;
y += border.top; y += border.top;
width -= (border.left + border.right); width -= (border.left + border.right);
@@ -956,15 +1175,14 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec @@ -956,15 +1172,14 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec
gint indicator_size, indicator_spacing; gint indicator_size, indicator_spacing;
gint x, y, width, height; gint x, y, width, height;
gint focus_x, focus_y, focus_width, focus_height; gint focus_x, focus_y, focus_width, focus_height;
...@@ -524,7 +521,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -524,7 +521,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
// XXX we should assert rect->height >= indicator_size too // XXX we should assert rect->height >= indicator_size too
@@ -983,11 +1201,9 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec @@ -983,11 +1198,9 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec
focus_width = width + 2 * indicator_spacing; focus_width = width + 2 * indicator_spacing;
focus_height = height + 2 * indicator_spacing; focus_height = height + 2 * indicator_spacing;
...@@ -539,7 +536,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -539,7 +536,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
if (selected) if (selected)
state_flags |= checkbox_check_state; state_flags |= checkbox_check_state;
@@ -995,13 +1211,15 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec @@ -995,13 +1208,15 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec
if (inconsistent) if (inconsistent)
state_flags |= GTK_STATE_FLAG_INCONSISTENT; state_flags |= GTK_STATE_FLAG_INCONSISTENT;
...@@ -559,7 +556,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -559,7 +556,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
focus_width, focus_height); focus_width, focus_height);
} }
} }
@@ -1010,15 +1228,14 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec @@ -1010,15 +1225,14 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec
* 'indeterminate' type on checkboxes. In GTK, the shadow type * 'indeterminate' type on checkboxes. In GTK, the shadow type
* must also be changed for the state to be drawn. * must also be changed for the state to be drawn.
*/ */
...@@ -579,7 +576,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -579,7 +576,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -1035,8 +1252,8 @@ calculate_button_inner_rect(GtkWidget* b @@ -1035,8 +1249,8 @@ calculate_button_inner_rect(GtkWidget* b
style = gtk_widget_get_style_context(button); style = gtk_widget_get_style_context(button);
/* This mirrors gtkbutton's child positioning */ /* This mirrors gtkbutton's child positioning */
...@@ -590,7 +587,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -590,7 +587,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
inner_rect->x = rect->x + border.left + padding.left; 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;
@@ -1099,9 +1316,9 @@ moz_gtk_scrollbar_button_paint(cairo_t * @@ -1099,9 +1313,9 @@ moz_gtk_scrollbar_button_paint(cairo_t *
ensure_scrollbar_widget(); ensure_scrollbar_widget();
if (flags & MOZ_GTK_STEPPER_VERTICAL) if (flags & MOZ_GTK_STEPPER_VERTICAL)
...@@ -602,7 +599,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -602,7 +599,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gtk_widget_set_direction(scrollbar, direction); gtk_widget_set_direction(scrollbar, direction);
@@ -1181,25 +1398,22 @@ moz_gtk_scrollbar_trough_paint(GtkThemeW @@ -1181,25 +1395,22 @@ moz_gtk_scrollbar_trough_paint(GtkThemeW
GtkTextDirection direction) GtkTextDirection direction)
{ {
GtkStyleContext* style; GtkStyleContext* style;
...@@ -636,7 +633,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -636,7 +633,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gtk_render_background(style, cr, rect->x, rect->y, rect->width, rect->height); gtk_render_background(style, cr, rect->x, rect->y, rect->width, rect->height);
gtk_render_frame(style, cr, rect->x, rect->y, rect->width, rect->height); gtk_render_frame(style, cr, rect->x, rect->y, rect->width, rect->height);
@@ -1208,7 +1422,6 @@ moz_gtk_scrollbar_trough_paint(GtkThemeW @@ -1208,7 +1419,6 @@ moz_gtk_scrollbar_trough_paint(GtkThemeW
gtk_render_focus(style, cr, gtk_render_focus(style, cr,
rect->x, rect->y, rect->width, rect->height); rect->x, rect->y, rect->width, rect->height);
} }
...@@ -644,7 +641,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -644,7 +641,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -1220,24 +1433,20 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi @@ -1220,24 +1430,20 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi
{ {
GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
GtkStyleContext* style; GtkStyleContext* style;
...@@ -677,7 +674,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -677,7 +674,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gtk_style_context_get_margin (style, state_flags, &margin); gtk_style_context_get_margin (style, state_flags, &margin);
gtk_render_slider(style, cr, gtk_render_slider(style, cr,
@@ -1248,8 +1457,6 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi @@ -1248,8 +1454,6 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi
(widget == MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL) ? (widget == MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL) ?
GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL); GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL);
...@@ -686,7 +683,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -686,7 +683,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -1260,8 +1467,8 @@ moz_gtk_spin_paint(cairo_t *cr, GdkRecta @@ -1260,8 +1464,8 @@ moz_gtk_spin_paint(cairo_t *cr, GdkRecta
GtkStyleContext* style; GtkStyleContext* style;
ensure_spin_widget(); ensure_spin_widget();
...@@ -697,7 +694,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -697,7 +694,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gtk_style_context_save(style); gtk_style_context_save(style);
gtk_style_context_add_class(style, GTK_STYLE_CLASS_SPINBUTTON); gtk_style_context_add_class(style, GTK_STYLE_CLASS_SPINBUTTON);
gtk_render_background(style, cr, rect->x, rect->y, rect->width, rect->height); gtk_render_background(style, cr, rect->x, rect->y, rect->width, rect->height);
@@ -1280,11 +1487,10 @@ moz_gtk_spin_updown_paint(cairo_t *cr, G @@ -1280,11 +1484,10 @@ moz_gtk_spin_updown_paint(cairo_t *cr, G
GtkStyleContext* style; GtkStyleContext* style;
ensure_spin_widget(); ensure_spin_widget();
...@@ -711,7 +708,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -711,7 +708,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gtk_render_background(style, cr, rect->x, rect->y, rect->width, rect->height); gtk_render_background(style, cr, rect->x, rect->y, rect->width, rect->height);
gtk_render_frame(style, cr, rect->x, rect->y, rect->width, rect->height); gtk_render_frame(style, cr, rect->x, rect->y, rect->width, rect->height);
@@ -1450,15 +1656,13 @@ moz_gtk_vpaned_paint(cairo_t *cr, GdkRec @@ -1450,15 +1653,13 @@ moz_gtk_vpaned_paint(cairo_t *cr, GdkRec
static gint static gint
moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect, moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect,
GtkWidgetState* state, GtkWidgetState* state,
...@@ -730,7 +727,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -730,7 +727,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
if (draw_focus_outline_only) { if (draw_focus_outline_only) {
// Inflate the given 'rect' with the focus outline size. // Inflate the given 'rect' with the focus outline size.
@@ -1478,10 +1682,9 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect @@ -1478,10 +1679,9 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect
* textarea window uses gtk_paint_flat_box when exposed */ * textarea window uses gtk_paint_flat_box when exposed */
/* This gets us a lovely greyish disabledish look */ /* This gets us a lovely greyish disabledish look */
...@@ -742,7 +739,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -742,7 +739,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
/* 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
@@ -1531,7 +1734,7 @@ moz_gtk_treeview_paint(cairo_t *cr, GdkR @@ -1531,7 +1731,7 @@ moz_gtk_treeview_paint(cairo_t *cr, GdkR
style = gtk_widget_get_style_context(gScrolledWindowWidget); style = gtk_widget_get_style_context(gScrolledWindowWidget);
gtk_style_context_save(style); gtk_style_context_save(style);
gtk_style_context_add_class(style, GTK_STYLE_CLASS_FRAME); gtk_style_context_add_class(style, GTK_STYLE_CLASS_FRAME);
...@@ -751,7 +748,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -751,7 +748,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
xthickness = border.left; xthickness = border.left;
ythickness = border.top; ythickness = border.top;
@@ -1702,7 +1905,7 @@ moz_gtk_combo_box_paint(cairo_t *cr, Gdk @@ -1702,7 +1902,7 @@ moz_gtk_combo_box_paint(cairo_t *cr, Gdk
if (direction == GTK_TEXT_DIR_LTR) { if (direction == GTK_TEXT_DIR_LTR) {
GtkBorder padding; GtkBorder padding;
GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
...@@ -760,7 +757,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -760,7 +757,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
arrow_rect.x -= padding.left; arrow_rect.x -= padding.left;
} }
else else
@@ -1804,29 +2007,27 @@ moz_gtk_container_paint(cairo_t *cr, Gdk @@ -1804,29 +2004,27 @@ moz_gtk_container_paint(cairo_t *cr, Gdk
gboolean isradio, GtkTextDirection direction) gboolean isradio, GtkTextDirection direction)
{ {
GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
...@@ -798,7 +795,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -798,7 +795,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -1836,32 +2037,26 @@ moz_gtk_toggle_label_paint(cairo_t *cr, @@ -1836,32 +2034,26 @@ moz_gtk_toggle_label_paint(cairo_t *cr,
GtkWidgetState* state, GtkWidgetState* state,
gboolean isradio, GtkTextDirection direction) gboolean isradio, GtkTextDirection direction)
{ {
...@@ -840,7 +837,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -840,7 +837,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -1922,7 +2117,7 @@ moz_gtk_toolbar_separator_paint(cairo_t @@ -1922,7 +2114,7 @@ moz_gtk_toolbar_separator_paint(cairo_t
rect->height * (end_fraction - start_fraction)); rect->height * (end_fraction - start_fraction));
} else { } else {
GtkBorder padding; GtkBorder padding;
...@@ -849,7 +846,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -849,7 +846,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
paint_width = padding.left; paint_width = padding.left;
if (paint_width > rect->width) if (paint_width > rect->width)
@@ -1945,9 +2140,9 @@ moz_gtk_tooltip_paint(cairo_t *cr, GdkRe @@ -1945,9 +2137,9 @@ moz_gtk_tooltip_paint(cairo_t *cr, GdkRe
GtkStyleContext* style; GtkStyleContext* style;
ensure_tooltip_widget(); ensure_tooltip_widget();
...@@ -857,11 +854,11 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -857,11 +854,11 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
+ gtk_widget_set_direction(gTooltip.widget, direction); + gtk_widget_set_direction(gTooltip.widget, direction);
- style = gtk_widget_get_style_context(gTooltipWidget); - style = gtk_widget_get_style_context(gTooltipWidget);
+ style = gTooltip.tooltip.styleBackground; + style = gTooltip.tooltip.style;
gtk_render_background(style, cr, rect->x, rect->y, rect->width, rect->height); gtk_render_background(style, cr, rect->x, rect->y, rect->width, rect->height);
gtk_render_frame(style, cr, rect->x, rect->y, rect->width, rect->height); gtk_render_frame(style, cr, rect->x, rect->y, rect->width, rect->height);
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
@@ -2006,18 +2201,13 @@ static gint @@ -2006,18 +2198,13 @@ static gint
moz_gtk_progressbar_paint(cairo_t *cr, GdkRectangle* rect, moz_gtk_progressbar_paint(cairo_t *cr, GdkRectangle* rect,
GtkTextDirection direction) GtkTextDirection direction)
{ {
...@@ -885,7 +882,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -885,7 +882,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -2027,15 +2217,8 @@ moz_gtk_progress_chunk_paint(cairo_t *cr @@ -2027,15 +2214,8 @@ moz_gtk_progress_chunk_paint(cairo_t *cr
GtkTextDirection direction, GtkTextDirection direction,
GtkThemeWidgetType widget) GtkThemeWidgetType widget)
{ {
...@@ -902,7 +899,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -902,7 +899,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
if (widget == MOZ_GTK_PROGRESS_CHUNK_INDETERMINATE || if (widget == MOZ_GTK_PROGRESS_CHUNK_INDETERMINATE ||
widget == MOZ_GTK_PROGRESS_CHUNK_VERTICAL_INDETERMINATE) { widget == MOZ_GTK_PROGRESS_CHUNK_VERTICAL_INDETERMINATE) {
@@ -2074,12 +2257,14 @@ moz_gtk_progress_chunk_paint(cairo_t *cr @@ -2074,12 +2254,14 @@ moz_gtk_progress_chunk_paint(cairo_t *cr
// gtk_render_activity was used to render progress chunks on GTK versions // gtk_render_activity was used to render progress chunks on GTK versions
// before 3.13.7, see bug 1173907. // before 3.13.7, see bug 1173907.
if (!gtk_check_version(3, 13, 7)) { if (!gtk_check_version(3, 13, 7)) {
...@@ -921,7 +918,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -921,7 +918,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -2096,7 +2281,7 @@ moz_gtk_get_tab_thickness(void) @@ -2096,7 +2278,7 @@ moz_gtk_get_tab_thickness(void)
style = gtk_widget_get_style_context(gTabWidget); style = gtk_widget_get_style_context(gTabWidget);
gtk_style_context_add_class(style, GTK_STYLE_CLASS_NOTEBOOK); gtk_style_context_add_class(style, GTK_STYLE_CLASS_NOTEBOOK);
...@@ -930,7 +927,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -930,7 +927,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
if (border.top < 2) if (border.top < 2)
return 2; /* some themes don't set ythickness correctly */ return 2; /* some themes don't set ythickness correctly */
@@ -2292,7 +2477,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectan @@ -2292,7 +2474,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectan
gtk_style_context_save(style); gtk_style_context_save(style);
moz_gtk_tab_prepare_style_context(style, flags); moz_gtk_tab_prepare_style_context(style, flags);
...@@ -939,7 +936,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -939,7 +936,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
focusRect.x += padding.left; focusRect.x += padding.left;
focusRect.width -= (padding.left + padding.right); focusRect.width -= (padding.left + padding.right);
@@ -2408,7 +2593,7 @@ moz_gtk_tab_scroll_arrow_paint(cairo_t * @@ -2408,7 +2590,7 @@ moz_gtk_tab_scroll_arrow_paint(cairo_t *
} }
static gint static gint
...@@ -948,7 +945,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -948,7 +945,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
GtkTextDirection direction) GtkTextDirection direction)
{ {
GtkStyleContext* style; GtkStyleContext* style;
@@ -2468,7 +2653,7 @@ moz_gtk_menu_separator_paint(cairo_t *cr @@ -2468,7 +2650,7 @@ moz_gtk_menu_separator_paint(cairo_t *cr
border_width = gtk_container_get_border_width(GTK_CONTAINER(gMenuSeparatorWidget)); border_width = gtk_container_get_border_width(GTK_CONTAINER(gMenuSeparatorWidget));
style = gtk_widget_get_style_context(gMenuSeparatorWidget); style = gtk_widget_get_style_context(gMenuSeparatorWidget);
...@@ -957,7 +954,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -957,7 +954,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
x = rect->x + border_width; x = rect->x + border_width;
y = rect->y + border_width; y = rect->y + border_width;
@@ -2521,7 +2706,8 @@ moz_gtk_menu_item_paint(cairo_t *cr, Gdk @@ -2521,7 +2703,8 @@ moz_gtk_menu_item_paint(cairo_t *cr, Gdk
item_widget = gMenuItemWidget; item_widget = gMenuItemWidget;
} }
style = gtk_widget_get_style_context(item_widget); style = gtk_widget_get_style_context(item_widget);
...@@ -967,7 +964,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -967,7 +964,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
if (flags & MOZ_TOPLEVEL_MENU_ITEM) { if (flags & MOZ_TOPLEVEL_MENU_ITEM) {
gtk_style_context_add_class(style, GTK_STYLE_CLASS_MENUBAR); gtk_style_context_add_class(style, GTK_STYLE_CLASS_MENUBAR);
@@ -2540,7 +2726,7 @@ moz_gtk_menu_item_paint(cairo_t *cr, Gdk @@ -2540,7 +2723,7 @@ moz_gtk_menu_item_paint(cairo_t *cr, Gdk
gtk_render_background(style, cr, x, y, w, h); gtk_render_background(style, cr, x, y, w, h);
gtk_render_frame(style, cr, x, y, w, h); gtk_render_frame(style, cr, x, y, w, h);
...@@ -976,7 +973,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -976,7 +973,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
@@ -2556,7 +2742,10 @@ moz_gtk_menu_arrow_paint(cairo_t *cr, Gd @@ -2556,7 +2739,10 @@ moz_gtk_menu_arrow_paint(cairo_t *cr, Gd
ensure_menu_item_widget(); ensure_menu_item_widget();
gtk_widget_set_direction(gMenuItemWidget, direction); gtk_widget_set_direction(gMenuItemWidget, direction);
...@@ -988,7 +985,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -988,7 +985,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
style = gtk_widget_get_style_context(gMenuItemWidget); style = gtk_widget_get_style_context(gMenuItemWidget);
gtk_style_context_save(style); gtk_style_context_save(style);
gtk_style_context_add_class(style, GTK_STYLE_CLASS_MENUITEM); gtk_style_context_add_class(style, GTK_STYLE_CLASS_MENUITEM);
@@ -2606,7 +2795,7 @@ moz_gtk_check_menu_item_paint(cairo_t *c @@ -2606,7 +2792,7 @@ moz_gtk_check_menu_item_paint(cairo_t *c
} }
gtk_style_context_set_state(style, state_flags); gtk_style_context_set_state(style, state_flags);
...@@ -997,7 +994,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -997,7 +994,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
offset = gtk_container_get_border_width(GTK_CONTAINER(gCheckMenuItemWidget)) + offset = gtk_container_get_border_width(GTK_CONTAINER(gCheckMenuItemWidget)) +
padding.left + 2; padding.left + 2;
@@ -2658,7 +2847,7 @@ moz_gtk_add_style_border(GtkStyleContext @@ -2658,7 +2844,7 @@ moz_gtk_add_style_border(GtkStyleContext
{ {
GtkBorder border; GtkBorder border;
...@@ -1006,7 +1003,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1006,7 +1003,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
*left += border.left; *left += border.left;
*right += border.right; *right += border.right;
@@ -2667,12 +2856,22 @@ moz_gtk_add_style_border(GtkStyleContext @@ -2667,12 +2853,22 @@ moz_gtk_add_style_border(GtkStyleContext
} }
static void static void
...@@ -1030,7 +1027,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1030,7 +1027,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
*left += padding.left; *left += padding.left;
*right += padding.right; *right += padding.right;
@@ -2680,6 +2879,16 @@ moz_gtk_add_style_padding(GtkStyleContex @@ -2680,6 +2876,16 @@ moz_gtk_add_style_padding(GtkStyleContex
*bottom += padding.bottom; *bottom += padding.bottom;
} }
...@@ -1047,7 +1044,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1047,7 +1044,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gint gint
moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top, moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
gint* right, gint* bottom, GtkTextDirection direction, gint* right, gint* bottom, GtkTextDirection direction,
@@ -2694,37 +2903,35 @@ moz_gtk_get_widget_border(GtkThemeWidget @@ -2694,37 +2900,35 @@ moz_gtk_get_widget_border(GtkThemeWidget
case MOZ_GTK_TOOLBAR_BUTTON: case MOZ_GTK_TOOLBAR_BUTTON:
{ {
ensure_button_widget(); ensure_button_widget();
...@@ -1094,12 +1091,12 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1094,12 +1091,12 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
+ case MOZ_GTK_TOOLTIP: + case MOZ_GTK_TOOLTIP:
+ { + {
+ ensure_tooltip_widget(); + ensure_tooltip_widget();
+ moz_gtk_add_style_padding(gTooltip.tooltip.styleBackground, left, top, right, bottom); + moz_gtk_add_style_padding(gTooltip.tooltip.style, left, top, right, bottom);
+ moz_gtk_add_style_border(gTooltip.tooltip.styleBackground, left, top, right, bottom); + moz_gtk_add_style_border(gTooltip.tooltip.style, left, top, right, bottom);
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
case MOZ_GTK_TREEVIEW: case MOZ_GTK_TREEVIEW:
@@ -2759,7 +2966,7 @@ moz_gtk_get_widget_border(GtkThemeWidget @@ -2759,7 +2963,7 @@ moz_gtk_get_widget_border(GtkThemeWidget
break; break;
case MOZ_GTK_DROPDOWN_ENTRY: case MOZ_GTK_DROPDOWN_ENTRY:
ensure_combo_box_entry_widgets(); ensure_combo_box_entry_widgets();
...@@ -1108,7 +1105,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1108,7 +1105,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
break; break;
case MOZ_GTK_DROPDOWN_ARROW: case MOZ_GTK_DROPDOWN_ARROW:
ensure_combo_box_entry_widgets(); ensure_combo_box_entry_widgets();
@@ -2795,7 +3002,7 @@ moz_gtk_get_widget_border(GtkThemeWidget @@ -2795,7 +2999,7 @@ moz_gtk_get_widget_border(GtkThemeWidget
if (!wide_separators) { if (!wide_separators) {
style = gtk_widget_get_style_context(gComboBoxSeparatorWidget); style = gtk_widget_get_style_context(gComboBoxSeparatorWidget);
...@@ -1117,7 +1114,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1117,7 +1114,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
separator_width = border.left; separator_width = border.left;
} }
} }
@@ -2814,14 +3021,17 @@ moz_gtk_get_widget_border(GtkThemeWidget @@ -2814,14 +3018,17 @@ moz_gtk_get_widget_border(GtkThemeWidget
w = gTabWidget; w = gTabWidget;
break; break;
case MOZ_GTK_PROGRESSBAR: case MOZ_GTK_PROGRESSBAR:
...@@ -1139,7 +1136,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1139,7 +1136,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
break; break;
case MOZ_GTK_SCALE_HORIZONTAL: case MOZ_GTK_SCALE_HORIZONTAL:
ensure_scale_widget(); ensure_scale_widget();
@@ -2840,12 +3050,13 @@ moz_gtk_get_widget_border(GtkThemeWidget @@ -2840,12 +3047,13 @@ moz_gtk_get_widget_border(GtkThemeWidget
{ {
if (widget == MOZ_GTK_CHECKBUTTON_CONTAINER) { if (widget == MOZ_GTK_CHECKBUTTON_CONTAINER) {
ensure_checkbox_widget(); ensure_checkbox_widget();
...@@ -1156,7 +1153,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1156,7 +1153,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
*left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w)); *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w));
moz_gtk_add_style_border(style, moz_gtk_add_style_border(style,
@@ -2904,7 +3115,6 @@ moz_gtk_get_widget_border(GtkThemeWidget @@ -2904,7 +3112,6 @@ moz_gtk_get_widget_border(GtkThemeWidget
case MOZ_GTK_MENUSEPARATOR: case MOZ_GTK_MENUSEPARATOR:
/* These widgets have no borders.*/ /* These widgets have no borders.*/
case MOZ_GTK_SPINBUTTON: case MOZ_GTK_SPINBUTTON:
...@@ -1164,7 +1161,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1164,7 +1161,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
case MOZ_GTK_WINDOW: case MOZ_GTK_WINDOW:
case MOZ_GTK_RESIZER: case MOZ_GTK_RESIZER:
case MOZ_GTK_MENUARROW: case MOZ_GTK_MENUARROW:
@@ -2978,6 +3188,32 @@ moz_gtk_get_combo_box_entry_button_size( @@ -2978,6 +3185,32 @@ moz_gtk_get_combo_box_entry_button_size(
} }
gint gint
...@@ -1197,7 +1194,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1197,7 +1194,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
moz_gtk_get_tab_scroll_arrow_size(gint* width, gint* height) moz_gtk_get_tab_scroll_arrow_size(gint* width, gint* height)
{ {
gint arrow_size; gint arrow_size;
@@ -3030,7 +3266,7 @@ moz_gtk_get_toolbar_separator_width(gint @@ -3030,7 +3263,7 @@ moz_gtk_get_toolbar_separator_width(gint
"separator-width", &separator_width, "separator-width", &separator_width,
NULL); NULL);
/* Just in case... */ /* Just in case... */
...@@ -1206,7 +1203,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1206,7 +1203,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
*size = MAX(*size, (wide_separators ? separator_width : border.left)); *size = MAX(*size, (wide_separators ? separator_width : border.left));
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -3072,7 +3308,7 @@ moz_gtk_get_menu_separator_height(gint * @@ -3072,7 +3305,7 @@ moz_gtk_get_menu_separator_height(gint *
border_width = gtk_container_get_border_width(GTK_CONTAINER(gMenuSeparatorWidget)); border_width = gtk_container_get_border_width(GTK_CONTAINER(gMenuSeparatorWidget));
style = gtk_widget_get_style_context(gMenuSeparatorWidget); style = gtk_widget_get_style_context(gMenuSeparatorWidget);
...@@ -1215,7 +1212,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1215,7 +1212,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gtk_style_context_save(style); gtk_style_context_save(style);
gtk_style_context_add_class(style, GTK_STYLE_CLASS_SEPARATOR); gtk_style_context_add_class(style, GTK_STYLE_CLASS_SEPARATOR);
@@ -3130,15 +3366,21 @@ moz_gtk_get_scrollbar_metrics(MozGtkScro @@ -3130,15 +3363,21 @@ moz_gtk_get_scrollbar_metrics(MozGtkScro
{ {
ensure_scrollbar_widget(); ensure_scrollbar_widget();
...@@ -1240,7 +1237,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1240,7 +1237,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
return MOZ_GTK_SUCCESS; return MOZ_GTK_SUCCESS;
} }
@@ -3163,7 +3405,7 @@ moz_gtk_images_in_buttons() @@ -3163,7 +3402,7 @@ moz_gtk_images_in_buttons()
GtkSettings* settings; GtkSettings* settings;
ensure_button_widget(); ensure_button_widget();
...@@ -1249,7 +1246,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1249,7 +1246,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
g_object_get(settings, "gtk-button-images", &result, NULL); g_object_get(settings, "gtk-button-images", &result, NULL);
return result; return result;
@@ -3191,7 +3433,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType @@ -3191,7 +3430,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType
} }
ensure_button_widget(); ensure_button_widget();
return moz_gtk_button_paint(cr, rect, state, return moz_gtk_button_paint(cr, rect, state,
...@@ -1258,7 +1255,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1258,7 +1255,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
direction); direction);
break; break;
case MOZ_GTK_CHECKBUTTON: case MOZ_GTK_CHECKBUTTON:
@@ -3241,7 +3483,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType @@ -3241,7 +3480,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType
case MOZ_GTK_SPINBUTTON_ENTRY: case MOZ_GTK_SPINBUTTON_ENTRY:
ensure_spin_widget(); ensure_spin_widget();
return moz_gtk_entry_paint(cr, rect, state, return moz_gtk_entry_paint(cr, rect, state,
...@@ -1267,7 +1264,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1267,7 +1264,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
break; break;
case MOZ_GTK_GRIPPER: case MOZ_GTK_GRIPPER:
return moz_gtk_gripper_paint(cr, rect, state, return moz_gtk_gripper_paint(cr, rect, state,
@@ -3268,7 +3510,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType @@ -3268,7 +3507,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType
case MOZ_GTK_ENTRY: case MOZ_GTK_ENTRY:
ensure_entry_widget(); ensure_entry_widget();
return moz_gtk_entry_paint(cr, rect, state, return moz_gtk_entry_paint(cr, rect, state,
...@@ -1276,7 +1273,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1276,7 +1273,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
break; break;
case MOZ_GTK_DROPDOWN: case MOZ_GTK_DROPDOWN:
return moz_gtk_combo_box_paint(cr, rect, state, direction); return moz_gtk_combo_box_paint(cr, rect, state, direction);
@@ -3280,7 +3522,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType @@ -3280,7 +3519,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType
case MOZ_GTK_DROPDOWN_ENTRY: case MOZ_GTK_DROPDOWN_ENTRY:
ensure_combo_box_entry_widgets(); ensure_combo_box_entry_widgets();
return moz_gtk_entry_paint(cr, rect, state, return moz_gtk_entry_paint(cr, rect, state,
...@@ -1285,7 +1282,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1285,7 +1282,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
break; break;
case MOZ_GTK_CHECKBUTTON_CONTAINER: case MOZ_GTK_CHECKBUTTON_CONTAINER:
case MOZ_GTK_RADIOBUTTON_CONTAINER: case MOZ_GTK_RADIOBUTTON_CONTAINER:
@@ -3332,7 +3574,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType @@ -3332,7 +3571,7 @@ moz_gtk_widget_paint(GtkThemeWidgetType
(GtkArrowType) flags, direction); (GtkArrowType) flags, direction);
break; break;
case MOZ_GTK_MENUBAR: case MOZ_GTK_MENUBAR:
...@@ -1294,7 +1291,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1294,7 +1291,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
break; break;
case MOZ_GTK_MENUPOPUP: case MOZ_GTK_MENUPOPUP:
return moz_gtk_menu_popup_paint(cr, rect, direction); return moz_gtk_menu_popup_paint(cr, rect, direction);
@@ -3383,7 +3625,7 @@ GtkWidget* moz_gtk_get_scrollbar_widget( @@ -3383,7 +3622,7 @@ GtkWidget* moz_gtk_get_scrollbar_widget(
{ {
MOZ_ASSERT(is_initialized, "Forgot to call moz_gtk_init()"); MOZ_ASSERT(is_initialized, "Forgot to call moz_gtk_init()");
ensure_scrollbar_widget(); ensure_scrollbar_widget();
...@@ -1303,7 +1300,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1303,7 +1300,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
} }
gboolean moz_gtk_has_scrollbar_buttons(void) gboolean moz_gtk_has_scrollbar_buttons(void)
@@ -3391,7 +3633,7 @@ gboolean moz_gtk_has_scrollbar_buttons(v @@ -3391,7 +3630,7 @@ gboolean moz_gtk_has_scrollbar_buttons(v
gboolean backward, forward, secondary_backward, secondary_forward; gboolean backward, forward, secondary_backward, secondary_forward;
MOZ_ASSERT(is_initialized, "Forgot to call moz_gtk_init()"); MOZ_ASSERT(is_initialized, "Forgot to call moz_gtk_init()");
ensure_scrollbar_widget(); ensure_scrollbar_widget();
...@@ -1312,7 +1309,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1312,7 +1309,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
"has-backward-stepper", &backward, "has-backward-stepper", &backward,
"has-forward-stepper", &forward, "has-forward-stepper", &forward,
"has-secondary-backward-stepper", &secondary_backward, "has-secondary-backward-stepper", &secondary_backward,
@@ -3403,8 +3645,8 @@ gboolean moz_gtk_has_scrollbar_buttons(v @@ -3403,8 +3642,8 @@ gboolean moz_gtk_has_scrollbar_buttons(v
gint gint
moz_gtk_shutdown() moz_gtk_shutdown()
{ {
...@@ -1323,7 +1320,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1323,7 +1320,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
/* This will destroy all of our widgets */ /* This will destroy all of our widgets */
if (gProtoWindow) if (gProtoWindow)
gtk_widget_destroy(gProtoWindow); gtk_widget_destroy(gProtoWindow);
@@ -3415,17 +3657,19 @@ moz_gtk_shutdown() @@ -3415,17 +3654,19 @@ moz_gtk_shutdown()
gProtoWindow = NULL; gProtoWindow = NULL;
gProtoLayout = NULL; gProtoLayout = NULL;
...@@ -1350,7 +1347,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1350,7 +1347,7 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gComboBoxWidget = NULL; gComboBoxWidget = NULL;
gComboBoxButtonWidget = NULL; gComboBoxButtonWidget = NULL;
gComboBoxSeparatorWidget = NULL; gComboBoxSeparatorWidget = NULL;
@@ -3433,14 +3677,13 @@ moz_gtk_shutdown() @@ -3433,14 +3674,13 @@ moz_gtk_shutdown()
gComboBoxEntryWidget = NULL; gComboBoxEntryWidget = NULL;
gComboBoxEntryButtonWidget = NULL; gComboBoxEntryButtonWidget = NULL;
gComboBoxEntryArrowWidget = NULL; gComboBoxEntryArrowWidget = NULL;
...@@ -1367,9 +1364,9 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g ...@@ -1367,9 +1364,9 @@ diff -up firefox-46.0.1/widget/gtk/gtk3drawing.c.gtk3-20 firefox-46.0.1/widget/g
gMenuBarWidget = NULL; gMenuBarWidget = NULL;
gMenuBarItemWidget = NULL; gMenuBarItemWidget = NULL;
gMenuPopupWidget = NULL; gMenuPopupWidget = NULL;
diff -up firefox-46.0.1/widget/gtk/gtkdrawing.h.gtk3-20 firefox-46.0.1/widget/gtk/gtkdrawing.h diff -up firefox-47.0/widget/gtk/gtkdrawing.h.gtk3-20 firefox-47.0/widget/gtk/gtkdrawing.h
--- firefox-46.0.1/widget/gtk/gtkdrawing.h.gtk3-20 2016-05-03 07:31:12.000000000 +0200 --- firefox-47.0/widget/gtk/gtkdrawing.h.gtk3-20 2016-05-12 19:13:34.000000000 +0200
+++ firefox-46.0.1/widget/gtk/gtkdrawing.h 2016-05-19 15:20:11.656519199 +0200 +++ firefox-47.0/widget/gtk/gtkdrawing.h 2016-06-23 10:21:37.072462099 +0200
@@ -67,6 +67,13 @@ typedef enum { @@ -67,6 +67,13 @@ typedef enum {
MOZ_GTK_TAB_SELECTED = 1 << 10 MOZ_GTK_TAB_SELECTED = 1 << 10
} GtkTabFlags; } GtkTabFlags;
...@@ -1407,10 +1404,10 @@ diff -up firefox-46.0.1/widget/gtk/gtkdrawing.h.gtk3-20 firefox-46.0.1/widget/gt ...@@ -1407,10 +1404,10 @@ diff -up firefox-46.0.1/widget/gtk/gtkdrawing.h.gtk3-20 firefox-46.0.1/widget/gt
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */
diff -up firefox-46.0.1/widget/gtk/mozgtk/mozgtk.c.gtk3-20 firefox-46.0.1/widget/gtk/mozgtk/mozgtk.c diff -up firefox-47.0/widget/gtk/mozgtk/mozgtk.c.gtk3-20 firefox-47.0/widget/gtk/mozgtk/mozgtk.c
--- firefox-46.0.1/widget/gtk/mozgtk/mozgtk.c.gtk3-20 2016-05-03 07:31:12.000000000 +0200 --- firefox-47.0/widget/gtk/mozgtk/mozgtk.c.gtk3-20 2016-05-12 19:13:34.000000000 +0200
+++ firefox-46.0.1/widget/gtk/mozgtk/mozgtk.c 2016-05-20 10:40:19.442320669 +0200 +++ firefox-47.0/widget/gtk/mozgtk/mozgtk.c 2016-06-23 10:26:36.495774041 +0200
@@ -504,6 +504,11 @@ STUB(gtk_window_set_type_hint) @@ -504,9 +504,15 @@ STUB(gtk_window_set_type_hint)
STUB(gtk_window_set_wmclass) STUB(gtk_window_set_wmclass)
STUB(gtk_window_unfullscreen) STUB(gtk_window_unfullscreen)
STUB(gtk_window_unmaximize) STUB(gtk_window_unmaximize)
...@@ -1422,11 +1419,16 @@ diff -up firefox-46.0.1/widget/gtk/mozgtk/mozgtk.c.gtk3-20 firefox-46.0.1/widget ...@@ -1422,11 +1419,16 @@ diff -up firefox-46.0.1/widget/gtk/mozgtk/mozgtk.c.gtk3-20 firefox-46.0.1/widget
#endif #endif
#ifdef GTK3_SYMBOLS #ifdef GTK3_SYMBOLS
@@ -581,6 +586,14 @@ STUB(gtk_color_chooser_get_type) +STUB(gtk_box_new)
STUB(gdk_device_get_source)
STUB(gdk_device_manager_get_client_pointer)
STUB(gdk_disable_multidevice)
@@ -581,6 +587,15 @@ STUB(gtk_color_chooser_get_type)
STUB(gtk_color_chooser_set_rgba) STUB(gtk_color_chooser_set_rgba)
STUB(gtk_color_chooser_get_rgba) STUB(gtk_color_chooser_get_rgba)
STUB(gtk_color_chooser_set_use_alpha) STUB(gtk_color_chooser_set_use_alpha)
+STUB(gtk_style_context_get_path) +STUB(gtk_style_context_get_path)
+STUB(gtk_widget_path_append_for_widget)
+STUB(gtk_widget_path_copy) +STUB(gtk_widget_path_copy)
+STUB(gtk_widget_path_iter_set_object_name) +STUB(gtk_widget_path_iter_set_object_name)
+STUB(gtk_widget_path_iter_add_class) +STUB(gtk_widget_path_iter_add_class)
...@@ -1437,9 +1439,9 @@ diff -up firefox-46.0.1/widget/gtk/mozgtk/mozgtk.c.gtk3-20 firefox-46.0.1/widget ...@@ -1437,9 +1439,9 @@ diff -up firefox-46.0.1/widget/gtk/mozgtk/mozgtk.c.gtk3-20 firefox-46.0.1/widget
#endif #endif
#ifdef GTK2_SYMBOLS #ifdef GTK2_SYMBOLS
diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp diff -up firefox-47.0/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-47.0/widget/gtk/nsLookAndFeel.cpp
--- firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 2016-05-03 07:31:12.000000000 +0200 --- firefox-47.0/widget/gtk/nsLookAndFeel.cpp.gtk3-20 2016-06-01 06:11:44.000000000 +0200
+++ firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp 2016-05-20 13:53:54.085049707 +0200 +++ firefox-47.0/widget/gtk/nsLookAndFeel.cpp 2016-06-23 10:21:37.073462100 +0200
@@ -353,14 +353,18 @@ nsLookAndFeel::NativeGetColor(ColorID aI @@ -353,14 +353,18 @@ nsLookAndFeel::NativeGetColor(ColorID aI
case eColorID_activeborder: case eColorID_activeborder:
// active window border // active window border
...@@ -1495,7 +1497,37 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg ...@@ -1495,7 +1497,37 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg
aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); aColor = GDK_RGBA_TO_NS_RGBA(gdk_color);
break; break;
case eColorID__moz_buttonhovertext: case eColorID__moz_buttonhovertext:
@@ -1110,27 +1126,29 @@ nsLookAndFeel::Init() @@ -1019,6 +1030,29 @@ create_context(GtkWidgetPath *path)
}
#endif
+GtkStyleContext*
+CreateStyleForWidget(GtkWidget* aWidget, GtkStyleContext* aParentStyle)
+{
+ GtkWidgetPath* path =
+ gtk_widget_path_copy(gtk_style_context_get_path(aParentStyle));
+
+ // Work around https://bugzilla.gnome.org/show_bug.cgi?id=767312
+ // which exists in GTK+ 3.20.
+ gtk_widget_get_style_context(aWidget);
+
+ gtk_widget_path_append_for_widget(path, aWidget);
+ // Release any floating reference on aWidget.
+ g_object_ref_sink(aWidget);
+ g_object_unref(aWidget);
+
+ GtkStyleContext *context = gtk_style_context_new();
+ gtk_style_context_set_path(context, path);
+ gtk_style_context_set_parent(context, aParentStyle);
+ gtk_widget_path_unref(path);
+
+ return context;
+}
+
void
nsLookAndFeel::Init()
{
@@ -1122,26 +1156,36 @@ nsLookAndFeel::Init()
style = create_context(path); style = create_context(path);
gtk_style_context_add_class(style, GTK_STYLE_CLASS_SCROLLBAR); gtk_style_context_add_class(style, GTK_STYLE_CLASS_SCROLLBAR);
gtk_style_context_add_class(style, GTK_STYLE_CLASS_TROUGH); gtk_style_context_add_class(style, GTK_STYLE_CLASS_TROUGH);
...@@ -1519,22 +1551,29 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg ...@@ -1519,22 +1551,29 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg
// tooltip foreground and background // tooltip foreground and background
- gtk_style_context_add_class(style, GTK_STYLE_CLASS_TOOLTIP); - gtk_style_context_add_class(style, GTK_STYLE_CLASS_TOOLTIP);
- gtk_style_context_add_class(style, GTK_STYLE_CLASS_BACKGROUND);
- gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color);
+ GtkCssNode tooltipPath[] = { + GtkCssNode tooltipPath[] = {
+ { GTK_TYPE_TOOLTIP, "tooltip", NULL, NULL}, + { GTK_TYPE_TOOLTIP, "tooltip", "background", NULL},
+ }; + };
+ style = moz_gtk_style_create(tooltipPath, NULL); + style = moz_gtk_style_create(tooltipPath, NULL);
+ gtk_style_context_get_color(style, gtk_style_context_get_state(style), &color);
+ sInfoText = GDK_RGBA_TO_NS_RGBA(color);
gtk_style_context_add_class(style, GTK_STYLE_CLASS_BACKGROUND);
- gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color);
+ gtk_style_context_get_background_color(style, gtk_style_context_get_state(style), &color); + gtk_style_context_get_background_color(style, gtk_style_context_get_state(style), &color);
sInfoBackground = GDK_RGBA_TO_NS_RGBA(color); sInfoBackground = GDK_RGBA_TO_NS_RGBA(color);
- gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color); - gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color);
- sInfoText = GDK_RGBA_TO_NS_RGBA(color); + {
+ GtkStyleContext* boxStyle =
+ CreateStyleForWidget(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0),
+ style);
+ GtkStyleContext* labelStyle =
+ CreateStyleForWidget(gtk_label_new(nullptr), boxStyle);
+ gtk_style_context_get_color(labelStyle, GTK_STATE_FLAG_NORMAL, &color);
+ g_object_unref(labelStyle);
+ g_object_unref(boxStyle);
+ }
sInfoText = GDK_RGBA_TO_NS_RGBA(color);
g_object_unref(style); g_object_unref(style);
// menu foreground & menu background @@ -1156,20 +1200,26 @@ nsLookAndFeel::Init()
@@ -1144,20 +1162,26 @@ nsLookAndFeel::Init()
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
style = gtk_widget_get_style_context(accel_label); style = gtk_widget_get_style_context(accel_label);
...@@ -1566,7 +1605,7 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg ...@@ -1566,7 +1605,7 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg
g_object_unref(menu); g_object_unref(menu);
#endif #endif
@@ -1266,44 +1290,54 @@ nsLookAndFeel::Init() @@ -1278,44 +1328,54 @@ nsLookAndFeel::Init()
GDK_COLOR_TO_NS_RGB(style->dark[GTK_STATE_NORMAL]); GDK_COLOR_TO_NS_RGB(style->dark[GTK_STATE_NORMAL]);
} }
#else #else
...@@ -1638,7 +1677,7 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg ...@@ -1638,7 +1677,7 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg
// GTK's guide to fancy odd row background colors: // GTK's guide to fancy odd row background colors:
// 1) Check if a theme explicitly defines an odd row color // 1) Check if a theme explicitly defines an odd row color
@@ -1316,7 +1350,7 @@ nsLookAndFeel::Init() @@ -1328,7 +1388,7 @@ nsLookAndFeel::Init()
// Get odd row background color // Get odd row background color
gtk_style_context_save(style); gtk_style_context_save(style);
gtk_style_context_add_region(style, GTK_STYLE_REGION_ROW, GTK_REGION_ODD); gtk_style_context_add_region(style, GTK_STYLE_REGION_ROW, GTK_REGION_ODD);
...@@ -1647,7 +1686,7 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg ...@@ -1647,7 +1686,7 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg
sOddCellBackground = GDK_RGBA_TO_NS_RGBA(color); sOddCellBackground = GDK_RGBA_TO_NS_RGBA(color);
gtk_style_context_restore(style); gtk_style_context_restore(style);
@@ -1334,9 +1368,11 @@ nsLookAndFeel::Init() @@ -1346,9 +1406,11 @@ nsLookAndFeel::Init()
gtk_container_add(GTK_CONTAINER(parent), infoBar); gtk_container_add(GTK_CONTAINER(parent), infoBar);
gtk_container_add(GTK_CONTAINER(infoBarContent), infoBarLabel); gtk_container_add(GTK_CONTAINER(infoBarContent), infoBarLabel);
style = gtk_widget_get_style_context(infoBarLabel); style = gtk_widget_get_style_context(infoBarLabel);
...@@ -1660,10 +1699,10 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg ...@@ -1660,10 +1699,10 @@ diff -up firefox-46.0.1/widget/gtk/nsLookAndFeel.cpp.gtk3-20 firefox-46.0.1/widg
#endif #endif
// Some themes have a unified menu bar, and support window dragging on it // Some themes have a unified menu bar, and support window dragging on it
gboolean supports_menubar_drag = FALSE; gboolean supports_menubar_drag = FALSE;
diff -up firefox-46.0.1/widget/gtk/nsNativeThemeGTK.cpp.gtk3-20 firefox-46.0.1/widget/gtk/nsNativeThemeGTK.cpp diff -up firefox-47.0/widget/gtk/nsNativeThemeGTK.cpp.gtk3-20 firefox-47.0/widget/gtk/nsNativeThemeGTK.cpp
--- firefox-46.0.1/widget/gtk/nsNativeThemeGTK.cpp.gtk3-20 2016-05-03 07:31:12.000000000 +0200 --- firefox-47.0/widget/gtk/nsNativeThemeGTK.cpp.gtk3-20 2016-06-01 06:11:44.000000000 +0200
+++ firefox-46.0.1/widget/gtk/nsNativeThemeGTK.cpp 2016-05-19 15:20:11.658519202 +0200 +++ firefox-47.0/widget/gtk/nsNativeThemeGTK.cpp 2016-06-23 10:21:37.074462101 +0200
@@ -1567,9 +1567,6 @@ nsNativeThemeGTK::GetMinimumWidgetSize(n @@ -1570,9 +1570,6 @@ nsNativeThemeGTK::GetMinimumWidgetSize(n
case NS_THEME_RADIO_CONTAINER: case NS_THEME_RADIO_CONTAINER:
case NS_THEME_CHECKBOX_LABEL: case NS_THEME_CHECKBOX_LABEL:
case NS_THEME_RADIO_LABEL: case NS_THEME_RADIO_LABEL:
...@@ -1673,7 +1712,7 @@ diff -up firefox-46.0.1/widget/gtk/nsNativeThemeGTK.cpp.gtk3-20 firefox-46.0.1/w ...@@ -1673,7 +1712,7 @@ diff -up firefox-46.0.1/widget/gtk/nsNativeThemeGTK.cpp.gtk3-20 firefox-46.0.1/w
case NS_THEME_TREEVIEW_HEADER_CELL: case NS_THEME_TREEVIEW_HEADER_CELL:
{ {
if (aWidgetType == NS_THEME_DROPDOWN) { if (aWidgetType == NS_THEME_DROPDOWN) {
@@ -1588,6 +1585,21 @@ nsNativeThemeGTK::GetMinimumWidgetSize(n @@ -1591,6 +1588,21 @@ nsNativeThemeGTK::GetMinimumWidgetSize(n
aResult->height += border.top + border.bottom; aResult->height += border.top + border.bottom;
} }
break; break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment