Commit 3c775c28 authored by Rob Schonberger's avatar Rob Schonberger Committed by Commit Bot

Rename CancelAllTouches to the appropriate "MaybeCancelAllTouches".

By doing so, note that a break in a for loop is not appropriate when
not all items are cancelled. So only cancel if all items are
cancelled, etc.

Bug: 982118
Bug: 946868
Change-Id: I098eb046b9e0407493033b865ad6bb38a1ec5231
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1694281
Commit-Queue: Rob Schonberger <robsc@chromium.org>
Reviewed-by: default avatarMichael Spang <spang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#676210}
parent 39d427c5
...@@ -250,7 +250,7 @@ void TouchEventConverterEvdev::Initialize(const EventDeviceInfo& info) { ...@@ -250,7 +250,7 @@ void TouchEventConverterEvdev::Initialize(const EventDeviceInfo& info) {
events_[0].cancelled = false; events_[0].cancelled = false;
} }
if (cancelled_state) if (cancelled_state)
CancelAllTouches(); MaybeCancelAllTouches();
false_touch_finder_ = FalseTouchFinder::Create(GetTouchscreenSize()); false_touch_finder_ = FalseTouchFinder::Create(GetTouchscreenSize());
} }
...@@ -514,12 +514,12 @@ void TouchEventConverterEvdev::ReportTouchEvent( ...@@ -514,12 +514,12 @@ void TouchEventConverterEvdev::ReportTouchEvent(
details, timestamp, flags)); details, timestamp, flags));
} }
void TouchEventConverterEvdev::CancelAllTouches() { bool TouchEventConverterEvdev::MaybeCancelAllTouches() {
// TODO(denniskempin): Remove once upper layers properly handle single // TODO(denniskempin): Remove once upper layers properly handle single
// cancelled touches. // cancelled touches.
if (base::CommandLine::ForCurrentProcess()->HasSwitch( if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableCancelAllTouches)) { switches::kDisableCancelAllTouches)) {
return; return false;
} }
for (size_t i = 0; i < events_.size(); i++) { for (size_t i = 0; i < events_.size(); i++) {
InProgressTouchEvdev* event = &events_[i]; InProgressTouchEvdev* event = &events_[i];
...@@ -528,6 +528,7 @@ void TouchEventConverterEvdev::CancelAllTouches() { ...@@ -528,6 +528,7 @@ void TouchEventConverterEvdev::CancelAllTouches() {
event->altered = true; event->altered = true;
} }
} }
return true;
} }
bool TouchEventConverterEvdev::IsPalm(const InProgressTouchEvdev& touch) { bool TouchEventConverterEvdev::IsPalm(const InProgressTouchEvdev& touch) {
...@@ -552,10 +553,11 @@ void TouchEventConverterEvdev::ReportEvents(base::TimeTicks timestamp) { ...@@ -552,10 +553,11 @@ void TouchEventConverterEvdev::ReportEvents(base::TimeTicks timestamp) {
if (event->altered && (event->cancelled || if (event->altered && (event->cancelled ||
(false_touch_finder_ && (false_touch_finder_ &&
false_touch_finder_->SlotHasNoise(event->slot)))) { false_touch_finder_->SlotHasNoise(event->slot)))) {
CancelAllTouches(); if (MaybeCancelAllTouches()) {
break; break;
} }
} }
}
for (size_t i = 0; i < events_.size(); i++) { for (size_t i = 0; i < events_.size(); i++) {
InProgressTouchEvdev* event = &events_[i]; InProgressTouchEvdev* event = &events_[i];
......
...@@ -90,7 +90,8 @@ class EVENTS_OZONE_EVDEV_EXPORT TouchEventConverterEvdev ...@@ -90,7 +90,8 @@ class EVENTS_OZONE_EVDEV_EXPORT TouchEventConverterEvdev
void UpdateTrackingId(int slot, int tracking_id); void UpdateTrackingId(int slot, int tracking_id);
void ReleaseTouches(); void ReleaseTouches();
void CancelAllTouches(); // Returns true if all touches were marked cancelled. Otherwise false.
bool MaybeCancelAllTouches();
bool IsPalm(const InProgressTouchEvdev& touch); bool IsPalm(const InProgressTouchEvdev& touch);
// Normalize pressure value to [0, 1]. // Normalize pressure value to [0, 1].
float ScalePressure(int32_t value) const; float ScalePressure(int32_t value) const;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment