Bug 1439834 - Draw titlebar with some extent, r?dao draft
authorMartin Stransky <stransky@redhat.com>
Wed, 28 Feb 2018 14:28:40 +0100
changeset 766839 22adb9cd50a9fde9e08ea3ca7ba4d8df35225068
parent 764770 a6a32fb286fa9e5d5f6d5b3b77423ab6b96c9502
child 766840 a3cd9fb9e8b0c4864d66a5f3729960b79dde58f4
push id102410
push userstransky@redhat.com
push dateTue, 13 Mar 2018 13:00:49 +0000
reviewersdao
bugs1439834
milestone60.0a1
Bug 1439834 - Draw titlebar with some extent, r?dao Some themes (Adwaita for instance) draws bold dark line at titlebar bottom. It does not fit well with Firefox tabbar UI so draw themed titlebar with some extent to make the titlebar bottom part invisible (it's clipped by cairo). MozReview-Commit-ID: 3rs4UzFJdPa
widget/gtk/gtk3drawing.cpp
--- a/widget/gtk/gtk3drawing.cpp
+++ b/widget/gtk/gtk3drawing.cpp
@@ -2280,19 +2280,25 @@ moz_gtk_info_bar_paint(cairo_t *cr, GdkR
 static gint
 moz_gtk_header_bar_paint(WidgetNodeType widgetType,
                          cairo_t *cr, GdkRectangle* rect, GtkWidgetState* state)
 {
     GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
     GtkStyleContext *style = GetStyleContext(widgetType, GTK_TEXT_DIR_LTR,
                                              state_flags);
     InsetByMargin(rect, style);
-    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);
+
+    // Some themes (Adwaita for instance) draws bold dark line at
+    // titlebar bottom. It does not fit well with Firefox tabs so
+    // draw with some extent to make the titlebar bottom part invisible.
+    #define TITLEBAR_EXTENT 4
+    gtk_render_background(style, cr, rect->x, rect->y,
+                          rect->width, rect->height + TITLEBAR_EXTENT);
+    gtk_render_frame(style, cr, rect->x, rect->y,
+                     rect->width, rect->height + TITLEBAR_EXTENT);
 
     return MOZ_GTK_SUCCESS;
 }
 
 
 
 static GtkBorder
 GetMarginBorderPadding(GtkStyleContext* aStyle)