Chromium Code Reviews| 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..7e1a79940d2885b149fcc784b38e3cbe92428c3a 100644 |
| --- a/services/ui/public/cpp/tests/window_tree_client_unittest.cc |
| +++ b/services/ui/public/cpp/tests/window_tree_client_unittest.cc |
| @@ -95,8 +95,8 @@ class WindowTreeSetup { |
| : *client()->GetRoots().begin(); |
| } |
| - uint32_t GetEventObserverId() { |
| - return WindowTreeClientPrivate(&tree_client_).event_observer_id(); |
| + uint32_t GetPointerWatcherId() { |
| + return WindowTreeClientPrivate(&tree_client_).pointer_watcher_id(); |
| } |
| private: |
| @@ -473,19 +473,16 @@ TEST_F(WindowTreeClientTest, OnEventObserved) { |
| Window* root = setup.GetFirstRoot(); |
| ASSERT_TRUE(root); |
| - // Set up an event observer. |
| - mojom::EventMatcherPtr matcher = mojom::EventMatcher::New(); |
| - matcher->type_matcher = mojom::EventTypeMatcher::New(); |
| - matcher->type_matcher->type = ui::mojom::EventType::POINTER_DOWN; |
| - setup.client()->SetEventObserver(std::move(matcher)); |
| + // Start a pointer watcher for all events excluding move events. |
| + setup.client()->StartPointerWatcher(false /* want_moves */); |
| // Simulate the server sending an observed event. |
| - uint32_t event_observer_id = setup.GetEventObserverId(); |
| + uint32_t pointer_watcher_id = setup.GetPointerWatcherId(); |
| std::unique_ptr<ui::Event> ui_event( |
| new ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(), |
|
James Cook
2016/07/27 01:54:01
Change all these test events to PointerEvents, sin
riajiang
2016/07/27 22:39:16
Done.
|
| ui::EventTimeForNow(), ui::EF_CONTROL_DOWN, 0)); |
| setup.window_tree_client()->OnEventObserved(ui::Event::Clone(*ui_event.get()), |
| - event_observer_id); |
| + pointer_watcher_id); |
| // Delegate sensed the event. |
| ui::Event* last_event = setup.window_tree_delegate()->last_event_observed(); |
| @@ -493,12 +490,12 @@ TEST_F(WindowTreeClientTest, OnEventObserved) { |
| EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); |
| setup.window_tree_delegate()->Reset(); |
| - // Clear the event observer. |
| - setup.client()->SetEventObserver(nullptr); |
| + // Stop the pointer watcher. |
| + setup.client()->StopPointerWatcher(); |
| // Simulate another event from the server. |
| setup.window_tree_client()->OnEventObserved(ui::Event::Clone(*ui_event.get()), |
| - event_observer_id); |
| + pointer_watcher_id); |
| // No event was sensed. |
| EXPECT_FALSE(setup.window_tree_delegate()->last_event_observed()); |
| @@ -510,19 +507,16 @@ TEST_F(WindowTreeClientTest, OnWindowInputEventWithEventObserver) { |
| Window* root = setup.GetFirstRoot(); |
| ASSERT_TRUE(root); |
| - // Set up an event observer. |
| - mojom::EventMatcherPtr matcher = mojom::EventMatcher::New(); |
| - matcher->type_matcher = mojom::EventTypeMatcher::New(); |
| - matcher->type_matcher->type = ui::mojom::EventType::POINTER_DOWN; |
| - setup.client()->SetEventObserver(std::move(matcher)); |
| + // Start a pointer watcher for all events excluding move events. |
| + setup.client()->StartPointerWatcher(false /* want_moves */); |
| // Simulate the server dispatching an event that also matched the observer. |
| - uint32_t event_observer_id = setup.GetEventObserverId(); |
| + uint32_t pointer_watcher_id = setup.GetPointerWatcherId(); |
| 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()->OnWindowInputEvent( |
| - 1, server_id(root), std::move(ui_event), event_observer_id); |
| + 1, server_id(root), std::move(ui_event), pointer_watcher_id); |
| // Delegate sensed the event. |
| ui::Event* last_event = setup.window_tree_delegate()->last_event_observed(); |
| @@ -530,48 +524,42 @@ TEST_F(WindowTreeClientTest, OnWindowInputEventWithEventObserver) { |
| EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); |
| } |
| -// Tests that replacing an event observer with a new one results in only new |
| -// events being observed. |
| +// Tests that replacing a pointer watcher with a new one that has different |
| +// |want_moves| values results in only new events being observed. |
| TEST_F(WindowTreeClientTest, EventObserverReplaced) { |
| WindowTreeSetup setup; |
| Window* root = setup.GetFirstRoot(); |
| ASSERT_TRUE(root); |
| - // Set up an event observer. |
| - mojom::EventMatcherPtr matcher1 = mojom::EventMatcher::New(); |
| - matcher1->type_matcher = mojom::EventTypeMatcher::New(); |
| - matcher1->type_matcher->type = ui::mojom::EventType::POINTER_DOWN; |
| - setup.client()->SetEventObserver(std::move(matcher1)); |
| - uint32_t event_observer_id1 = setup.GetEventObserverId(); |
| - |
| - // Replace it with a second observer. |
| - mojom::EventMatcherPtr matcher2 = mojom::EventMatcher::New(); |
| - matcher2->type_matcher = mojom::EventTypeMatcher::New(); |
| - matcher2->type_matcher->type = ui::mojom::EventType::POINTER_UP; |
| - setup.client()->SetEventObserver(std::move(matcher2)); |
| - uint32_t event_observer_id2 = setup.GetEventObserverId(); |
| - |
| - // Simulate the server sending an observed event that matched the old observer |
| + // Start a pointer watcher for all events excluding move events. |
| + setup.client()->StartPointerWatcher(false /* want_moves */); |
| + uint32_t pointer_watcher_id1 = setup.GetPointerWatcherId(); |
| + |
| + // Replace it with a second watcher that also watches for move events. |
| + setup.client()->StartPointerWatcher(true /* want_moves */); |
| + uint32_t pointer_watcher_id2 = setup.GetPointerWatcherId(); |
| + |
| + // Simulate the server sending an observed event that matched the old watcher |
| // (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)); |
| setup.window_tree_client()->OnEventObserved(std::move(pressed_event), |
| - event_observer_id1); |
| + pointer_watcher_id1); |
| - // The event was not sensed, because it does not match the current observer. |
| + // The event was not sensed, because it does not match the current watcher. |
| 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(), |
| + // Simulate another event that matches the new watcher. |
| + std::unique_ptr<ui::Event> moved_event( |
| + new ui::MouseEvent(ui::ET_MOUSE_MOVED, gfx::Point(), gfx::Point(), |
| ui::EventTimeForNow(), ui::EF_CONTROL_DOWN, 0)); |
| - setup.window_tree_client()->OnEventObserved(std::move(released_event), |
| - event_observer_id2); |
| + setup.window_tree_client()->OnEventObserved(std::move(moved_event), |
| + pointer_watcher_id2); |
| // The delegate sensed the event. |
| ui::Event* last_event = setup.window_tree_delegate()->last_event_observed(); |
| - EXPECT_EQ(ui::ET_MOUSE_RELEASED, last_event->type()); |
| + EXPECT_EQ(ui::ET_MOUSE_MOVED, last_event->type()); |
| EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); |
| } |