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

Unified Diff: ui/events/gesture_event_details.h

Issue 1695783002: IPC::ParamTraits for ui::Event (towards ui::Events over mojo IPC) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Explicate MUS_COMMON_EXPORT in header and impl Created 4 years, 10 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/events/gesture_event_details.h
diff --git a/ui/events/gesture_event_details.h b/ui/events/gesture_event_details.h
index ff88041fb3eeb38819000f8072b2624938f38aab..6a79a4ad1c12aa277a8078c880b7848e60d8ad7b 100644
--- a/ui/events/gesture_event_details.h
+++ b/ui/events/gesture_event_details.h
@@ -5,12 +5,18 @@
#ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_
#define UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_
+#include <string.h>
+
#include "base/logging.h"
#include "ui/events/event_constants.h"
#include "ui/events/events_base_export.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/rect_conversions.h"
+namespace IPC {
+template <class P> struct ParamTraits;
+}
+
namespace ui {
struct EVENTS_BASE_EXPORT GestureEventDetails {
@@ -137,6 +143,14 @@ struct EVENTS_BASE_EXPORT GestureEventDetails {
return data_.scroll_update.previous_update_in_sequence_prevented;
}
+ // Supports comparison over internal structures for testing.
+ bool operator==(const GestureEventDetails& other) const {
+ return type_ == other.type_ &&
+ !memcmp(&data_, &other.data_, sizeof(Details)) &&
+ touch_points_ == other.touch_points_ &&
+ bounding_box_ == other.bounding_box_;
+ }
+
private:
EventType type_;
union Details {
@@ -182,6 +196,10 @@ struct EVENTS_BASE_EXPORT GestureEventDetails {
int tap_count; // TAP repeat count.
} data_;
+ // For mojo native implementation of (de)serialization.
+ friend struct IPC::ParamTraits<ui::GestureEventDetails>;
+ friend struct IPC::ParamTraits<ui::GestureEventDetails::Details>;
+
int touch_points_; // Number of active touch points in the gesture.
// Bounding box is an axis-aligned rectangle that contains all the

Powered by Google App Engine
This is Rietveld 408576698