summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormozartalouis <mozartalouis@google.com>2015-07-07 15:19:48 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-07 22:22:04 +0000
commit8e91cc179775d926663f1e33505de0a3e92ceaad (patch)
treebd36f2c2bfa2fe017b9fa3663b20f732c48d42c6
parent5de7b58b571ab8786508808586802e9d5a32d0e6 (diff)
downloadchromium_src-8e91cc179775d926663f1e33505de0a3e92ceaad.zip
chromium_src-8e91cc179775d926663f1e33505de0a3e92ceaad.tar.gz
chromium_src-8e91cc179775d926663f1e33505de0a3e92ceaad.tar.bz2
Set default scale factor fpr 4k monitor over 40' to 2x
BUG=479004 R=oshima@chromium.org Review URL: https://codereview.chromium.org/1210263004 Cr-Commit-Position: refs/heads/master@{#337699}
-rw-r--r--ash/display/display_change_observer_chromeos.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/ash/display/display_change_observer_chromeos.cc b/ash/display/display_change_observer_chromeos.cc
index 1f5a6f3..fe2e479 100644
--- a/ash/display/display_change_observer_chromeos.cc
+++ b/ash/display/display_change_observer_chromeos.cc
@@ -196,6 +196,20 @@ void DisplayChangeObserver::OnDisplayModeChanged(
if (Shell::GetInstance()->display_manager()->GetSelectedModeForDisplayId(
state->display_id(), &mode)) {
device_scale_factor = mode.device_scale_factor;
+ } else {
+ // For monitors that are 40 inches and 4K or above, set
+ // |device_scale_factor| to 2x. For margin purposes, 100 is subtracted
+ // from the value of |k2xThreshouldSizeSquaredFor4KInMm|
+ const int k2xThreshouldSizeSquaredFor4KInMm =
+ (40 * 40 * kInchInMm * kInchInMm) - 100;
+ gfx::Vector2d size_in_vec(state->physical_size().width(),
+ state->physical_size().height());
+ if (size_in_vec.LengthSquared() > k2xThreshouldSizeSquaredFor4KInMm &&
+ mode_info->size().width() >= kMinimumWidthFor4K) {
+ // Make sure that additional device scale factors table has 2x.
+ DCHECK_EQ(2.0f, kAdditionalDeviceScaleFactorsFor4k[1]);
+ device_scale_factor = 2.0f;
+ }
}
}
gfx::Rect display_bounds(state->origin(), mode_info->size());