Bug 561047 - Require Gtk 3.20+ as minimum

Drop css machinery for pre 3.20 Gtk.

Change-Id: I703b8797a85e11cd46e96c5e5063eb684f59f207
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css
deleted file mode 100644
index 4ed146c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css
+++ /dev/null
@@ -1,13 +0,0 @@
-/* These CSS fixes have 'functinal' impact, no visual impact. E.g allow keyboard navigation in trees etc.. */
-.undershoot.top, .undershoot.right, .undershoot.bottom, .undershoot.lef	{
-	background-image: none;
-}
-
-@binding-set SWTTreeViewBinding {
-	bind "Left" { "expand-collapse-cursor-row" (0,0,0)};
-	bind "Right" {"expand-collapse-cursor-row" (0,1,0)};
-}
-
-GtkTreeView {
-	gtk-key-bindings: SWTTreeViewBinding;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css
deleted file mode 100644
index 4b68e8a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css
+++ /dev/null
@@ -1,15 +0,0 @@
-/* These have an impact on visual aspects of SWT. Padding etc.. 
-   There should not be hard-coded color fixes because this can break dark variants of themes.
-   Instead either use OS.setDarkThemePreferred() if your theme has dark version or style manually via api */
-GtkToolbar {
-	padding-top: 2px;
-	padding-bottom: 2px;
-}
-
-GtkToolbar GtkButton {
-	padding: 2px 4px 2px 4px;
-}
-
-GtkToolbar GtkMenuButton {
-	padding: 1px 0px 1px 0px;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
index 51918b6..3717bc9 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
@@ -724,11 +724,7 @@
 	StringBuilder combinedCSS = new StringBuilder();
 
 	// Load functional CSS fixes. Such as keyboard functionality for some widgets.
-	combinedCSS.append(load.apply(
-		GTK.GTK_VERSION < OS.VERSION(3, 20, 0) ?
-				"/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css" :
-				"/org/eclipse/swt/internal/gtk/swt_functional_gtk_3_20.css"
-			, true));
+	combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_functional_gtk_3_20.css", true));
 
 	// By default, load CSS theme fixes to overcome things such as excessive padding that breaks SWT otherwise.
 	// Initially designed for Adwaita light/dark theme, but after investigation other themes (like Ubuntu's Ambiance + dark) seem to benefit from this also.
@@ -739,13 +735,9 @@
 	// - These fixes should not contain any color information, otherwise it might break a light/dark variant of the theme.
 	//   Color fixes should be put either into the theme itself or via swt user api.
 	if (System.getProperty("org.eclipse.swt.internal.gtk.noThemingFixes") == null) {
-		if (GTK.GTK_VERSION >= OS.VERSION(3, 20, 0)) {
-			combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_20.css", true));
-			if (GTK.GTK_VERSION >= OS.VERSION(3, 24, 5)) {
-				combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_24_5.css", true));
-			}
-		} else {
-			combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css", true));
+		combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_20.css", true));
+		if (GTK.GTK_VERSION >= OS.VERSION(3, 24, 5)) {
+			combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_24_5.css", true));
 		}
 	}
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
index 4223a23..91d67c7 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
@@ -966,41 +966,34 @@
 	long context = GTK.gtk_widget_get_style_context (handle);
 
 	GdkRGBA toSet = rgba == null ? display.COLOR_WIDGET_FOREGROUND_RGBA : rgba;
-	String name, css;
+	String css;
 	String color = display.gtk_rgba_to_css_string(toSet);
 	int bits = SWT.CHECK | SWT.RADIO;
 	switch (style & bits) {
 		case SWT.CHECK:
-			name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "checkbutton" : "GtkCheckButton";
-			css = name + " {color: " + color + ";}";
-			if (GTK.GTK_VERSION >= OS.VERSION(3, 20, 0)) {
-				String checkColor;
-				if (toggleButtonTheming) {
-					GdkRGBA checkRGBA = rgba == null ? display.COLOR_TOGGLE_BUTTON_FOREGROUND_RGBA : rgba;
-					checkColor = display.gtk_rgba_to_css_string(checkRGBA);
-				} else {
-					checkColor = display.gtk_rgba_to_css_string(toSet);
-				}
-				css += " check {color: " + checkColor + ";}";
+			css = "checkbutton {color: " + color + ";}";
+			String checkColor;
+			if (toggleButtonTheming) {
+				GdkRGBA checkRGBA = rgba == null ? display.COLOR_TOGGLE_BUTTON_FOREGROUND_RGBA : rgba;
+				checkColor = display.gtk_rgba_to_css_string(checkRGBA);
+			} else {
+				checkColor = display.gtk_rgba_to_css_string(toSet);
 			}
+			css += " check {color: " + checkColor + ";}";
 			break;
 		case SWT.RADIO:
-			name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "radiobutton" : "GtkRadioButton";
-			css = name + " {color: " + color + ";}";
-			if (GTK.GTK_VERSION >= OS.VERSION(3, 20, 0)) {
-				String radioColor;
-				if (toggleButtonTheming) {
-					GdkRGBA radioRGBA = rgba == null ? display.COLOR_TOGGLE_BUTTON_FOREGROUND_RGBA : rgba;
-					radioColor = display.gtk_rgba_to_css_string(radioRGBA);
-				} else {
-					radioColor = display.gtk_rgba_to_css_string(toSet);
-				}
-				css += " radio {color: " + radioColor + ";}";
+			css = "radiobutton {color: " + color + ";}";
+			String radioColor;
+			if (toggleButtonTheming) {
+				GdkRGBA radioRGBA = rgba == null ? display.COLOR_TOGGLE_BUTTON_FOREGROUND_RGBA : rgba;
+				radioColor = display.gtk_rgba_to_css_string(radioRGBA);
+			} else {
+				radioColor = display.gtk_rgba_to_css_string(toSet);
 			}
+			css += " radio {color: " + radioColor + ";}";
 			break;
 		default:
-			name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
-			css = name + " {color: " + color + ";}";
+			css = "button {color: " + color + ";}";
 	}
 
 	// Cache foreground color
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
index f7a6b52..517461f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
@@ -2192,10 +2192,8 @@
 	// Set the selected background color
 	GdkRGBA selectedBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION).handle;
 	GdkRGBA selectedForeground = display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT).handle;
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "entry" : "GtkEntry";
-	String selection = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? " selection" : ":selected";
-	css += name + selection + " {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n";
-	css += name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
+	css += "entry selection {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n";
+	css += "entry selection {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
 
 	// Cache background color
 	cssBackground = css;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index dce460f..4eaa7aa 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -4983,8 +4983,7 @@
 void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
 	GdkRGBA selectedBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION).handle;
 	// Form background string
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? display.gtk_widget_class_get_css_name(handle)
-			: display.gtk_widget_get_name(handle);
+	String name = display.gtk_widget_class_get_css_name(handle);
 	String css = name + " {background-color: " + display.gtk_rgba_to_css_string(rgba) + ";}\n"
 			+ name + ":selected" + " {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
 
@@ -5382,11 +5381,9 @@
 	long context = GTK.gtk_widget_get_style_context (handle);
 	// Form foreground string
 	String color = display.gtk_rgba_to_css_string(toSet);
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? display.gtk_widget_class_get_css_name(handle)
-			: display.gtk_widget_get_name(handle);
+	String name = display.gtk_widget_class_get_css_name(handle);
 	GdkRGBA selectedForeground = display.COLOR_LIST_SELECTION_TEXT_RGBA;
-	String selection = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) &&
-			!name.contains("treeview") ? " selection" : ":selected";
+	String selection = !name.contains("treeview") ? " selection" : ":selected";
 	String css = "* {color: " + color + ";}\n"
 			+ name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
index d430711..2b9d271 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
@@ -1391,15 +1391,14 @@
 	// "background-color" as their CSS property.
 
 	// Form background string
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? display.gtk_widget_class_get_css_name(handle)
-			: display.gtk_widget_get_name(handle);
+	String name = display.gtk_widget_class_get_css_name(handle);
 	String css = name + " {background: " + display.gtk_rgba_to_css_string (rgba) + ";}\n" +
 			name + ":selected" + " {background: " + display.gtk_rgba_to_css_string(display.COLOR_LIST_SELECTION_RGBA) + ";}";
 
-		// Cache background
-		cssBackground = css;
+	// Cache background
+	cssBackground = css;
 
-		// Apply background color and any cached foreground color
+	// Apply background color and any cached foreground color
 	String finalCss = display.gtk_css_create_css_color_string (cssBackground, cssForeground, SWT.BACKGROUND);
 	gtk_css_provider_load_from_css (context, finalCss);
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
index e8f6025..3ffbfa7 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
@@ -935,9 +935,7 @@
 		super.setBackgroundGdkRGBA(context, handle, rgba);
 	} else {
 		String color = display.gtk_rgba_to_css_string (background);
-		String properties = " {background-image: -gtk-gradient (linear, 0 0, 0 1, color-stop(0, " + color + "), color-stop(1, " + color + "));}";
-		String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "spinbutton" : "GtkSpinButton";
-		String css = name + properties;
+		String css = "spinbutton {background-image: -gtk-gradient (linear, 0 0, 0 1, color-stop(0, " + color + "), color-stop(1, " + color + "));}";
 
 		cssBackground = css;
 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java
index 475bf14..e8e6285 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java
@@ -730,8 +730,7 @@
 @Override
 void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
 	// Form background string
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "notebook header" : "GtkNotebook.header";
-	String css = name + " {background-color: " + display.gtk_rgba_to_css_string (rgba) + ";}";
+	String css = "notebook header {background-color: " + display.gtk_rgba_to_css_string (rgba) + ";}";
 
 		// Cache background
 		cssBackground = css;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
index e4a4522..c1d0838 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
@@ -3376,14 +3376,13 @@
 		background = rgba;
 	}
 	GdkRGBA selectedBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION).handle;
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "treeview" : "GtkTreeView";
-	String css = name + " {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
-			+ name + ":selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
+	String css = "treeview {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"+
+			 "treeview:selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
 
