Index: ui/base/layout.cc |
diff --git a/ui/base/layout.cc b/ui/base/layout.cc |
index 367dde33be2c539c9ecc1ac23f5939f18c2f79ce..21f2b116e4bde82366a35e8c5409bc891c4bee2e 100644 |
--- a/ui/base/layout.cc |
+++ b/ui/base/layout.cc |
@@ -78,7 +78,17 @@ std::vector<ScaleFactor>& GetSupportedScaleFactorsInternal() { |
supported_scale_factors->push_back(SCALE_FACTOR_100P); |
#endif |
-#if defined(OS_IOS) |
+#if defined(OS_ANDROID) |
+ const gfx::Display display = |
+ gfx::Screen::GetNativeScreen()->GetPrimaryDisplay(); |
+ const float display_density = display.device_scale_factor(); |
+ for (int i = NUM_SCALE_FACTORS - 1; i > SCALE_FACTOR_100P; --i) { |
+ if (display_density >= kScaleFactorScales[i]) { |
Nico
2013/01/17 06:31:33
Is 2.0 high enough for android? Nexus 10 has close
aruslan
2013/01/17 23:01:10
1.5 and 3.0 are closer matches for 240 (mdpi) and
|
+ supported_scale_factors->push_back(static_cast<ScaleFactor>(i)); |
+ break; |
+ } |
+ } |
+#elif defined(OS_IOS) |
gfx::Display display = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay(); |
if (display.device_scale_factor() > 1.0) { |
DCHECK_EQ(2.0, display.device_scale_factor()); |