Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Unified Diff: ui/base/layout.cc

Issue 211493009: Ensure that extension resources are loaded with the correct scaling applied on Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed the GetImageScaleForScaleFactor function Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/base/layout.cc
diff --git a/ui/base/layout.cc b/ui/base/layout.cc
index 2c1fb51a3952706e1f6d77a0b2f29a46c2508124..6bc382ee565035b4dd9bd7b04dd7e61f033f5f29 100644
--- a/ui/base/layout.cc
+++ b/ui/base/layout.cc
@@ -20,6 +20,7 @@
#if defined(OS_WIN)
#include "base/win/metro.h"
+#include "ui/gfx/win/dpi.h"
#include <Windows.h>
#endif // defined(OS_WIN)
@@ -60,13 +61,13 @@ bool UseTouchOptimizedUI() {
}
#endif // defined(OS_WIN)
-const float kScaleFactorScales[] = {1.0f, 1.0f, 1.25f, 1.33f, 1.4f, 1.5f, 1.8f,
- 2.0f, 3.0f};
-COMPILE_ASSERT(NUM_SCALE_FACTORS == arraysize(kScaleFactorScales),
- kScaleFactorScales_incorrect_size);
-
} // namespace
+float g_kScaleFactorScales[] = {1.0f, 1.0f, 1.25f, 1.33f, 1.4f, 1.5f, 1.8f,
+ 2.0f, 3.0f};
+COMPILE_ASSERT(NUM_SCALE_FACTORS == arraysize(g_kScaleFactorScales),
+ kScaleFactorScales_incorrect_size);
+
DisplayLayout GetDisplayLayout() {
#if defined(OS_WIN)
if (UseTouchOptimizedUI())
@@ -90,7 +91,7 @@ void SetSupportedScaleFactors(
for (std::vector<ScaleFactor>::const_iterator it =
g_supported_scale_factors->begin();
it != g_supported_scale_factors->end(); ++it) {
- scales.push_back(GetImageScale(*it));
+ scales.push_back(g_kScaleFactorScales[*it]);
}
gfx::ImageSkia::SetSupportedScales(scales);
}
@@ -106,7 +107,7 @@ ScaleFactor GetSupportedScaleFactor(float scale) {
float smallest_diff = std::numeric_limits<float>::max();
for (size_t i = 0; i < g_supported_scale_factors->size(); ++i) {
ScaleFactor scale_factor = (*g_supported_scale_factors)[i];
- float diff = std::abs(kScaleFactorScales[scale_factor] - scale);
+ float diff = std::abs(g_kScaleFactorScales[scale_factor] - scale);
if (diff < smallest_diff) {
closest_match = scale_factor;
smallest_diff = diff;
@@ -117,7 +118,11 @@ ScaleFactor GetSupportedScaleFactor(float scale) {
}
float GetImageScale(ScaleFactor scale_factor) {
- return kScaleFactorScales[scale_factor];
+#if defined(OS_WIN)
+ if (gfx::IsHighDPIEnabled())
+ return gfx::win::GetDeviceScaleFactor();
+#endif
+ return g_kScaleFactorScales[scale_factor];
}
bool IsScaleFactorSupported(ScaleFactor scale_factor) {
@@ -135,7 +140,7 @@ ScaleFactor FindClosestScaleFactorUnsafe(float scale) {
ScaleFactor closest_match = SCALE_FACTOR_100P;
for (int i = SCALE_FACTOR_100P; i < NUM_SCALE_FACTORS; ++i) {
const ScaleFactor scale_factor = static_cast<ScaleFactor>(i);
- float diff = std::abs(kScaleFactorScales[scale_factor] - scale);
+ float diff = std::abs(g_kScaleFactorScales[scale_factor] - scale);
if (diff < smallest_diff) {
closest_match = scale_factor;
smallest_diff = diff;
« ui/base/layout.h ('K') | « ui/base/layout.h ('k') | ui/base/resource/resource_bundle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698