-		// Cache background color
-		cssBackground = css;
+	// Cache background color
+	cssBackground = css;
 
-		// Apply background color and any foreground color
+	// Apply background color and any foreground color
 	String finalCss = display.gtk_css_create_css_color_string (cssBackground, cssForeground, SWT.BACKGROUND);
 	gtk_css_provider_load_from_css(context, finalCss);
 }
@@ -3510,9 +3509,8 @@
 	} else {
 		background = defaultBackground();
 	}
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
 	// background works for 3.18 and later, background-color only as of 3.20
-	String css = name + " {background: " + display.gtk_rgba_to_css_string(background) + ";}\n";
+	String css = "button {background: " + display.gtk_rgba_to_css_string(background) + ";}\n";
 	headerCSSBackground = css;
 	String finalCss = display.gtk_css_create_css_color_string (headerCSSBackground, headerCSSForeground, SWT.BACKGROUND);
 	for (TableColumn column : columns) {
@@ -3567,8 +3565,7 @@
 	} else {
 		foreground = display.COLOR_LIST_FOREGROUND_RGBA;
 	}
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
-	String css = name + " {color: " + display.gtk_rgba_to_css_string(foreground) + ";}";
+	String css = "button {color: " + display.gtk_rgba_to_css_string(foreground) + ";}";
 	headerCSSForeground = css;
 	String finalCss = display.gtk_css_create_css_color_string (headerCSSBackground, headerCSSForeground, SWT.FOREGROUND);
 	for (TableColumn column : columns) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
