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 "services/ui/public/cpp/window_tree_client.h" | 5 #include "services/ui/public/cpp/window_tree_client.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 WindowTreeSetup setup; | 470 WindowTreeSetup setup; |
471 Window* root = setup.GetFirstRoot(); | 471 Window* root = setup.GetFirstRoot(); |
472 ASSERT_TRUE(root); | 472 ASSERT_TRUE(root); |
473 | 473 |
474 // Start a pointer watcher for all events excluding move events. | 474 // Start a pointer watcher for all events excluding move events. |
475 setup.client()->StartPointerWatcher(false /* want_moves */); | 475 setup.client()->StartPointerWatcher(false /* want_moves */); |
476 | 476 |
477 // Simulate the server sending an observed event. | 477 // Simulate the server sending an observed event. |
478 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( | 478 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( |
479 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, | 479 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, |
480 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), | 480 0, ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), |
481 base::TimeTicks())); | 481 base::TimeTicks())); |
482 setup.window_tree_client()->OnPointerEventObserved( | 482 setup.window_tree_client()->OnPointerEventObserved( |
483 std::move(pointer_event_down), 0u); | 483 std::move(pointer_event_down), 0u); |
484 | 484 |
485 // Delegate sensed the event. | 485 // Delegate sensed the event. |
486 ui::Event* last_event = setup.window_tree_delegate()->last_event_observed(); | 486 ui::Event* last_event = setup.window_tree_delegate()->last_event_observed(); |
487 EXPECT_EQ(ui::ET_POINTER_DOWN, last_event->type()); | 487 EXPECT_EQ(ui::ET_POINTER_DOWN, last_event->type()); |
488 EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); | 488 EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); |
489 setup.window_tree_delegate()->Reset(); | 489 setup.window_tree_delegate()->Reset(); |
490 | 490 |
491 // Stop the pointer watcher. | 491 // Stop the pointer watcher. |
492 setup.client()->StopPointerWatcher(); | 492 setup.client()->StopPointerWatcher(); |
493 | 493 |
494 // Simulate another event from the server. | 494 // Simulate another event from the server. |
495 std::unique_ptr<ui::PointerEvent> pointer_event_up(new ui::PointerEvent( | 495 std::unique_ptr<ui::PointerEvent> pointer_event_up(new ui::PointerEvent( |
496 ui::ET_POINTER_UP, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, | 496 ui::ET_POINTER_UP, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, 0, |
497 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), | 497 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), |
498 base::TimeTicks())); | 498 base::TimeTicks())); |
499 setup.window_tree_client()->OnPointerEventObserved( | 499 setup.window_tree_client()->OnPointerEventObserved( |
500 std::move(pointer_event_up), 0u); | 500 std::move(pointer_event_up), 0u); |
501 | 501 |
502 // No event was sensed. | 502 // No event was sensed. |
503 EXPECT_FALSE(setup.window_tree_delegate()->last_event_observed()); | 503 EXPECT_FALSE(setup.window_tree_delegate()->last_event_observed()); |
504 } | 504 } |
505 | 505 |
506 // Tests pointer watchers triggered by events that hit this window tree. | 506 // Tests pointer watchers triggered by events that hit this window tree. |
507 TEST_F(WindowTreeClientTest, OnWindowInputEventWithPointerWatcher) { | 507 TEST_F(WindowTreeClientTest, OnWindowInputEventWithPointerWatcher) { |
508 WindowTreeSetup setup; | 508 WindowTreeSetup setup; |
509 Window* root = setup.GetFirstRoot(); | 509 Window* root = setup.GetFirstRoot(); |
510 ASSERT_TRUE(root); | 510 ASSERT_TRUE(root); |
511 | 511 |
512 // Start a pointer watcher for all events excluding move events. | 512 // Start a pointer watcher for all events excluding move events. |
513 setup.client()->StartPointerWatcher(false /* want_moves */); | 513 setup.client()->StartPointerWatcher(false /* want_moves */); |
514 | 514 |
515 // Simulate the server dispatching an event that also matched the observer. | 515 // Simulate the server dispatching an event that also matched the observer. |
516 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( | 516 std::unique_ptr<ui::PointerEvent> pointer_event_down(new ui::PointerEvent( |
517 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, | 517 ui::ET_POINTER_DOWN, gfx::Point(), gfx::Point(), ui::EF_CONTROL_DOWN, 1, |
518 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), | 518 0, ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH), |
519 base::TimeTicks())); | 519 base::TimeTicks())); |
520 setup.window_tree_client()->OnWindowInputEvent( | 520 setup.window_tree_client()->OnWindowInputEvent( |
521 1, server_id(root), std::move(pointer_event_down), true); | 521 1, server_id(root), std::move(pointer_event_down), true); |
522 | 522 |
523 // Delegate sensed the event. | 523 // Delegate sensed the event. |
524 ui::Event* last_event = setup.window_tree_delegate()->last_event_observed(); | 524 ui::Event* last_event = setup.window_tree_delegate()->last_event_observed(); |
525 EXPECT_EQ(ui::ET_POINTER_DOWN, last_event->type()); | 525 EXPECT_EQ(ui::ET_POINTER_DOWN, last_event->type()); |
526 EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); | 526 EXPECT_EQ(ui::EF_CONTROL_DOWN, last_event->flags()); |
527 } | 527 } |
528 | 528 |
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1075 | 1075 |
1076 // Changes originating from server should notify observers too. | 1076 // Changes originating from server should notify observers too. |
1077 WindowTreeClientPrivate(setup.client()).CallOnCaptureChanged(child2, nullptr); | 1077 WindowTreeClientPrivate(setup.client()).CallOnCaptureChanged(child2, nullptr); |
1078 EXPECT_EQ(1, capture_recorder.capture_changed_count()); | 1078 EXPECT_EQ(1, capture_recorder.capture_changed_count()); |
1079 EXPECT_EQ(child2_id, capture_recorder.last_gained_capture_window_id()); | 1079 EXPECT_EQ(child2_id, capture_recorder.last_gained_capture_window_id()); |
1080 EXPECT_EQ(0, capture_recorder.last_lost_capture_window_id()); | 1080 EXPECT_EQ(0, capture_recorder.last_lost_capture_window_id()); |
1081 capture_recorder.reset_capture_captured_count(); | 1081 capture_recorder.reset_capture_captured_count(); |
1082 } | 1082 } |
1083 | 1083 |
1084 } // namespace ui | 1084 } // namespace ui |
OLD | NEW |