summaryrefslogtreecommitdiffstats
path: root/ash/touch
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-09 23:17:35 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-09 23:17:35 +0000
commit4b01b9680e67ba802e8a16027ffe4b4d435fc1e8 (patch)
tree675aa1ca07fa8f0d3bb1f0f4249822a6bf4e817d /ash/touch
parent0c77646718f41510a03905f1ed31cd382109a6c4 (diff)
downloadchromium_src-4b01b9680e67ba802e8a16027ffe4b4d435fc1e8.zip
chromium_src-4b01b9680e67ba802e8a16027ffe4b4d435fc1e8.tar.gz
chromium_src-4b01b9680e67ba802e8a16027ffe4b4d435fc1e8.tar.bz2
Remove implicit flooring Scale() method from Point and Size.
When scaling an integer point or size, return a floating point result. Implicitly flooring hides design problems and bugs. Add conversion functions to floor or ceil a SizeF or PointF into an integer format again. All existing behaviour has been preserved by replacing uses of foo.Scale() with ToFlooredFoo(foo.Scale()). R=sky BUG=147395 Review URL: https://chromiumcodereview.appspot.com/11081007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160970 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/touch')
-rw-r--r--ash/touch/touch_uma.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/ash/touch/touch_uma.cc b/ash/touch/touch_uma.cc
index a6a536f..4312ffd 100644
--- a/ash/touch/touch_uma.cc
+++ b/ash/touch/touch_uma.cc
@@ -11,6 +11,7 @@
#include "ui/aura/window.h"
#include "ui/aura/window_property.h"
#include "ui/base/events/event.h"
+#include "ui/gfx/point_conversions.h"
#if defined(USE_XI2_MT)
#include <X11/extensions/XInput2.h>
@@ -312,7 +313,8 @@ void TouchUMA::RecordTouchEvent(aura::Window* target,
#else
position = ui::EventLocationFromNative(event.native_event());
#endif
- position = position.Scale(1. / target->layer()->device_scale_factor());
+ position = gfx::ToFlooredPoint(
+ position.Scale(1. / target->layer()->device_scale_factor()));
}
position.set_x(std::min(bounds.width() - 1, std::max(0, position.x())));