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

Side by Side Diff: ui/wm/core/focus_controller_unittest.cc

Issue 406413004: Cleanups for aura/test/event_generator.h (resolve TODOs) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase at r285842 Created 6 years, 4 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 | Annotate | Revision Log
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 "ui/wm/core/focus_controller.h" 5 #include "ui/wm/core/focus_controller.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "ui/aura/client/aura_constants.h" 9 #include "ui/aura/client/aura_constants.h"
10 #include "ui/aura/client/default_capture_client.h" 10 #include "ui/aura/client/default_capture_client.h"
11 #include "ui/aura/client/focus_change_observer.h" 11 #include "ui/aura/client/focus_change_observer.h"
12 #include "ui/aura/test/aura_test_base.h" 12 #include "ui/aura/test/aura_test_base.h"
13 #include "ui/aura/test/event_generator.h"
14 #include "ui/aura/test/test_window_delegate.h" 13 #include "ui/aura/test/test_window_delegate.h"
15 #include "ui/aura/test/test_windows.h" 14 #include "ui/aura/test/test_windows.h"
16 #include "ui/aura/window.h" 15 #include "ui/aura/window.h"
17 #include "ui/aura/window_event_dispatcher.h" 16 #include "ui/aura/window_event_dispatcher.h"
18 #include "ui/aura/window_tracker.h" 17 #include "ui/aura/window_tracker.h"
19 #include "ui/base/ime/dummy_text_input_client.h" 18 #include "ui/base/ime/dummy_text_input_client.h"
20 #include "ui/base/ime/text_input_focus_manager.h" 19 #include "ui/base/ime/text_input_focus_manager.h"
21 #include "ui/events/event.h" 20 #include "ui/events/event.h"
22 #include "ui/events/event_constants.h" 21 #include "ui/events/event_constants.h"
23 #include "ui/events/event_handler.h" 22 #include "ui/events/event_handler.h"
23 #include "ui/events/test/event_generator.h"
24 #include "ui/wm/core/base_focus_rules.h" 24 #include "ui/wm/core/base_focus_rules.h"
25 #include "ui/wm/core/wm_state.h" 25 #include "ui/wm/core/wm_state.h"
26 #include "ui/wm/public/activation_change_observer.h" 26 #include "ui/wm/public/activation_change_observer.h"
27 #include "ui/wm/public/activation_client.h" 27 #include "ui/wm/public/activation_client.h"
28 28
29 namespace wm { 29 namespace wm {
30 30
31 class FocusNotificationObserver : public aura::client::ActivationChangeObserver, 31 class FocusNotificationObserver : public aura::client::ActivationChangeObserver,
32 public aura::client::FocusChangeObserver { 32 public aura::client::FocusChangeObserver {
33 public: 33 public:
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 new aura::client::DefaultCaptureClient(root_window())); 765 new aura::client::DefaultCaptureClient(root_window()));
766 // Clicking on a window which has capture should not cause a focus change 766 // Clicking on a window which has capture should not cause a focus change
767 // to the window. This test verifies whether that is indeed the case. 767 // to the window. This test verifies whether that is indeed the case.
768 ActivateWindowById(1); 768 ActivateWindowById(1);
769 769
770 EXPECT_EQ(1, GetActiveWindowId()); 770 EXPECT_EQ(1, GetActiveWindowId());
771 EXPECT_EQ(1, GetFocusedWindowId()); 771 EXPECT_EQ(1, GetFocusedWindowId());
772 772
773 aura::Window* w2 = root_window()->GetChildById(2); 773 aura::Window* w2 = root_window()->GetChildById(2);
774 aura::client::GetCaptureClient(root_window())->SetCapture(w2); 774 aura::client::GetCaptureClient(root_window())->SetCapture(w2);
775 aura::test::EventGenerator generator(root_window(), w2); 775 ui::test::EventGenerator generator(root_window(), w2);
776 generator.ClickLeftButton(); 776 generator.ClickLeftButton();
777 777
778 EXPECT_EQ(1, GetActiveWindowId()); 778 EXPECT_EQ(1, GetActiveWindowId());
779 EXPECT_EQ(1, GetFocusedWindowId()); 779 EXPECT_EQ(1, GetFocusedWindowId());
780 aura::client::GetCaptureClient(root_window())->ReleaseCapture(w2); 780 aura::client::GetCaptureClient(root_window())->ReleaseCapture(w2);
781 } 781 }
782 782
783 // Verifies focus change is honored while capture held. 783 // Verifies focus change is honored while capture held.
784 virtual void ChangeFocusWhenNothingFocusedAndCaptured() OVERRIDE { 784 virtual void ChangeFocusWhenNothingFocusedAndCaptured() OVERRIDE {
785 scoped_ptr<aura::client::DefaultCaptureClient> capture_client( 785 scoped_ptr<aura::client::DefaultCaptureClient> capture_client(
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
902 public: 902 public:
903 FocusControllerMouseEventTest() {} 903 FocusControllerMouseEventTest() {}
904 904
905 // Tests that a handled mouse or gesture event does not trigger a window 905 // Tests that a handled mouse or gesture event does not trigger a window
906 // activation. 906 // activation.
907 void IgnoreHandledEvent() { 907 void IgnoreHandledEvent() {
908 EXPECT_EQ(NULL, GetActiveWindow()); 908 EXPECT_EQ(NULL, GetActiveWindow());
909 aura::Window* w1 = root_window()->GetChildById(1); 909 aura::Window* w1 = root_window()->GetChildById(1);
910 SimpleEventHandler handler; 910 SimpleEventHandler handler;
911 root_window()->PrependPreTargetHandler(&handler); 911 root_window()->PrependPreTargetHandler(&handler);
912 aura::test::EventGenerator generator(root_window(), w1); 912 ui::test::EventGenerator generator(root_window(), w1);
913 generator.ClickLeftButton(); 913 generator.ClickLeftButton();
914 EXPECT_EQ(NULL, GetActiveWindow()); 914 EXPECT_EQ(NULL, GetActiveWindow());
915 generator.GestureTapAt(w1->bounds().CenterPoint()); 915 generator.GestureTapAt(w1->bounds().CenterPoint());
916 EXPECT_EQ(NULL, GetActiveWindow()); 916 EXPECT_EQ(NULL, GetActiveWindow());
917 root_window()->RemovePreTargetHandler(&handler); 917 root_window()->RemovePreTargetHandler(&handler);
918 generator.ClickLeftButton(); 918 generator.ClickLeftButton();
919 EXPECT_EQ(1, GetActiveWindowId()); 919 EXPECT_EQ(1, GetActiveWindowId());
920 } 920 }
921 921
922 private: 922 private:
923 // Overridden from FocusControllerTestBase: 923 // Overridden from FocusControllerTestBase:
924 virtual void FocusWindowDirect(aura::Window* window) OVERRIDE { 924 virtual void FocusWindowDirect(aura::Window* window) OVERRIDE {
925 aura::test::EventGenerator generator(root_window(), window); 925 ui::test::EventGenerator generator(root_window(), window);
926 generator.ClickLeftButton(); 926 generator.ClickLeftButton();
927 } 927 }
928 virtual void ActivateWindowDirect(aura::Window* window) OVERRIDE { 928 virtual void ActivateWindowDirect(aura::Window* window) OVERRIDE {
929 aura::test::EventGenerator generator(root_window(), window); 929 ui::test::EventGenerator generator(root_window(), window);
930 generator.ClickLeftButton(); 930 generator.ClickLeftButton();
931 } 931 }
932 virtual void DeactivateWindowDirect(aura::Window* window) OVERRIDE { 932 virtual void DeactivateWindowDirect(aura::Window* window) OVERRIDE {
933 aura::Window* next_activatable = 933 aura::Window* next_activatable =
934 test_focus_rules()->GetNextActivatableWindow(window); 934 test_focus_rules()->GetNextActivatableWindow(window);
935 aura::test::EventGenerator generator(root_window(), next_activatable); 935 ui::test::EventGenerator generator(root_window(), next_activatable);
936 generator.ClickLeftButton(); 936 generator.ClickLeftButton();
937 } 937 }
938 virtual bool IsInputEvent() OVERRIDE { return true; } 938 virtual bool IsInputEvent() OVERRIDE { return true; }
939 939
940 DISALLOW_COPY_AND_ASSIGN(FocusControllerMouseEventTest); 940 DISALLOW_COPY_AND_ASSIGN(FocusControllerMouseEventTest);
941 }; 941 };
942 942
943 class FocusControllerGestureEventTest : public FocusControllerDirectTestBase { 943 class FocusControllerGestureEventTest : public FocusControllerDirectTestBase {
944 public: 944 public:
945 FocusControllerGestureEventTest() {} 945 FocusControllerGestureEventTest() {}
946 946
947 private: 947 private:
948 // Overridden from FocusControllerTestBase: 948 // Overridden from FocusControllerTestBase:
949 virtual void FocusWindowDirect(aura::Window* window) OVERRIDE { 949 virtual void FocusWindowDirect(aura::Window* window) OVERRIDE {
950 aura::test::EventGenerator generator(root_window(), window); 950 ui::test::EventGenerator generator(root_window(), window);
951 generator.GestureTapAt(window->bounds().CenterPoint()); 951 generator.GestureTapAt(window->bounds().CenterPoint());
952 } 952 }
953 virtual void ActivateWindowDirect(aura::Window* window) OVERRIDE { 953 virtual void ActivateWindowDirect(aura::Window* window) OVERRIDE {
954 aura::test::EventGenerator generator(root_window(), window); 954 ui::test::EventGenerator generator(root_window(), window);
955 generator.GestureTapAt(window->bounds().CenterPoint()); 955 generator.GestureTapAt(window->bounds().CenterPoint());
956 } 956 }
957 virtual void DeactivateWindowDirect(aura::Window* window) OVERRIDE { 957 virtual void DeactivateWindowDirect(aura::Window* window) OVERRIDE {
958 aura::Window* next_activatable = 958 aura::Window* next_activatable =
959 test_focus_rules()->GetNextActivatableWindow(window); 959 test_focus_rules()->GetNextActivatableWindow(window);
960 aura::test::EventGenerator generator(root_window(), next_activatable); 960 ui::test::EventGenerator generator(root_window(), next_activatable);
961 generator.GestureTapAt(window->bounds().CenterPoint()); 961 generator.GestureTapAt(window->bounds().CenterPoint());
962 } 962 }
963 virtual bool IsInputEvent() OVERRIDE { return true; } 963 virtual bool IsInputEvent() OVERRIDE { return true; }
964 964
965 DISALLOW_COPY_AND_ASSIGN(FocusControllerGestureEventTest); 965 DISALLOW_COPY_AND_ASSIGN(FocusControllerGestureEventTest);
966 }; 966 };
967 967
968 // Test base for tests where focus is implicitly set to a window as the result 968 // Test base for tests where focus is implicitly set to a window as the result
969 // of a disposition change to the focused window or the hierarchy that contains 969 // of a disposition change to the focused window or the hierarchy that contains
970 // it. 970 // it.
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
1276 FOCUS_CONTROLLER_TEST(FocusControllerApiTest, DontPassDeletedWindow); 1276 FOCUS_CONTROLLER_TEST(FocusControllerApiTest, DontPassDeletedWindow);
1277 1277
1278 // - Verifies that the focused text input client is cleard when the window focus 1278 // - Verifies that the focused text input client is cleard when the window focus
1279 // changes. 1279 // changes.
1280 ALL_FOCUS_TESTS(FocusedTextInputClient); 1280 ALL_FOCUS_TESTS(FocusedTextInputClient);
1281 1281
1282 // If a mouse event was handled, it should not activate a window. 1282 // If a mouse event was handled, it should not activate a window.
1283 FOCUS_CONTROLLER_TEST(FocusControllerMouseEventTest, IgnoreHandledEvent); 1283 FOCUS_CONTROLLER_TEST(FocusControllerMouseEventTest, IgnoreHandledEvent);
1284 1284
1285 } // namespace wm 1285 } // namespace wm
OLDNEW
« no previous file with comments | « ui/wm/core/compound_event_filter_unittest.cc ('k') | ui/wm/core/input_method_event_filter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698