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

Unified Diff: ui/events/event.cc

Issue 1843433002: mash: Fix DCHECK when clicking on window close box (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments 2 Created 4 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
« no previous file with comments | « ui/events/event.h ('k') | ui/events/event_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/event.cc
diff --git a/ui/events/event.cc b/ui/events/event.cc
index 0630356168c2e1efd1638dbb368d585079c6e6da..e391e207f4fce6afc687c3d79875dfb9fa74bf98 100644
--- a/ui/events/event.cc
+++ b/ui/events/event.cc
@@ -721,6 +721,24 @@ void TouchEvent::FixRotationAngle() {
////////////////////////////////////////////////////////////////////////////////
// PointerEvent
+bool PointerEvent::CanConvertFrom(const Event& event) {
+ switch (event.type()) {
+ case ET_MOUSE_PRESSED:
+ case ET_MOUSE_DRAGGED:
+ case ET_MOUSE_MOVED:
+ case ET_MOUSE_ENTERED:
+ case ET_MOUSE_EXITED:
+ case ET_MOUSE_RELEASED:
+ case ET_TOUCH_PRESSED:
+ case ET_TOUCH_MOVED:
+ case ET_TOUCH_RELEASED:
+ case ET_TOUCH_CANCELLED:
+ return true;
+ default:
+ return false;
+ }
+}
+
PointerEvent::PointerEvent(const PointerEvent& pointer_event)
: LocatedEvent(pointer_event),
pointer_id_(pointer_event.pointer_id()),
@@ -730,6 +748,7 @@ PointerEvent::PointerEvent(const MouseEvent& mouse_event)
: LocatedEvent(mouse_event),
pointer_id_(kMousePointerId),
details_(mouse_event.pointer_details()) {
+ DCHECK(CanConvertFrom(mouse_event));
switch (mouse_event.type()) {
case ET_MOUSE_PRESSED:
SetType(ET_POINTER_DOWN);
@@ -761,6 +780,7 @@ PointerEvent::PointerEvent(const TouchEvent& touch_event)
: LocatedEvent(touch_event),
pointer_id_(touch_event.touch_id()),
details_(touch_event.pointer_details()) {
+ DCHECK(CanConvertFrom(touch_event));
switch (touch_event.type()) {
case ET_TOUCH_PRESSED:
SetType(ET_POINTER_DOWN);
« no previous file with comments | « ui/events/event.h ('k') | ui/events/event_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698