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

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

Issue 1465803003: mus: Let clients set the cursor of their window. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix WindowTreeAppTest.SetCursor. Created 5 years 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: components/mus/ws/event_dispatcher.cc
diff --git a/components/mus/ws/event_dispatcher.cc b/components/mus/ws/event_dispatcher.cc
index c9f71deda563e6948ce4eb61b9a28e9ec3d38429..63b42dd6a9745a2daf6e068a78fd927846c65c9d 100644
--- a/components/mus/ws/event_dispatcher.cc
+++ b/components/mus/ws/event_dispatcher.cc
@@ -141,7 +141,9 @@ class EventMatcher {
////////////////////////////////////////////////////////////////////////////////
EventDispatcher::EventDispatcher(EventDispatcherDelegate* delegate)
- : delegate_(delegate), root_(nullptr) {}
+ : delegate_(delegate),
+ root_(nullptr),
+ last_pointer_target_window_(nullptr) {}
EventDispatcher::~EventDispatcher() {
std::set<ServerWindow*> pointer_targets;
@@ -263,6 +265,9 @@ void EventDispatcher::DispatchToPointerTarget(const PointerTarget& target,
if (!target.window)
return;
+ if (event->pointer_data->kind == mojom::PointerKind::POINTER_KIND_MOUSE)
+ last_pointer_target_window_ = target.window;
+
gfx::Point location(EventLocationToPoint(*event));
gfx::Transform transform(GetTransformToWindow(surface_id_, target.window));
transform.TransformPoint(&location);
@@ -313,6 +318,9 @@ void EventDispatcher::OnWindowVisibilityChanged(ServerWindow* window) {
void EventDispatcher::OnWindowDestroyed(ServerWindow* window) {
CancelPointerEventsToTarget(window);
+
+ if (last_pointer_target_window_ == window)
+ last_pointer_target_window_ = nullptr;
}
} // namespace ws

Powered by Google App Engine
This is Rietveld 408576698