index 90bd707..6da67fe 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
@@ -2210,20 +2210,16 @@
 	GdkRGBA selectedForeground = display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT).handle;
 	String css;
 	String properties;
-	String name;
-	String selection = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? " selection" : ":selected";
 	if ((style & SWT.SINGLE) != 0) {
-		name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "entry" : "GtkEntry";
-		properties = " {background: " + display.gtk_rgba_to_css_string(background) + ";}\n"
-				+ name + ":selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n"
-				+ name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
+		properties = "entry {background: " + display.gtk_rgba_to_css_string(background) + ";}\n"
+				+ "entry:selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n"
+				+ "entry selection {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
 	} else {
-		name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "textview text" : "GtkTextView";
-		properties = " {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
-				+ name + ":selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n"
-				+ name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
+		properties = "textview {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
+				+ "textview text:selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n"
+				+ "textview text selection {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
 	}
-	css = name + properties;
+	css = properties;
 
 	// Cache background color
 	cssBackground = css;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java
index 2f12695..1268b34 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java
@@ -588,13 +588,12 @@
 @Override
 void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
 	// Form background string
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "toolbar" : "GtkToolbar";
-	String css = name + " {background-color: " + display.gtk_rgba_to_css_string(rgba) + "}";
+	String css = "toolbar {background-color: " + display.gtk_rgba_to_css_string(rgba) + "}";
 
-		// Cache background color
-		this.cssBackground = css;
+	// Cache background color
+	this.cssBackground = css;
 
-		// Apply background color and any foreground color
+	// Apply background color and any foreground color
 	String finalCss = display.gtk_css_create_css_color_string (this.cssBackground, this.cssForeground, SWT.BACKGROUND);
 	gtk_css_provider_load_from_css(context, finalCss);
 }
