| 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;
|
| }
|
|
|
|
|