Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Side by Side Diff: ash/wm/window_manager_unittest.cc

Issue 2815043002: Removes ShellPort::IsRunningInMash() (Closed)
Patch Set: dont set instance_ in constructor Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/public/cpp/config.h"
5 #include "ash/public/cpp/shell_window_ids.h" 6 #include "ash/public/cpp/shell_window_ids.h"
6 #include "ash/shell.h" 7 #include "ash/shell.h"
7 #include "ash/shell_port.h"
8 #include "ash/test/ash_test_base.h" 8 #include "ash/test/ash_test_base.h"
9 #include "ash/test/test_activation_delegate.h" 9 #include "ash/test/test_activation_delegate.h"
10 #include "ash/wm/window_util.h" 10 #include "ash/wm/window_util.h"
11 #include "ui/aura/client/cursor_client_observer.h" 11 #include "ui/aura/client/cursor_client_observer.h"
12 #include "ui/aura/client/focus_client.h" 12 #include "ui/aura/client/focus_client.h"
13 #include "ui/aura/env.h" 13 #include "ui/aura/env.h"
14 #include "ui/aura/test/aura_test_base.h" 14 #include "ui/aura/test/aura_test_base.h"
15 #include "ui/aura/test/test_window_delegate.h" 15 #include "ui/aura/test/test_window_delegate.h"
16 #include "ui/aura/test/test_windows.h" 16 #include "ui/aura/test/test_windows.h"
17 #include "ui/base/cursor/cursor.h" 17 #include "ui/base/cursor/cursor.h"
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 EXPECT_EQ(0, d2.activated_count()); 462 EXPECT_EQ(0, d2.activated_count());
463 EXPECT_EQ(1, d2.lost_active_count()); 463 EXPECT_EQ(1, d2.lost_active_count());
464 EXPECT_TRUE(wm::IsActiveWindow(w1.get())); 464 EXPECT_TRUE(wm::IsActiveWindow(w1.get()));
465 EXPECT_EQ(w1.get(), focus_client->GetFocusedWindow()); 465 EXPECT_EQ(w1.get(), focus_client->GetFocusedWindow());
466 EXPECT_EQ(1, d1.activated_count()); 466 EXPECT_EQ(1, d1.activated_count());
467 EXPECT_EQ(0, d1.lost_active_count()); 467 EXPECT_EQ(0, d1.lost_active_count());
468 } 468 }
469 469
470 TEST_F(WindowManagerTest, MouseEventCursors) { 470 TEST_F(WindowManagerTest, MouseEventCursors) {
471 // TODO: investigate failure in mash. http://crbug.com/698895. 471 // TODO: investigate failure in mash. http://crbug.com/698895.
472 if (ShellPort::Get()->IsRunningInMash()) 472 if (Shell::GetAshConfig() == Config::MASH)
473 return; 473 return;
474 474
475 aura::Window* root_window = Shell::GetPrimaryRootWindow(); 475 aura::Window* root_window = Shell::GetPrimaryRootWindow();
476 476
477 // Create a window. 477 // Create a window.
478 const int kWindowLeft = 123; 478 const int kWindowLeft = 123;
479 const int kWindowTop = 45; 479 const int kWindowTop = 45;
480 HitTestWindowDelegate window_delegate; 480 HitTestWindowDelegate window_delegate;
481 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithDelegate( 481 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithDelegate(
482 &window_delegate, -1, gfx::Rect(kWindowLeft, kWindowTop, 640, 480))); 482 &window_delegate, -1, gfx::Rect(kWindowLeft, kWindowTop, 640, 480)));
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 EXPECT_EQ(0, f1->num_mouse_events()); 701 EXPECT_EQ(0, f1->num_mouse_events());
702 EXPECT_EQ(1, f2->num_key_events()); 702 EXPECT_EQ(1, f2->num_key_events());
703 EXPECT_EQ(1, f2->num_mouse_events()); 703 EXPECT_EQ(1, f2->num_mouse_events());
704 704
705 env_filter->RemoveHandler(f2.get()); 705 env_filter->RemoveHandler(f2.get());
706 } 706 }
707 707
708 // Touch visually hides the cursor. 708 // Touch visually hides the cursor.
709 TEST_F(WindowManagerTest, UpdateCursorVisibility) { 709 TEST_F(WindowManagerTest, UpdateCursorVisibility) {
710 // TODO: mash doesn't support CursorManager. http://crbug.com/631103. 710 // TODO: mash doesn't support CursorManager. http://crbug.com/631103.
711 if (ShellPort::Get()->IsRunningInMash()) 711 if (Shell::GetAshConfig() == Config::MASH)
712 return; 712 return;
713 713
714 ui::test::EventGenerator& generator = GetEventGenerator(); 714 ui::test::EventGenerator& generator = GetEventGenerator();
715 ::wm::CursorManager* cursor_manager = ash::Shell::Get()->cursor_manager(); 715 ::wm::CursorManager* cursor_manager = ash::Shell::Get()->cursor_manager();
716 716
717 generator.MoveMouseTo(gfx::Point(0, 0)); 717 generator.MoveMouseTo(gfx::Point(0, 0));
718 EXPECT_TRUE(cursor_manager->IsCursorVisible()); 718 EXPECT_TRUE(cursor_manager->IsCursorVisible());
719 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled()); 719 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled());
720 generator.PressTouch(); 720 generator.PressTouch();
721 EXPECT_FALSE(cursor_manager->IsCursorVisible()); 721 EXPECT_FALSE(cursor_manager->IsCursorVisible());
722 EXPECT_FALSE(cursor_manager->IsMouseEventsEnabled()); 722 EXPECT_FALSE(cursor_manager->IsMouseEventsEnabled());
723 generator.MoveMouseTo(gfx::Point(0, 0)); 723 generator.MoveMouseTo(gfx::Point(0, 0));
724 EXPECT_TRUE(cursor_manager->IsCursorVisible()); 724 EXPECT_TRUE(cursor_manager->IsCursorVisible());
725 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled()); 725 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled());
726 generator.ReleaseTouch(); 726 generator.ReleaseTouch();
727 EXPECT_TRUE(cursor_manager->IsCursorVisible()); 727 EXPECT_TRUE(cursor_manager->IsCursorVisible());
728 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled()); 728 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled());
729 } 729 }
730 730
731 // Cursor is hidden on keypress. 731 // Cursor is hidden on keypress.
732 TEST_F(WindowManagerTest, UpdateCursorVisibilityOnKeyEvent) { 732 TEST_F(WindowManagerTest, UpdateCursorVisibilityOnKeyEvent) {
733 // TODO: mash doesn't support CursorManager. http://crbug.com/631103. 733 // TODO: mash doesn't support CursorManager. http://crbug.com/631103.
734 if (ShellPort::Get()->IsRunningInMash()) 734 if (Shell::GetAshConfig() == Config::MASH)
735 return; 735 return;
736 736
737 ui::test::EventGenerator& generator = GetEventGenerator(); 737 ui::test::EventGenerator& generator = GetEventGenerator();
738 ::wm::CursorManager* cursor_manager = ash::Shell::Get()->cursor_manager(); 738 ::wm::CursorManager* cursor_manager = ash::Shell::Get()->cursor_manager();
739 739
740 // Pressing a key hides the cursor but does not disable mouse events. 740 // Pressing a key hides the cursor but does not disable mouse events.
741 generator.PressKey(ui::VKEY_A, ui::EF_NONE); 741 generator.PressKey(ui::VKEY_A, ui::EF_NONE);
742 EXPECT_FALSE(cursor_manager->IsCursorVisible()); 742 EXPECT_FALSE(cursor_manager->IsCursorVisible());
743 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled()); 743 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled());
744 // Moving mouse shows the cursor. 744 // Moving mouse shows the cursor.
745 generator.MoveMouseTo(gfx::Point(0, 0)); 745 generator.MoveMouseTo(gfx::Point(0, 0));
746 EXPECT_TRUE(cursor_manager->IsCursorVisible()); 746 EXPECT_TRUE(cursor_manager->IsCursorVisible());
747 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled()); 747 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled());
748 // Releasing a key does does not hide the cursor and does not disable mouse 748 // Releasing a key does does not hide the cursor and does not disable mouse
749 // events. 749 // events.
750 generator.ReleaseKey(ui::VKEY_A, ui::EF_NONE); 750 generator.ReleaseKey(ui::VKEY_A, ui::EF_NONE);
751 EXPECT_TRUE(cursor_manager->IsCursorVisible()); 751 EXPECT_TRUE(cursor_manager->IsCursorVisible());
752 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled()); 752 EXPECT_TRUE(cursor_manager->IsMouseEventsEnabled());
753 } 753 }
754 754
755 // Test that pressing an accelerator does not hide the cursor. 755 // Test that pressing an accelerator does not hide the cursor.
756 TEST_F(WindowManagerTest, UpdateCursorVisibilityAccelerator) { 756 TEST_F(WindowManagerTest, UpdateCursorVisibilityAccelerator) {
757 // TODO: mash doesn't support CursorManager. http://crbug.com/631103. 757 // TODO: mash doesn't support CursorManager. http://crbug.com/631103.
758 if (ShellPort::Get()->IsRunningInMash()) 758 if (Shell::GetAshConfig() == Config::MASH)
759 return; 759 return;
760 760
761 ui::test::EventGenerator& generator = GetEventGenerator(); 761 ui::test::EventGenerator& generator = GetEventGenerator();
762 ::wm::CursorManager* cursor_manager = Shell::Get()->cursor_manager(); 762 ::wm::CursorManager* cursor_manager = Shell::Get()->cursor_manager();
763 763
764 ASSERT_TRUE(cursor_manager->IsCursorVisible()); 764 ASSERT_TRUE(cursor_manager->IsCursorVisible());
765 765
766 // Press Ctrl+A, release A first. 766 // Press Ctrl+A, release A first.
767 generator.PressKey(ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN); 767 generator.PressKey(ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN);
768 generator.PressKey(ui::VKEY_A, ui::EF_CONTROL_DOWN); 768 generator.PressKey(ui::VKEY_A, ui::EF_CONTROL_DOWN);
769 generator.ReleaseKey(ui::VKEY_A, ui::EF_CONTROL_DOWN); 769 generator.ReleaseKey(ui::VKEY_A, ui::EF_CONTROL_DOWN);
770 generator.ReleaseKey(ui::VKEY_CONTROL, ui::EF_NONE); 770 generator.ReleaseKey(ui::VKEY_CONTROL, ui::EF_NONE);
771 EXPECT_TRUE(cursor_manager->IsCursorVisible()); 771 EXPECT_TRUE(cursor_manager->IsCursorVisible());
772 772
773 // Press Ctrl+A, release Ctrl first. 773 // Press Ctrl+A, release Ctrl first.
774 generator.PressKey(ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN); 774 generator.PressKey(ui::VKEY_CONTROL, ui::EF_CONTROL_DOWN);
775 generator.PressKey(ui::VKEY_A, ui::EF_CONTROL_DOWN); 775 generator.PressKey(ui::VKEY_A, ui::EF_CONTROL_DOWN);
776 generator.ReleaseKey(ui::VKEY_CONTROL, ui::EF_NONE); 776 generator.ReleaseKey(ui::VKEY_CONTROL, ui::EF_NONE);
777 generator.ReleaseKey(ui::VKEY_A, ui::EF_NONE); 777 generator.ReleaseKey(ui::VKEY_A, ui::EF_NONE);
778 EXPECT_TRUE(cursor_manager->IsCursorVisible()); 778 EXPECT_TRUE(cursor_manager->IsCursorVisible());
779 } 779 }
780 780
781 TEST_F(WindowManagerTest, TestCursorClientObserver) { 781 TEST_F(WindowManagerTest, TestCursorClientObserver) {
782 // TODO: mash doesn't support CursorManager. http://crbug.com/631103. 782 // TODO: mash doesn't support CursorManager. http://crbug.com/631103.
783 if (ShellPort::Get()->IsRunningInMash()) 783 if (Shell::GetAshConfig() == Config::MASH)
784 return; 784 return;
785 785
786 ui::test::EventGenerator& generator = GetEventGenerator(); 786 ui::test::EventGenerator& generator = GetEventGenerator();
787 ::wm::CursorManager* cursor_manager = ash::Shell::Get()->cursor_manager(); 787 ::wm::CursorManager* cursor_manager = ash::Shell::Get()->cursor_manager();
788 788
789 std::unique_ptr<aura::Window> w1( 789 std::unique_ptr<aura::Window> w1(
790 CreateTestWindowInShell(SK_ColorWHITE, -1, gfx::Rect(0, 0, 100, 100))); 790 CreateTestWindowInShell(SK_ColorWHITE, -1, gfx::Rect(0, 0, 100, 100)));
791 wm::ActivateWindow(w1.get()); 791 wm::ActivateWindow(w1.get());
792 792
793 // Add two observers. Both should have OnCursorVisibilityChanged() 793 // Add two observers. Both should have OnCursorVisibilityChanged()
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 observer_b.reset(); 853 observer_b.reset();
854 generator.MoveMouseTo(50, 50); 854 generator.MoveMouseTo(50, 50);
855 EXPECT_TRUE(observer_a.did_visibility_change()); 855 EXPECT_TRUE(observer_a.did_visibility_change());
856 EXPECT_FALSE(observer_b.did_visibility_change()); 856 EXPECT_FALSE(observer_b.did_visibility_change());
857 EXPECT_TRUE(observer_a.is_cursor_visible()); 857 EXPECT_TRUE(observer_a.is_cursor_visible());
858 858
859 cursor_manager->RemoveObserver(&observer_a); 859 cursor_manager->RemoveObserver(&observer_a);
860 } 860 }
861 861
862 } // namespace ash 862 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/window_cycle_controller_unittest.cc ('k') | ash/wm/workspace/workspace_event_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698