Chromium Code Reviews| Index: chrome/browser/ui/libgtkui/gtk_ui.cc |
| diff --git a/chrome/browser/ui/libgtkui/gtk_ui.cc b/chrome/browser/ui/libgtkui/gtk_ui.cc |
| index eb8eb01600485b17bbdefa429660aedcf1bedcd2..9082d0f340ed4697c8f61a5a1a7954c624e93094 100644 |
| --- a/chrome/browser/ui/libgtkui/gtk_ui.cc |
| +++ b/chrome/browser/ui/libgtkui/gtk_ui.cc |
| @@ -312,52 +312,17 @@ gfx::FontRenderParams GetGtkFontRenderParams() { |
| return params; |
| } |
| -float GtkDpiToScaleFactor(int dpi) { |
| - // GTK multiplies the DPI by 1024 before storing it. |
| - return dpi / (1024 * kDefaultDPI); |
| -} |
| - |
| -gint GetGdkScreenSettingInt(const char* setting_name) { |
| - GValue value = G_VALUE_INIT; |
| - g_value_init(&value, G_TYPE_INT); |
| - if (!gdk_screen_get_setting(gdk_screen_get_default(), setting_name, &value)) |
| - return -1; |
| - return g_value_get_int(&value); |
| -} |
| - |
| -float GetScaleFromGdkScreenSettings() { |
| - gint window_scale = GetGdkScreenSettingInt("gdk-window-scaling-factor"); |
| - if (window_scale <= 0) |
| - return -1; |
| - gint font_dpi = GetGdkScreenSettingInt("gdk-unscaled-dpi"); |
| - if (font_dpi <= 0) |
| - return -1; |
| - return window_scale * GtkDpiToScaleFactor(font_dpi); |
| -} |
| - |
| -float GetScaleFromXftDPI() { |
| - GtkSettings* gtk_settings = gtk_settings_get_default(); |
| - CHECK(gtk_settings); |
| - gint gtk_dpi = -1; |
| - g_object_get(gtk_settings, "gtk-xft-dpi", >k_dpi, nullptr); |
|
Lei Zhang
2017/06/16 00:53:13
Does the gdk APIs take gtk-xft-dpi into account so
Tom Anderson
2017/06/16 19:50:18
I think now it uses a combo of gdk-window-scaling-
|
| - if (gtk_dpi <= 0) |
| - return -1; |
| - return GtkDpiToScaleFactor(gtk_dpi); |
| -} |
| - |
| float GetRawDeviceScaleFactor() { |
| if (display::Display::HasForceDeviceScaleFactor()) |
| return display::Display::GetForcedDeviceScaleFactor(); |
| - float scale = GetScaleFromGdkScreenSettings(); |
| - if (scale > 0) |
| - return scale; |
| - |
| - scale = GetScaleFromXftDPI(); |
| - if (scale > 0) |
| - return scale; |
| - |
| - return 1; |
| + GdkScreen* screen = gdk_screen_get_default(); |
| + gint scale = gdk_screen_get_monitor_scale_factor( |
| + screen, gdk_screen_get_primary_monitor(screen)); |
| + gdouble resolution = gdk_screen_get_resolution(screen); |
| + if (resolution <= 0) |
| + resolution = kDefaultDPI; |
|
Lei Zhang
2017/06/16 00:53:13
Just return |scale| here?
Tom Anderson
2017/06/16 19:50:18
Done.
|
| + return resolution * scale / kDefaultDPI; |
| } |
| views::LinuxUI::NonClientMiddleClickAction GetDefaultMiddleClickAction() { |