Index: ui/base/resource/resource_bundle.cc |
diff --git a/ui/base/resource/resource_bundle.cc b/ui/base/resource/resource_bundle.cc |
index 6d0427158e6f199bbd568e5189010b9a7e11a361..784f6e8655e4d462ea36a157f0cba0e0d09922ba 100644 |
--- a/ui/base/resource/resource_bundle.cc |
+++ b/ui/base/resource/resource_bundle.cc |
@@ -39,6 +39,7 @@ |
#if defined(OS_ANDROID) |
#include "ui/base/resource/resource_bundle_android.h" |
+#include "ui/gfx/android/device_display_info.h" |
#endif |
#if defined(OS_CHROMEOS) |
@@ -608,9 +609,13 @@ void ResourceBundle::InitSharedInstance(Delegate* delegate) { |
supported_scale_factors.push_back(SCALE_FACTOR_100P); |
#endif |
#if defined(OS_ANDROID) |
- const gfx::Display display = |
- gfx::Screen::GetNativeScreen()->GetPrimaryDisplay(); |
- const float display_density = display.device_scale_factor(); |
+ float display_density; |
+ if (gfx::Display::HasForceDeviceScaleFactor()) { |
+ display_density = gfx::Display::GetForcedDeviceScaleFactor(); |
+ } else { |
+ gfx::DeviceDisplayInfo device_info; |
+ display_density = device_info.GetDIPScale(); |
+ } |
const ScaleFactor closest = FindClosestScaleFactorUnsafe(display_density); |
if (closest != SCALE_FACTOR_100P) |
supported_scale_factors.push_back(closest); |