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