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

Unified Diff: ui/base/layout.cc

Issue 10946019: Don't return unsupported scales frrom GetScaleFactorFromScale() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleaned up Created 8 years, 3 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 48bdab67de386a4dd7298d0a11ac4bee0f3e3e15..65ee844f6626d58d1d880534dd1b0ef09977ec23 100644
--- a/ui/base/layout.cc
+++ b/ui/base/layout.cc
@@ -88,6 +88,23 @@ std::vector<ui::ScaleFactor>& GetSupportedScaleFactorsInternal() {
return *supported_scale_factors;
}
+ui::ScaleFactor GetScaleFactorFromScaleInternal(float scale,
+ bool includeUnsupported) {
pkotwicz 2012/09/19 14:22:10 Nit: use camel case for variable include_unsupport
+ size_t closest_match = 0;
+ float smallest_diff = std::numeric_limits<float>::max();
+ for (size_t i = 0; i < kScaleFactorScalesLength; ++i) {
+ if (!includeUnsupported &&
+ !ui::IsScaleFactorSupported(static_cast<ui::ScaleFactor>(i)))
+ continue;
+ float diff = std::abs(kScaleFactorScales[i] - scale);
+ if (diff < smallest_diff) {
+ closest_match = i;
+ smallest_diff = diff;
+ }
+ }
+ return static_cast<ui::ScaleFactor>(closest_match);
+}
+
} // namespace
namespace ui {
@@ -110,16 +127,11 @@ DisplayLayout GetDisplayLayout() {
}
ScaleFactor GetScaleFactorFromScale(float scale) {
- size_t closest_match = 0;
- float smallest_diff = std::numeric_limits<float>::max();
- for (size_t i = 0; i < kScaleFactorScalesLength; ++i) {
- float diff = std::abs(kScaleFactorScales[i] - scale);
- if (diff < smallest_diff) {
- closest_match = i;
- smallest_diff = diff;
- }
- }
- return static_cast<ui::ScaleFactor>(closest_match);
+ return GetScaleFactorFromScaleInternal(scale, true);
+}
+
+ScaleFactor GetSupportedScaleFactorFromScale(float scale) {
+ return GetScaleFactorFromScaleInternal(scale, false);
}
float GetScaleFactorScale(ScaleFactor scale_factor) {
« ui/base/layout.h ('K') | « ui/base/layout.h ('k') | ui/base/layout_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698