Index: services/ui/ws/window_tree.h |
diff --git a/services/ui/ws/window_tree.h b/services/ui/ws/window_tree.h |
index c975b06e0d61f82010c5c70599b19d540a1528c8..fd73bf3c8bb16403f8fb7ba7a415c356b8fe144a 100644 |
--- a/services/ui/ws/window_tree.h |
+++ b/services/ui/ws/window_tree.h |
@@ -360,8 +360,9 @@ class WindowTree : public mojom::WindowTree, |
override; |
void SetCapture(uint32_t change_id, Id window_id) override; |
void ReleaseCapture(uint32_t change_id, Id window_id) override; |
- void SetEventObserver(mojom::EventMatcherPtr matcher, |
+ void AddEventObserver(mojom::EventMatcherPtr matcher, |
uint32_t observer_id) override; |
+ void RemoveEventObserver(uint32_t observer_id) override; |
void SetWindowBounds(uint32_t change_id, |
Id window_id, |
const gfx::Rect& bounds) override; |
@@ -472,12 +473,10 @@ class WindowTree : public mojom::WindowTree, |
// reasonable timeframe. |
bool janky_ = false; |
- // Set when the client is using SetEventObserver() to observe events, |
- // otherwise null. |
- std::unique_ptr<EventMatcher> event_observer_matcher_; |
- |
- // The ID supplied by the client for the current event observer. |
- uint32_t event_observer_id_ = 0; |
+ // Set when the client is using AddEventObserver() to observe events, |
+ // otherwise null. Key is an ID supplied by the client for the |
+ // event observer |
+ std::map<uint32_t, std::unique_ptr<EventMatcher>> event_observer_matchers_; |
// WindowManager the current event came from. |
WindowManagerState* event_source_wms_ = nullptr; |