| Index: services/ui/public/cpp/tests/window_tree_client_unittest.cc
|
| diff --git a/services/ui/public/cpp/tests/window_tree_client_unittest.cc b/services/ui/public/cpp/tests/window_tree_client_unittest.cc
|
| index 5766f754a24bdfece1d6762111ca939c985b4d85..59ef33b8b5ddecb2eb92e4624b0da1a29dfbf09e 100644
|
| --- a/services/ui/public/cpp/tests/window_tree_client_unittest.cc
|
| +++ b/services/ui/public/cpp/tests/window_tree_client_unittest.cc
|
| @@ -53,18 +53,24 @@ class TestWindowTreeClientDelegate : public WindowTreeClientDelegate {
|
| ~TestWindowTreeClientDelegate() override {}
|
|
|
| ui::Event* last_event_observed() { return last_event_observed_.get(); }
|
| + Window* last_target() { return last_target_; }
|
|
|
| - void Reset() { last_event_observed_.reset(); }
|
| + void Reset() {
|
| + last_event_observed_.reset();
|
| + last_target_ = nullptr;
|
| + }
|
|
|
| // WindowTreeClientDelegate:
|
| void OnEmbed(Window* root) override {}
|
| void OnDidDestroyClient(WindowTreeClient* client) override {}
|
| void OnEventObserved(const ui::Event& event, Window* target) override {
|
| last_event_observed_ = ui::Event::Clone(event);
|
| + last_target_ = target;
|
| }
|
|
|
| private:
|
| std::unique_ptr<ui::Event> last_event_observed_;
|
| + Window* last_target_ = nullptr;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TestWindowTreeClientDelegate);
|
| };
|
| @@ -481,23 +487,26 @@ TEST_F(WindowTreeClientTest, OnEventObserved) {
|
|
|
| // Simulate the server sending an observed event.
|
| uint32_t event_observer_id = setup.GetEventObserverId();
|
| - std::unique_ptr<ui::Event> ui_event(
|
| - new ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(),
|
| - ui::EventTimeForNow(), ui::EF_CONTROL_DOWN, 0));
|
| - setup.window_tree_client()->OnEventObserved(ui::Event::Clone(*ui_event.get()),
|
| + ui::PointerEvent ui_event(
|
| + ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE),
|
| + ui::EventTimeForNow());
|
| + setup.window_tree_client()->OnEventObserved(ui::Event::Clone(ui_event),
|
| event_observer_id);
|
|
|
| - // Delegate sensed the event.
|
| + // Delegate sensed the event and it has been converted to a mouse down.
|
| ui::Event* last_event = setup.window_tree_delegate()->last_event_observed();
|
| EXPECT_EQ(ui::ET_MOUSE_PRESSED, last_event->type());
|
| EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags());
|
| + // There was no target window.
|
| + EXPECT_FALSE(setup.window_tree_delegate()->last_target());
|
| setup.window_tree_delegate()->Reset();
|
|
|
| // Clear the event observer.
|
| setup.client()->SetEventObserver(nullptr);
|
|
|
| // Simulate another event from the server.
|
| - setup.window_tree_client()->OnEventObserved(ui::Event::Clone(*ui_event.get()),
|
| + setup.window_tree_client()->OnEventObserved(ui::Event::Clone(ui_event),
|
| event_observer_id);
|
|
|
| // No event was sensed.
|
| @@ -518,9 +527,10 @@ TEST_F(WindowTreeClientTest, OnWindowInputEventWithEventObserver) {
|
|
|
| // Simulate the server dispatching an event that also matched the observer.
|
| uint32_t event_observer_id = setup.GetEventObserverId();
|
| - std::unique_ptr<ui::Event> ui_event(
|
| - new ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(),
|
| - ui::EventTimeForNow(), ui::EF_CONTROL_DOWN, 0));
|
| + std::unique_ptr<ui::Event> ui_event(new ui::PointerEvent(
|
| + ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE),
|
| + ui::EventTimeForNow()));
|
| setup.window_tree_client()->OnWindowInputEvent(
|
| 1, server_id(root), std::move(ui_event), event_observer_id);
|
|
|
| @@ -528,6 +538,8 @@ TEST_F(WindowTreeClientTest, OnWindowInputEventWithEventObserver) {
|
| ui::Event* last_event = setup.window_tree_delegate()->last_event_observed();
|
| EXPECT_EQ(ui::ET_MOUSE_PRESSED, last_event->type());
|
| EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags());
|
| + // Delegate sensed the target window.
|
| + EXPECT_EQ(root, setup.window_tree_delegate()->last_target());
|
| }
|
|
|
| // Tests that replacing an event observer with a new one results in only new
|
| @@ -553,9 +565,10 @@ TEST_F(WindowTreeClientTest, EventObserverReplaced) {
|
|
|
| // Simulate the server sending an observed event that matched the old observer
|
| // (e.g. that was in-flight when the observer was replaced).
|
| - std::unique_ptr<ui::Event> pressed_event(
|
| - new ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(),
|
| - ui::EventTimeForNow(), ui::EF_NONE, 0));
|
| + std::unique_ptr<ui::Event> pressed_event(new ui::PointerEvent(
|
| + ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_NONE, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE),
|
| + ui::EventTimeForNow()));
|
| setup.window_tree_client()->OnEventObserved(std::move(pressed_event),
|
| event_observer_id1);
|
|
|
| @@ -563,9 +576,10 @@ TEST_F(WindowTreeClientTest, EventObserverReplaced) {
|
| EXPECT_FALSE(setup.window_tree_delegate()->last_event_observed());
|
|
|
| // Simulate another event that matches the new observer.
|
| - std::unique_ptr<ui::Event> released_event(
|
| - new ui::MouseEvent(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(),
|
| - ui::EventTimeForNow(), ui::EF_CONTROL_DOWN, 0));
|
| + std::unique_ptr<ui::Event> released_event(new ui::PointerEvent(
|
| + ui::ET_POINTER_UP, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 0,
|
| + ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_MOUSE),
|
| + ui::EventTimeForNow()));
|
| setup.window_tree_client()->OnEventObserved(std::move(released_event),
|
| event_observer_id2);
|
|
|
|
|