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

Unified Diff: components/mus/ws/event_dispatcher.cc

Issue 1527183003: Change mojo enums to be scoped enums in the generated C++ bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-binding-equals
Patch Set: rebase Created 4 years, 11 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 | « components/mus/ws/default_access_policy.cc ('k') | components/mus/ws/event_dispatcher_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
}
« no previous file with comments | « components/mus/ws/default_access_policy.cc ('k') | components/mus/ws/event_dispatcher_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698