Index: components/mus/ws/event_dispatcher.cc |
diff --git a/components/mus/ws/event_dispatcher.cc b/components/mus/ws/event_dispatcher.cc |
index e354514153314d22b0c40dd999b9a536bb6be0a0..24f968030bbc65903eab3517bdcd458dbb70c57f 100644 |
--- a/components/mus/ws/event_dispatcher.cc |
+++ b/components/mus/ws/event_dispatcher.cc |
@@ -22,14 +22,14 @@ namespace mus { |
namespace ws { |
namespace { |
-bool IsOnlyOneMouseButtonDown(mojom::EventFlags flags) { |
+bool IsOnlyOneMouseButtonDown(int flags) { |
const uint32_t mouse_only_flags = |
- flags & (mojom::EVENT_FLAGS_LEFT_MOUSE_BUTTON | |
- mojom::EVENT_FLAGS_MIDDLE_MOUSE_BUTTON | |
- mojom::EVENT_FLAGS_RIGHT_MOUSE_BUTTON); |
- return mouse_only_flags == mojom::EVENT_FLAGS_LEFT_MOUSE_BUTTON || |
- mouse_only_flags == mojom::EVENT_FLAGS_MIDDLE_MOUSE_BUTTON || |
- mouse_only_flags == mojom::EVENT_FLAGS_RIGHT_MOUSE_BUTTON; |
+ flags & |
+ (mojom::kEventFlagLeftMouseButton | mojom::kEventFlagMiddleMouseButton | |
+ mojom::kEventFlagRightMouseButton); |
+ return mouse_only_flags == mojom::kEventFlagLeftMouseButton || |
+ mouse_only_flags == mojom::kEventFlagMiddleMouseButton || |
+ mouse_only_flags == mojom::kEventFlagRightMouseButton; |
} |
bool IsLocationInNonclientArea(const ServerWindow* target, |
@@ -61,11 +61,11 @@ class EventMatcher { |
public: |
explicit EventMatcher(const mojom::EventMatcher& matcher) |
: fields_to_match_(NONE), |
- event_type_(mojom::EVENT_TYPE_UNKNOWN), |
- event_flags_(mojom::EVENT_FLAGS_NONE), |
- ignore_event_flags_(mojom::EVENT_FLAGS_NONE), |
- keyboard_code_(mojom::KEYBOARD_CODE_UNKNOWN), |
- pointer_kind_(mojom::POINTER_KIND_MOUSE) { |
+ event_type_(mojom::EventType::UNKNOWN), |
+ event_flags_(mojom::kEventFlagNone), |
+ ignore_event_flags_(mojom::kEventFlagNone), |
+ keyboard_code_(mojom::KeyboardCode::UNKNOWN), |
+ pointer_kind_(mojom::PointerKind::MOUSE) { |
if (matcher.type_matcher) { |
fields_to_match_ |= TYPE; |
event_type_ = matcher.type_matcher->type; |
@@ -96,14 +96,13 @@ class EventMatcher { |
bool MatchesEvent(const mojom::Event& event) const { |
if ((fields_to_match_ & TYPE) && event.action != event_type_) |
return false; |
- mojom::EventFlags flags = |
- static_cast<mojom::EventFlags>(event.flags & ~ignore_event_flags_); |
+ int flags = event.flags & ~ignore_event_flags_; |
if ((fields_to_match_ & FLAGS) && flags != event_flags_) |
return false; |
if (fields_to_match_ & KEYBOARD_CODE) { |
if (!event.key_data) |
return false; |
- if (keyboard_code_ != event.key_data->key_code) |
+ if (static_cast<int32_t>(keyboard_code_) != event.key_data->key_code) |
return false; |
} |
if (fields_to_match_ & POINTER_KIND) { |
@@ -144,8 +143,10 @@ class EventMatcher { |
uint32_t fields_to_match_; |
mojom::EventType event_type_; |
- mojom::EventFlags event_flags_; |
- mojom::EventFlags ignore_event_flags_; |
+ // Bitfields of kEventFlag* and kMouseEventFlag* values in |
+ // input_event_constants.mojom. |
+ int event_flags_; |
+ int ignore_event_flags_; |
mojom::KeyboardCode keyboard_code_; |
mojom::PointerKind pointer_kind_; |
gfx::RectF pointer_region_; |
@@ -199,7 +200,7 @@ void EventDispatcher::ProcessEvent(mojom::EventPtr event) { |
if (!root_) |
return; |
- if (event->action == mojom::EVENT_TYPE_KEY_PRESSED && |
+ if (event->action == mojom::EventType::KEY_PRESSED && |
!event->key_data->is_char) { |
uint32_t accelerator = 0u; |
if (FindAccelerator(*event, &accelerator)) { |
@@ -230,9 +231,8 @@ void EventDispatcher::ProcessKeyEvent(mojom::EventPtr event) { |
} |
void EventDispatcher::ProcessPointerEvent(mojom::EventPtr event) { |
- const bool is_mouse_event = |
- event->pointer_data && |
- event->pointer_data->kind == mojom::PointerKind::POINTER_KIND_MOUSE; |
+ const bool is_mouse_event = event->pointer_data && |
+ event->pointer_data->kind == mojom::PointerKind::MOUSE; |
if (is_mouse_event) |
mouse_pointer_last_location_ = EventLocationToPoint(*event); |
@@ -259,9 +259,9 @@ void EventDispatcher::ProcessPointerEvent(mojom::EventPtr event) { |
// Release capture on pointer up. For mouse we only release if there are |
// no buttons down. |
const bool is_pointer_going_up = |
- (event->action == mojom::EVENT_TYPE_POINTER_UP || |
- event->action == mojom::EVENT_TYPE_POINTER_CANCEL) && |
- (event->pointer_data->kind != mojom::POINTER_KIND_MOUSE || |
+ (event->action == mojom::EventType::POINTER_UP || |
+ event->action == mojom::EventType::POINTER_CANCEL) && |
+ (event->pointer_data->kind != mojom::PointerKind::MOUSE || |
IsOnlyOneMouseButtonDown(event->flags)); |
if (is_pointer_going_up && is_mouse_event) { |
@@ -322,11 +322,11 @@ void EventDispatcher::UpdateTargetForPointer(const mojom::Event& event) { |
} |
// The targets are changing. Send an exit if appropriate. |
- if (event.pointer_data->kind == mojom::POINTER_KIND_MOUSE) { |
+ if (event.pointer_data->kind == mojom::PointerKind::MOUSE) { |
mojom::EventPtr exit_event = mojom::Event::New(); |
- exit_event->action = mojom::EVENT_TYPE_MOUSE_EXIT; |
+ exit_event->action = mojom::EventType::MOUSE_EXIT; |
// TODO(sky): copy flags from existing event? |
- exit_event->flags = mojom::EVENT_FLAGS_NONE; |
+ exit_event->flags = mojom::kEventFlagNone; |
exit_event->time_stamp = event.time_stamp; |
exit_event->pointer_data = mojom::PointerData::New(); |
exit_event->pointer_data->pointer_id = event.pointer_data->pointer_id; |
@@ -351,7 +351,7 @@ EventDispatcher::PointerTarget EventDispatcher::PointerTargetForEvent( |
pointer_target.in_nonclient_area = |
IsLocationInNonclientArea(pointer_target.window, location); |
pointer_target.is_pointer_down = |
- event.action == mojom::EVENT_TYPE_POINTER_DOWN; |
+ event.action == mojom::EventType::POINTER_DOWN; |
return pointer_target; |
} |