Index: chrome/browser/ui/libgtk2ui/gtk2_ui.cc |
diff --git a/chrome/browser/ui/libgtk2ui/gtk2_ui.cc b/chrome/browser/ui/libgtk2ui/gtk2_ui.cc |
index f9ce890766ce94e9069bcf1ad20e63e448979600..ca74730bcb5f7e1e3944e145ee472f128f7eb7a3 100644 |
--- a/chrome/browser/ui/libgtk2ui/gtk2_ui.cc |
+++ b/chrome/browser/ui/libgtk2ui/gtk2_ui.cc |
@@ -8,8 +8,6 @@ |
#include <set> |
#include <pango/pango.h> |
-#include <X11/Xlib.h> |
-#include <gio/gio.h> |
#include "base/command_line.h" |
#include "base/debug/leak_annotations.h" |
@@ -52,7 +50,6 @@ |
#include "ui/gfx/image/image.h" |
#include "ui/gfx/skbitmap_operations.h" |
#include "ui/gfx/skia_util.h" |
-#include "ui/gfx/x/x11_types.h" |
#include "ui/native_theme/native_theme.h" |
#include "ui/resources/grit/ui_resources.h" |
#include "ui/views/controls/button/label_button.h" |
@@ -384,27 +381,20 @@ gfx::FontRenderParams GetGtkFontRenderParams() { |
return params; |
} |
-double GetBaseDPI() { |
- XDisplay* xdisplay = gfx::GetXDisplay(); |
- int xscreen = DefaultScreen(xdisplay); |
- return (DisplayHeight(xdisplay, xscreen) * 25.4) / |
- DisplayHeightMM(xdisplay, xscreen); |
-} |
- |
-double GetFontDPI() { |
+double GetDPI() { |
GtkSettings* gtk_settings = gtk_settings_get_default(); |
CHECK(gtk_settings); |
gint gtk_dpi = -1; |
g_object_get(gtk_settings, "gtk-xft-dpi", >k_dpi, NULL); |
// GTK multiplies the DPI by 1024 before storing it. |
- return (gtk_dpi > 0) ? gtk_dpi / 1024.0 : GetBaseDPI(); |
+ return (gtk_dpi > 0) ? gtk_dpi / 1024.0 : 96.0; |
} |
// Queries GTK for its font DPI setting and returns the number of pixels in a |
// point. |
double GetPixelsInPoint(float device_scale_factor) { |
- double dpi = GetFontDPI(); |
+ double dpi = GetDPI(); |
// Take device_scale_factor into account — if Chrome already scales the |
// entire UI up by 2x, we should not also scale up. |
@@ -428,21 +418,6 @@ views::LinuxUI::NonClientMiddleClickAction GetDefaultMiddleClickAction() { |
} |
} |
-double GetGnomeTextScalingFactor() { |
- const char kDesktopInterfaceSchema[] = "org.gnome.desktop.interface"; |
- for (const gchar* const* schemas = g_settings_list_schemas(); *schemas; |
- schemas++) { |
- if (!strcmp(kDesktopInterfaceSchema, static_cast<const char*>(*schemas))) { |
- GSettings* settings = g_settings_new(kDesktopInterfaceSchema); |
- double scale = g_settings_get_double(settings, "text-scaling-factor"); |
- g_object_unref(settings); |
- return scale; |
- } |
- } |
- // Fallback if the schema does not exist. |
- return GetFontDPI() / GetBaseDPI(); |
-} |
- |
} // namespace |
Gtk2UI::Gtk2UI() |
@@ -1462,12 +1437,10 @@ void Gtk2UI::UpdateDeviceScaleFactor(float device_scale_factor) { |
float Gtk2UI::GetDeviceScaleFactor() const { |
if (gfx::Display::HasForceDeviceScaleFactor()) |
return gfx::Display::GetForcedDeviceScaleFactor(); |
- // Linux chrome does not support dynamnic scale factor change. Use the |
- // value obtanied during startup. The value is rounded to 1 decimal, e.g. |
- // to 1.4, for safety. |
- static float device_scale_factor = |
- roundf(GetGnomeTextScalingFactor() * 10) / 10; |
- return device_scale_factor; |
+ const int kCSSDefaultDPI = 96; |
+ float scale = GetDPI() / kCSSDefaultDPI; |
+ // Round to 1 decimal, e.g. to 1.4. |
+ return roundf(scale * 10) / 10; |
} |
} // namespace libgtk2ui |