Bug 1411013 - Load CSD config from nsLookAndFeel, r?jhorak
Make CSD setup and titlebar drawing available when users enable it by preference and also it's available on running system.
MozReview-Commit-ID: 4BLgzVWwX1R
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -3752,16 +3752,25 @@ nsWindow::Create(nsIWidget* aParent,
SetDefaultIcon();
gtk_window_set_wmclass(GTK_WINDOW(mShell), "Toplevel",
gdk_get_program_class());
// each toplevel window gets its own window group
GtkWindowGroup *group = gtk_window_group_new();
gtk_window_group_add_window(group, GTK_WINDOW(mShell));
g_object_unref(group);
+
+ if (GetCSDSupportLevel() != CSD_SUPPORT_NONE) {
+ int32_t isCSDAvailable = false;
+ nsresult rv = LookAndFeel::GetInt(LookAndFeel::eIntID_GTKCSDAvailable,
+ &isCSDAvailable);
+ if (NS_SUCCEEDED(rv)) {
+ mIsCSDAvailable = isCSDAvailable;
+ }
+ }
}
// Create a container to hold child windows and child GtkWidgets.
GtkWidget *container = moz_container_new();
mContainer = MOZ_CONTAINER(container);
#if (MOZ_WIDGET_GTK == 3)
// "csd" style is set when widget is realized so we need to call