tpopela / rpms / chromium

Forked from rpms/chromium 6 years ago
Clone

Blame chromium-61.0.3163.79-gtk2fix.patch

9debcb0
diff -up chromium-61.0.3163.79/chrome/browser/ui/libgtkui/gtk_ui.cc.gtk2fix chromium-61.0.3163.79/chrome/browser/ui/libgtkui/gtk_ui.cc
9debcb0
--- chromium-61.0.3163.79/chrome/browser/ui/libgtkui/gtk_ui.cc.gtk2fix	2017-09-07 15:40:40.904966476 -0400
9debcb0
+++ chromium-61.0.3163.79/chrome/browser/ui/libgtkui/gtk_ui.cc	2017-09-07 15:42:23.829987464 -0400
9debcb0
@@ -1052,11 +1052,19 @@ float GtkUi::GetRawDeviceScaleFactor() {
9debcb0
   if (display::Display::HasForceDeviceScaleFactor())
9debcb0
     return display::Display::GetForcedDeviceScaleFactor();
9debcb0
 
9debcb0
+#if GTK_MAJOR_VERSION == 2
9debcb0
+  GtkSettings* gtk_settings = gtk_settings_get_default();
9debcb0
+  gint gtk_dpi = -1;
9debcb0
+  g_object_get(gtk_settings, "gtk-xft-dpi", &gtk_dpi, nullptr);
9debcb0
+  const float scale_factor = gtk_dpi / (1024 * kDefaultDPI);
9debcb0
+#else
9debcb0
   GdkScreen* screen = gdk_screen_get_default();
9debcb0
   gint scale = gtk_widget_get_scale_factor(fake_window_);
9debcb0
   gdouble resolution = gdk_screen_get_resolution(screen);
9debcb0
   const float scale_factor =
9debcb0
       resolution <= 0 ? scale : resolution * scale / kDefaultDPI;
9debcb0
+#endif
9debcb0
+
9debcb0
   // Blacklist scaling factors <120% (crbug.com/484400) and round
9debcb0
   // to 1 decimal to prevent rendering problems (crbug.com/485183).
9debcb0
   return scale_factor < 1.2f ? 1.0f : roundf(scale_factor * 10) / 10;