@@ -616,17 +615,15 @@
 	long context = GTK.gtk_widget_get_style_context (handle);
 	// Form foreground string
 	String color = display.gtk_rgba_to_css_string(toSet);
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? display.gtk_widget_class_get_css_name(handle)
-			: display.gtk_widget_get_name(handle);
+	String name = display.gtk_widget_class_get_css_name(handle);
 	GdkRGBA selectedForeground = display.COLOR_LIST_SELECTION_TEXT_RGBA;
-	String selection = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? " selection" : ":selected";
 	String css = "* {color: " + color + ";}\n"
-			+ name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
+			+ name + " selection {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
 
-		// Cache foreground color
-		this.cssForeground = css;
+	// Cache foreground color
+	this.cssForeground = css;
 
-		// Apply foreground color and any cached background color
+	// Apply foreground color and any cached background color
 	String finalCss = display.gtk_css_create_css_color_string (this.cssBackground, this.cssForeground, SWT.FOREGROUND);
 	gtk_css_provider_load_from_css(context, finalCss);
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
index 9aae4dc..1b07d65 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
@@ -285,8 +285,7 @@
 		Color background = display.getSystemColor (SWT.COLOR_INFO_BACKGROUND);
 		long context = GTK.gtk_widget_get_style_context (handle);
 		GdkRGBA bgRGBA = background.handle;
-		String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "window" : "GtkWindow";
-		String css = name + " {background-color: " + display.gtk_rgba_to_css_string(bgRGBA) + ";}";
+		String css = "window {background-color: " + display.gtk_rgba_to_css_string(bgRGBA) + ";}";
 		gtk_css_provider_load_from_css (context, css);
 		GTK.gtk_style_context_invalidate (context);
 		GTK.gtk_window_set_type_hint (handle, GDK.GDK_WINDOW_TYPE_HINT_TOOLTIP);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
index 1ba12ae..5b244d8 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
@@ -872,14 +872,13 @@
 	} else if (opaque == cachedBackgroundIsOpaque.booleanValue()) {
 		return;
 	}
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "window" : "GtkWindow";
 	String css;
 	if (opaque) {
 		GTK.gtk_widget_set_opacity (overlay, 1.0);
-		css = name + " {background-color: rgb(0,0,0);}";
+		css = "window {background-color: rgb(0,0,0);}";
 	} else {
 		GTK.gtk_widget_set_opacity (overlay, 0.0);
-		css = name +  " {  "
+		css = "window {  "
 				+ "border-top-color: transparent;"
 				+ "border-left-color: transparent;"
 				+ "border-right-color: transparent;"
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
index 1599ded..76bee3f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
@@ -3499,14 +3499,13 @@
 		background = rgba;
 	}
 	GdkRGBA selectedBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION).handle;
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "treeview" : "GtkTreeView";
-	String css = name + " {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
-			+ name + ":selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
+	String css = "treeview {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
+			+ "treeview:selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
 
-		// Cache background color
-		cssBackground = css;
+	// Cache background color
+	cssBackground = css;
 
-		// Apply background color and any foreground color
+	// Apply background color and any foreground color
 	String finalCss = display.gtk_css_create_css_color_string (cssBackground, cssForeground, SWT.BACKGROUND);
 	gtk_css_provider_load_from_css(context, finalCss);
 }
@@ -3634,9 +3633,8 @@
 	} else {
 		background = defaultBackground();
 	}
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
 	// background works for 3.18 and later, background-color only as of 3.20
-	String css = name + " {background: " + display.gtk_rgba_to_css_string(background) + ";}\n";
+	String css = "button {background: " + display.gtk_rgba_to_css_string(background) + ";}\n";
 	headerCSSBackground = css;
 	String finalCss = display.gtk_css_create_css_color_string (headerCSSBackground, headerCSSForeground, SWT.BACKGROUND);
 	for (TreeColumn column : columns) {
@@ -3691,8 +3689,7 @@
 	} else {
 		foreground = display.COLOR_LIST_FOREGROUND_RGBA;
 	}
-	String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
-	String css = name + " {color: " + display.gtk_rgba_to_css_string(foreground) + ";}";
+	String css = "button {color: " + display.gtk_rgba_to_css_string(foreground) + ";}";
 	headerCSSForeground = css;
 	String finalCss = display.gtk_css_create_css_color_string (headerCSSBackground, headerCSSForeground, SWT.FOREGROUND);
 	for (TreeColumn column : columns) {