OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/aura/mus/window_tree_client.h" | 5 #include "ui/aura/mus/window_tree_client.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
883 top_level->SetType(ui::wm::WINDOW_TYPE_NORMAL); | 883 top_level->SetType(ui::wm::WINDOW_TYPE_NORMAL); |
884 top_level->Init(ui::LAYER_NOT_DRAWN); | 884 top_level->Init(ui::LAYER_NOT_DRAWN); |
885 top_level->SetBounds(gfx::Rect(0, 0, 100, 100)); | 885 top_level->SetBounds(gfx::Rect(0, 0, 100, 100)); |
886 top_level->Show(); | 886 top_level->Show(); |
887 | 887 |
888 // Start a pointer watcher for all events excluding move events. | 888 // Start a pointer watcher for all events excluding move events. |
889 window_tree_client_impl()->StartPointerWatcher(false /* want_moves */); | 889 window_tree_client_impl()->StartPointerWatcher(false /* want_moves */); |
890 | 890 |
891 // Simulate the server sending an observed event. | 891 // Simulate the server sending an observed event. |
892 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( | 892 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( |
893 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, | 893 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 0, |
894 0, ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), | 894 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 1), |
895 base::TimeTicks())); | 895 base::TimeTicks())); |
896 window_tree_client()->OnPointerEventObserved(std::move(pointer_event_down), | 896 window_tree_client()->OnPointerEventObserved(std::move(pointer_event_down), |
897 0u, 0); | 897 0u, 0); |
898 | 898 |
899 // Delegate sensed the event. | 899 // Delegate sensed the event. |
900 const ui::PointerEvent* last_event = last_event_observed(); | 900 const ui::PointerEvent* last_event = last_event_observed(); |
901 ASSERT_TRUE(last_event); | 901 ASSERT_TRUE(last_event); |
902 EXPECT_EQ(ui::ET_POINTER_DOWN, last_event->type()); | 902 EXPECT_EQ(ui::ET_POINTER_DOWN, last_event->type()); |
903 EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); | 903 EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); |
904 DeleteLastEventObserved(); | 904 DeleteLastEventObserved(); |
905 | 905 |
906 // Stop the pointer watcher. | 906 // Stop the pointer watcher. |
907 window_tree_client_impl()->StopPointerWatcher(); | 907 window_tree_client_impl()->StopPointerWatcher(); |
908 | 908 |
909 // Simulate another event from the server. | 909 // Simulate another event from the server. |
910 std::unique_ptr<ui::PointerEvent> pointer_event_up(new ui::PointerEvent( | 910 std::unique_ptr<ui::PointerEvent> pointer_event_up(new ui::PointerEvent( |
911 ui::ET_POINTER_UP, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, 0, | 911 ui::ET_POINTER_UP, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 0, |
912 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), | 912 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 1), |
913 base::TimeTicks())); | 913 base::TimeTicks())); |
914 window_tree_client()->OnPointerEventObserved(std::move(pointer_event_up), 0u, | 914 window_tree_client()->OnPointerEventObserved(std::move(pointer_event_up), 0u, |
915 0); | 915 0); |
916 | 916 |
917 // No event was sensed. | 917 // No event was sensed. |
918 EXPECT_FALSE(last_event_observed()); | 918 EXPECT_FALSE(last_event_observed()); |
919 } | 919 } |
920 | 920 |
921 // Tests pointer watchers triggered by events that hit this window tree. | 921 // Tests pointer watchers triggered by events that hit this window tree. |
922 TEST_F(WindowTreeClientPointerObserverTest, | 922 TEST_F(WindowTreeClientPointerObserverTest, |
923 OnWindowInputEventWithPointerWatcher) { | 923 OnWindowInputEventWithPointerWatcher) { |
924 std::unique_ptr<Window> top_level(base::MakeUnique<Window>(nullptr)); | 924 std::unique_ptr<Window> top_level(base::MakeUnique<Window>(nullptr)); |
925 top_level->SetType(ui::wm::WINDOW_TYPE_NORMAL); | 925 top_level->SetType(ui::wm::WINDOW_TYPE_NORMAL); |
926 top_level->Init(ui::LAYER_NOT_DRAWN); | 926 top_level->Init(ui::LAYER_NOT_DRAWN); |
927 top_level->SetBounds(gfx::Rect(0, 0, 100, 100)); | 927 top_level->SetBounds(gfx::Rect(0, 0, 100, 100)); |
928 top_level->Show(); | 928 top_level->Show(); |
929 | 929 |
930 // Start a pointer watcher for all events excluding move events. | 930 // Start a pointer watcher for all events excluding move events. |
931 window_tree_client_impl()->StartPointerWatcher(false /* want_moves */); | 931 window_tree_client_impl()->StartPointerWatcher(false /* want_moves */); |
932 | 932 |
933 // Simulate the server dispatching an event that also matched the observer. | 933 // Simulate the server dispatching an event that also matched the observer. |
934 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( | 934 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( |
935 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, | 935 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 0, |
936 0, ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), | 936 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 1), |
937 base::TimeTicks::Now())); | 937 base::TimeTicks::Now())); |
938 window_tree_client()->OnWindowInputEvent(1, server_id(top_level.get()), 0, | 938 window_tree_client()->OnWindowInputEvent(1, server_id(top_level.get()), 0, |
939 std::move(pointer_event_down), true); | 939 std::move(pointer_event_down), true); |
940 | 940 |
941 // Delegate sensed the event. | 941 // Delegate sensed the event. |
942 const ui::Event* last_event = last_event_observed(); | 942 const ui::Event* last_event = last_event_observed(); |
943 ASSERT_TRUE(last_event); | 943 ASSERT_TRUE(last_event); |
944 EXPECT_EQ(ui::ET_POINTER_DOWN, last_event->type()); | 944 EXPECT_EQ(ui::ET_POINTER_DOWN, last_event->type()); |
945 EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); | 945 EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); |
946 } | 946 } |
(...skipping 983 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1930 top_level->Show(); | 1930 top_level->Show(); |
1931 | 1931 |
1932 // Start a pointer watcher for all events excluding move events. | 1932 // Start a pointer watcher for all events excluding move events. |
1933 window_tree_client_impl()->StartPointerWatcher(false /* want_moves */); | 1933 window_tree_client_impl()->StartPointerWatcher(false /* want_moves */); |
1934 | 1934 |
1935 // Simulate the server sending an observed event. | 1935 // Simulate the server sending an observed event. |
1936 const gfx::Point location_pixels(10, 12); | 1936 const gfx::Point location_pixels(10, 12); |
1937 const gfx::Point root_location_pixels(14, 16); | 1937 const gfx::Point root_location_pixels(14, 16); |
1938 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( | 1938 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( |
1939 ui::ET_POINTER_DOWN, location_pixels, root_location_pixels, | 1939 ui::ET_POINTER_DOWN, location_pixels, root_location_pixels, |
1940 ui::EF_CONTROL_DOWN, 1, 0, | 1940 ui::EF_CONTROL_DOWN, 0, |
1941 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), | 1941 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 1), |
1942 base::TimeTicks())); | 1942 base::TimeTicks())); |
1943 window_tree_client()->OnPointerEventObserved(std::move(pointer_event_down), | 1943 window_tree_client()->OnPointerEventObserved(std::move(pointer_event_down), |
1944 0u, primary_display.id()); | 1944 0u, primary_display.id()); |
1945 | 1945 |
1946 // Delegate received the event in Dips. | 1946 // Delegate received the event in Dips. |
1947 const ui::PointerEvent* last_event = last_event_observed(); | 1947 const ui::PointerEvent* last_event = last_event_observed(); |
1948 ASSERT_TRUE(last_event); | 1948 ASSERT_TRUE(last_event); |
1949 EXPECT_EQ(gfx::ConvertPointToDIP(2.0f, location_pixels), | 1949 EXPECT_EQ(gfx::ConvertPointToDIP(2.0f, location_pixels), |
1950 last_event->location()); | 1950 last_event->location()); |
1951 EXPECT_EQ(gfx::ConvertPointToDIP(2.0f, root_location_pixels), | 1951 EXPECT_EQ(gfx::ConvertPointToDIP(2.0f, root_location_pixels), |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2019 window_tree()->GetEventResult(event_id)); | 2019 window_tree()->GetEventResult(event_id)); |
2020 EXPECT_TRUE(window_delegate1.got_move()); | 2020 EXPECT_TRUE(window_delegate1.got_move()); |
2021 EXPECT_FALSE(window_delegate2.got_move()); | 2021 EXPECT_FALSE(window_delegate2.got_move()); |
2022 gfx::Point transformed_event_location_in_dip(event_location_in_dip.x() + 20, | 2022 gfx::Point transformed_event_location_in_dip(event_location_in_dip.x() + 20, |
2023 event_location_in_dip.y() + 30); | 2023 event_location_in_dip.y() + 30); |
2024 EXPECT_EQ(transformed_event_location_in_dip, | 2024 EXPECT_EQ(transformed_event_location_in_dip, |
2025 window_delegate1.last_event_location()); | 2025 window_delegate1.last_event_location()); |
2026 } | 2026 } |
2027 | 2027 |
2028 } // namespace aura | 2028 } // namespace aura |
OLD | NEW |