bug 1343802 remove moz_gtk_get_scrollbar_widget() r?jhorak draft
authorKarl Tomlinson <karlt+@karlt.net>
Tue, 21 Mar 2017 17:14:55 +1300
changeset 503432 cf31ccfc8b3b1e6bafaf5bb66304178018bbfdda
parent 503431 4320332662fecaa6e6daca3932885f181d12049b
child 503433 232d59d66b51a3d09bb5563ad2e080a2e35a2410
push id50576
push userktomlinson@mozilla.com
push dateThu, 23 Mar 2017 06:19:17 +0000
reviewersjhorak
bugs1343802, 1278282
milestone55.0a1
bug 1343802 remove moz_gtk_get_scrollbar_widget() r?jhorak This was used with GTK2, but is now unnecessary as discussed in bug 1278282. moz_gtk_init() is now called from only one place and so will be called only once. MozReview-Commit-ID: 2KwJop6qsV9
widget/gtk/gtk3drawing.cpp
widget/gtk/gtkdrawing.h
widget/gtk/nsLookAndFeel.cpp
--- a/widget/gtk/gtk3drawing.cpp
+++ b/widget/gtk/gtk3drawing.cpp
@@ -16,17 +16,16 @@
 #include "prinrval.h"
 #include "WidgetStyleCache.h"
 
 #include <math.h>
 
 static gboolean have_arrow_scaling;
 static gboolean checkbox_check_state;
 static gboolean notebook_has_tab_gap;
-static gboolean is_initialized;
 
 static ScrollbarGTKMetrics sScrollbarMetrics[2];
 
 #define ARROW_UP      0
 #define ARROW_DOWN    G_PI
 #define ARROW_RIGHT   G_PI_2
 #define ARROW_LEFT    (G_PI+G_PI_2)
 
@@ -76,20 +75,16 @@ GetStateFlagsFromGtkTabFlags(GtkTabFlags
 {
     return ((flags & MOZ_GTK_TAB_SELECTED) == 0) ?
             GTK_STATE_FLAG_NORMAL : GTK_STATE_FLAG_ACTIVE;
 }
 
 gint
 moz_gtk_init()
 {
-    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;
 
@@ -2882,23 +2877,16 @@ moz_gtk_widget_paint(WidgetNodeType widg
         break;
     default:
         g_warning("Unknown widget type: %d", widget);
     }
 
     return MOZ_GTK_UNKNOWN_WIDGET;
 }
 
-GtkWidget* moz_gtk_get_scrollbar_widget(void)
-{
-    return GetWidget(MOZ_GTK_SCROLLBAR_HORIZONTAL);
-}
-
 gint
 moz_gtk_shutdown()
 {
     /* This will destroy all of our widgets */
     ResetWidgetCache();
 
-    is_initialized = FALSE;
-
     return MOZ_GTK_SUCCESS;
 }
--- a/widget/gtk/gtkdrawing.h
+++ b/widget/gtk/gtkdrawing.h
@@ -518,22 +518,16 @@ gint moz_gtk_get_menu_separator_height(g
  * orientation:   [IN]  GTK_ORIENTATION_HORIZONTAL or GTK_ORIENTATION_VERTICAL
  * size:          [OUT] width or height of the splitter handle
  *
  * returns:    MOZ_GTK_SUCCESS if there was no error, an error code otherwise
  */
 gint moz_gtk_splitter_get_metrics(gint orientation, gint* size);
 
 /**
- * Retrieve an actual GTK scrollbar widget for style analysis. It will not
- * be modified.
- */
-GtkWidget* moz_gtk_get_scrollbar_widget(void);
-
-/**
  * Get the YTHICKNESS of a tab (notebook extension).
  */
 gint
 moz_gtk_get_tab_thickness(WidgetNodeType aNodeType);
 
 #if (MOZ_WIDGET_GTK == 2)
 #ifdef __cplusplus
 }
--- a/widget/gtk/nsLookAndFeel.cpp
+++ b/widget/gtk/nsLookAndFeel.cpp
@@ -772,21 +772,21 @@ nsLookAndFeel::GetIntImpl(IntID aID, int
             g_object_get(gtk_widget_get_settings(box),
                          "gtk-dnd-drag-threshold", &threshold,
                          nullptr);
             g_object_ref_sink(box);
             
             aResult = threshold;
         }
         break;
-    case eIntID_ScrollArrowStyle:
-        moz_gtk_init();
-        aResult =
-            ConvertGTKStepperStyleToMozillaScrollArrowStyle(moz_gtk_get_scrollbar_widget());
+    case eIntID_ScrollArrowStyle: {
+        GtkWidget* scrollbar = GetWidget(MOZ_GTK_SCROLLBAR_HORIZONTAL);
+        aResult = ConvertGTKStepperStyleToMozillaScrollArrowStyle(scrollbar);
         break;
+    }
     case eIntID_ScrollSliderStyle:
         aResult = eScrollThumbStyle_Proportional;
         break;
     case eIntID_TreeOpenDelay:
         aResult = 1000;
         break;
     case eIntID_TreeCloseDelay:
         aResult = 1000;