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

Unified Diff: Source/core/page/WindowFeatures.cpp

Issue 879913003: Use IntRect instead of FloatRect for window positions and sizes (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: added FIXME comments Created 5 years, 11 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: Source/core/page/WindowFeatures.cpp
diff --git a/Source/core/page/WindowFeatures.cpp b/Source/core/page/WindowFeatures.cpp
index a54dcb7e671d933befd5c7ca93b4f0504d8d517a..c1dadc4a60c7ff30c6c12c251e299ce915577325 100644
--- a/Source/core/page/WindowFeatures.cpp
+++ b/Source/core/page/WindowFeatures.cpp
@@ -23,7 +23,7 @@
#include "config.h"
#include "core/page/WindowFeatures.h"
-#include "platform/geometry/FloatRect.h"
+#include "platform/geometry/IntRect.h"
#include "wtf/Assertions.h"
#include "wtf/MathExtras.h"
#include "wtf/text/StringHash.h"
@@ -165,7 +165,7 @@ void WindowFeatures::setWindowFeature(const String& keyString, const String& val
additionalFeatures.append(keyString);
}
-WindowFeatures::WindowFeatures(const String& dialogFeaturesString, const FloatRect& screenAvailableRect)
+WindowFeatures::WindowFeatures(const String& dialogFeaturesString, const IntRect& screenAvailableRect)
: widthSet(true)
, heightSet(true)
, menuBarVisible(false)
@@ -187,12 +187,12 @@ WindowFeatures::WindowFeatures(const String& dialogFeaturesString, const FloatRe
// - help: boolFeature(features, "help", true), makes help icon appear in dialog (what does it do on Windows?)
// - unadorned: trusted && boolFeature(features, "unadorned");
- width = floatFeature(features, "dialogwidth", 100, screenAvailableRect.width(), 620); // default here came from frame size of dialog in MacIE
- height = floatFeature(features, "dialogheight", 100, screenAvailableRect.height(), 450); // default here came from frame size of dialog in MacIE
+ width = intFeature(features, "dialogwidth", 100, screenAvailableRect.width(), 620); // default here came from frame size of dialog in MacIE
+ height = intFeature(features, "dialogheight", 100, screenAvailableRect.height(), 450); // default here came from frame size of dialog in MacIE
- x = floatFeature(features, "dialogleft", screenAvailableRect.x(), screenAvailableRect.maxX() - width, -1);
+ x = intFeature(features, "dialogleft", screenAvailableRect.x(), screenAvailableRect.maxX() - width, -1);
xSet = x > 0;
- y = floatFeature(features, "dialogtop", screenAvailableRect.y(), screenAvailableRect.maxY() - height, -1);
+ y = intFeature(features, "dialogtop", screenAvailableRect.y(), screenAvailableRect.maxY() - height, -1);
ySet = y > 0;
if (boolFeature(features, "center", true)) {
@@ -220,23 +220,20 @@ bool WindowFeatures::boolFeature(const DialogFeaturesMap& features, const char*
return value.isNull() || value == "1" || value == "yes" || value == "on";
}
-float WindowFeatures::floatFeature(const DialogFeaturesMap& features, const char* key, float min, float max, float defaultValue)
+int WindowFeatures::intFeature(const DialogFeaturesMap& features, const char* key, int min, int max, int defaultValue)
{
DialogFeaturesMap::const_iterator it = features.find(key);
if (it == features.end())
return defaultValue;
- // FIXME: The toDouble function does not offer a way to tell "0q" from string with no digits in it: Both
- // return the number 0 and false for ok. But "0q" should yield the minimum rather than the default.
bool ok;
- double parsedNumber = it->value.toDouble(&ok);
- if ((!parsedNumber && !ok) || std::isnan(parsedNumber))
+ int parsedNumber = it->value.toInt(&ok);
+ if (!ok)
return defaultValue;
if (parsedNumber < min || max <= min)
return min;
if (parsedNumber > max)
return max;
- // FIXME: Seems strange to cast a double to int and then convert back to a float. Why is this a good idea?
- return static_cast<int>(parsedNumber);
+ return parsedNumber;
}
void WindowFeatures::parseDialogFeatures(const String& string, DialogFeaturesMap& map)
« no previous file with comments | « Source/core/page/WindowFeatures.h ('k') | Source/modules/screen_orientation/ScreenOrientationController.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698